diff options
Diffstat (limited to 'source/ChestEntity.h')
-rw-r--r-- | source/ChestEntity.h | 43 |
1 files changed, 17 insertions, 26 deletions
diff --git a/source/ChestEntity.h b/source/ChestEntity.h index 69e86b86c..60fd7589a 100644 --- a/source/ChestEntity.h +++ b/source/ChestEntity.h @@ -1,9 +1,8 @@ #pragma once -#include "BlockEntity.h" +#include "BlockEntityWithItems.h" #include "UI/WindowOwner.h" -#include "ItemGrid.h" @@ -24,47 +23,39 @@ class cNBTData; // tolua_begin class cChestEntity : - public cBlockEntity, + public cBlockEntityWithItems, public cBlockEntityWindowOwner { - typedef cBlockEntity super; + typedef cBlockEntityWithItems super; public: - cChestEntity(int a_BlockX, int a_BlockY, int a_BlockZ); // Used while generating + enum { + ContentsHeight = 3, + ContentsWidth = 9, + } ; + + + /// Constructor used while generating a chunk; sets m_World to NULL + cChestEntity(int a_BlockX, int a_BlockY, int a_BlockZ); + // tolua_end + /// Constructor used for normal operation cChestEntity(int a_BlockX, int a_BlockY, int a_BlockZ, cWorld * a_World); virtual ~cChestEntity(); - virtual void Destroy(); - static const char * GetClassStatic() { return "cChestEntity"; } + static const char * GetClassStatic(void) { return "cChestEntity"; } - // tolua_begin - const cItem & GetSlot(int a_Slot) const { return m_Contents.GetSlot(a_Slot); } - void SetSlot(int a_Slot, const cItem & a_Item ) { m_Contents.SetSlot(a_Slot, a_Item); } - // tolua_end - - bool LoadFromJson( const Json::Value& a_Value ); + bool LoadFromJson(const Json::Value& a_Value); // cBlockEntity overrides: - virtual void SaveToJson(Json::Value& a_Value ) override; + virtual void SaveToJson(Json::Value & a_Value ) override; virtual void SendTo(cClientHandle & a_Client) override; - virtual void UsedBy(cPlayer * a_Player); // tolua_export + virtual void UsedBy(cPlayer * a_Player); /// Opens a new chest window for this chests. Scans for neighbors to open a double chest window, if appropriate. void OpenNewWindow(void); - - const cItemGrid & GetContents(void) const { return m_Contents; } - - cItemGrid & GetContents(void) { return m_Contents; } // tolua_export - - static const int c_ChestWidth = 9; - static const int c_ChestHeight = 3; - -private: - - cItemGrid m_Contents; } ; // tolua_export |