summaryrefslogtreecommitdiffstats
path: root/source/ChestEntity.h
diff options
context:
space:
mode:
Diffstat (limited to 'source/ChestEntity.h')
-rw-r--r--source/ChestEntity.h43
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