diff options
Diffstat (limited to 'src/Entities/ProjectileEntity.h')
-rw-r--r-- | src/Entities/ProjectileEntity.h | 40 |
1 files changed, 18 insertions, 22 deletions
diff --git a/src/Entities/ProjectileEntity.h b/src/Entities/ProjectileEntity.h index 7ee87f93a..b354c7cfc 100644 --- a/src/Entities/ProjectileEntity.h +++ b/src/Entities/ProjectileEntity.h @@ -21,7 +21,7 @@ class cProjectileEntity : public cEntity { typedef cEntity super; - + public: /** The kind of the projectile. The numbers correspond to the network type ID used for spawning them in the protocol. */ enum eKind @@ -38,26 +38,22 @@ public: pkWitherSkull = 66, pkFishingFloat = 90, } ; - + // tolua_end - + CLASS_PROTODEF(cProjectileEntity) cProjectileEntity(eKind a_Kind, cEntity * a_Creator, double a_X, double a_Y, double a_Z, double a_Width, double a_Height); cProjectileEntity(eKind a_Kind, cEntity * a_Creator, const Vector3d & a_Pos, const Vector3d & a_Speed, double a_Width, double a_Height); - + static cProjectileEntity * Create(eKind a_Kind, cEntity * a_Creator, double a_X, double a_Y, double a_Z, const cItem * a_Item, const Vector3d * a_Speed = nullptr); - + /** Called by the physics blocktracer when the entity hits a solid block, the hit position and the face hit (BLOCK_FACE_) is given */ virtual void OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFace a_HitFace); - + /** Called by the physics blocktracer when the entity hits another entity */ - virtual void OnHitEntity(cEntity & a_EntityHit, const Vector3d & a_HitPos) - { - UNUSED(a_EntityHit); - UNUSED(a_HitPos); - } - + virtual void OnHitEntity(cEntity & a_EntityHit, const Vector3d & a_HitPos); + /** Called by Chunk when the projectile is eligible for player collection */ virtual void CollectedBy(cPlayer & a_Dest); @@ -65,7 +61,7 @@ public: /** Returns the kind of the projectile (fast class identification) */ eKind GetProjectileKind(void) const { return m_ProjectileKind; } - + /** Returns the unique ID of the entity who created this projectile May return an ID <0 */ @@ -75,18 +71,18 @@ public: Will be empty for non-player creators */ AString GetCreatorName(void) const { return m_CreatorData.m_Name; } - + /** Returns the string that is used as the entity type (class name) in MCA files */ AString GetMCAClassName(void) const; - + /** Returns true if the projectile has hit the ground and is stuck there */ bool IsInGround(void) const { return m_IsInGround; } - + // tolua_end - + /** Sets the internal InGround flag. To be used by MCA loader only! */ void SetIsInGround(bool a_IsInGround) { m_IsInGround = a_IsInGround; } - + protected: /** A structure that stores the Entity ID and Playername of the projectile's creator @@ -107,17 +103,17 @@ protected: /** The type of projectile I am */ eKind m_ProjectileKind; - + /** The structure for containing the entity ID and name who has created this projectile The ID and / or name may be nullptr (e.g. for dispensers / mobs). */ CreatorData m_CreatorData; - + /** True if the projectile has hit the ground and is stuck there */ bool m_IsInGround; - + // cEntity overrides: virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; virtual void HandlePhysics(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; virtual void SpawnOn(cClientHandle & a_Client) override; - + } ; // tolua_export |