diff options
Diffstat (limited to 'source/Entities/Minecart.h')
-rw-r--r-- | source/Entities/Minecart.h | 169 |
1 files changed, 0 insertions, 169 deletions
diff --git a/source/Entities/Minecart.h b/source/Entities/Minecart.h deleted file mode 100644 index b1b48be4e..000000000 --- a/source/Entities/Minecart.h +++ /dev/null @@ -1,169 +0,0 @@ - -// Minecart.h - -// Declares the cMinecart class representing a minecart in the world - - - - - -#pragma once - -#include "Entity.h" - - - - - -inline bool IsBlockRail(BLOCKTYPE a_BlockType) - { - return ( - (a_BlockType == E_BLOCK_RAIL) || - (a_BlockType == E_BLOCK_ACTIVATOR_RAIL) || - (a_BlockType == E_BLOCK_DETECTOR_RAIL) || - (a_BlockType == E_BLOCK_POWERED_RAIL) - ) ; - } - - - - - -class cMinecart : - public cEntity -{ - typedef cEntity super; - -public: - CLASS_PROTODEF(cMinecart); - - enum ePayload - { - mpNone, // Empty minecart, ridable by player or mobs - mpChest, // Minecart-with-chest, can store a grid of 3*8 items - mpFurnace, // Minecart-with-furnace, can be powered - mpTNT, // Minecart-with-TNT, can be blown up with activator rail - mpHopper, // Minecart-with-hopper, can be hopper - // TODO: Spawner minecarts, (and possibly any block in a minecart with NBT editing) - } ; - - // cEntity overrides: - virtual void SpawnOn(cClientHandle & a_ClientHandle) override; - virtual void HandlePhysics(float a_Dt, cChunk & a_Chunk) override; - virtual void DoTakeDamage(TakeDamageInfo & TDI) override; - - int LastDamage(void) const { return m_LastDamage; } - void HandleRailPhysics(float a_Dt, cChunk & a_Chunk); - ePayload GetPayload(void) const { return m_Payload; } - -protected: - ePayload m_Payload; - - cMinecart(ePayload a_Payload, double a_X, double a_Y, double a_Z); - - int m_LastDamage; - -} ; - - - - - -class cEmptyMinecart : - public cMinecart -{ - typedef cMinecart super; - -public: - CLASS_PROTODEF(cEmptyMinecart); - - cEmptyMinecart(double a_X, double a_Y, double a_Z); - - // cEntity overrides: - virtual void OnRightClicked(cPlayer & a_Player) override; -} ; - - - - - -class cMinecartWithChest : - public cMinecart -{ - typedef cMinecart super; - -public: - CLASS_PROTODEF(cMinecartWithChest); - - /// Number of item slots in the chest - static const int NumSlots = 9 * 3; - - cMinecartWithChest(double a_X, double a_Y, double a_Z); - - const cItem & GetSlot(int a_Idx) const { return m_Items[a_Idx]; } - cItem & GetSlot(int a_Idx) { return m_Items[a_Idx]; } - - void SetSlot(int a_Idx, const cItem & a_Item); - -protected: - - /// The chest contents: - cItem m_Items[NumSlots]; - - // cEntity overrides: - virtual void OnRightClicked(cPlayer & a_Player) override; -} ; - - - - - -class cMinecartWithFurnace : - public cMinecart -{ - typedef cMinecart super; - -public: - CLASS_PROTODEF(cMinecartWithFurnace); - - cMinecartWithFurnace(double a_X, double a_Y, double a_Z); - - // cEntity overrides: - virtual void OnRightClicked(cPlayer & a_Player) override; - bool IsFueled (void) const { return m_IsFueled; } - -private: - - bool m_IsFueled; - -} ; - - - - - -class cMinecartWithTNT : - public cMinecart -{ - typedef cMinecart super; - -public: - CLASS_PROTODEF(cMinecartWithTNT); - - cMinecartWithTNT(double a_X, double a_Y, double a_Z); -} ; - - - - - -class cMinecartWithHopper : - public cMinecart -{ - typedef cMinecart super; - -public: - CLASS_PROTODEF(cMinecartWithHopper); - - cMinecartWithHopper(double a_X, double a_Y, double a_Z); -} ;
\ No newline at end of file |