summaryrefslogtreecommitdiffstats
path: root/src/Entities/Minecart.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Entities/Minecart.h')
-rw-r--r--src/Entities/Minecart.h28
1 files changed, 20 insertions, 8 deletions
diff --git a/src/Entities/Minecart.h b/src/Entities/Minecart.h
index ad3b3d40d..73011b7b5 100644
--- a/src/Entities/Minecart.h
+++ b/src/Entities/Minecart.h
@@ -40,12 +40,12 @@ public:
virtual void SpawnOn(cClientHandle & a_ClientHandle) override;
virtual void HandlePhysics(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override;
virtual bool DoTakeDamage(TakeDamageInfo & TDI) override;
- virtual void Destroyed() override;
+ virtual void KilledBy(TakeDamageInfo & a_TDI) override;
+ virtual void OnRemoveFromWorld(cWorld & a_World) override;
int LastDamage(void) const { return m_LastDamage; }
ePayload GetPayload(void) const { return m_Payload; }
-
protected:
ePayload m_Payload;
@@ -99,7 +99,7 @@ protected:
-class cRideableMinecart :
+class cRideableMinecart final :
public cMinecart
{
using Super = cMinecart;
@@ -114,6 +114,7 @@ public:
int GetBlockHeight(void) const {return m_Height;}
// cEntity overrides:
+ virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = nullptr) override;
virtual void OnRightClicked(cPlayer & a_Player) override;
protected:
@@ -127,7 +128,7 @@ protected:
-class cMinecartWithChest :
+class cMinecartWithChest final :
public cMinecart,
public cItemGrid::cListener,
public cEntityWindowOwner
@@ -154,7 +155,6 @@ protected:
cItemGrid m_Contents;
void OpenNewWindow(void);
- virtual void Destroyed() override;
// cItemGrid::cListener overrides:
virtual void OnSlotChanged(cItemGrid * a_Grid, int a_SlotNum) override
@@ -173,6 +173,8 @@ protected:
}
// cEntity overrides:
+ virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = nullptr) override;
+ virtual void OnRemoveFromWorld(cWorld & a_World) override;
virtual void OnRightClicked(cPlayer & a_Player) override;
} ;
@@ -180,7 +182,7 @@ protected:
-class cMinecartWithFurnace :
+class cMinecartWithFurnace final :
public cMinecart
{
using Super = cMinecart;
@@ -192,6 +194,7 @@ public:
cMinecartWithFurnace(Vector3d a_Pos);
// cEntity overrides:
+ virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = nullptr) override;
virtual void OnRightClicked(cPlayer & a_Player) override;
virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override;
@@ -213,22 +216,27 @@ private:
-class cMinecartWithTNT :
+class cMinecartWithTNT final :
public cMinecart
{
using Super = cMinecart;
public:
+
CLASS_PROTODEF(cMinecartWithTNT)
cMinecartWithTNT(Vector3d a_Pos);
+
+private:
+
+ virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = nullptr) override;
} ;
-class cMinecartWithHopper :
+class cMinecartWithHopper final :
public cMinecart
{
using Super = cMinecart;
@@ -238,4 +246,8 @@ public:
CLASS_PROTODEF(cMinecartWithHopper)
cMinecartWithHopper(Vector3d a_Pos);
+
+private:
+
+ virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = nullptr) override;
} ;