diff options
Diffstat (limited to 'source/BlockEntities')
-rw-r--r-- | source/BlockEntities/ChestEntity.cpp | 13 | ||||
-rw-r--r-- | source/BlockEntities/ChestEntity.h | 8 |
2 files changed, 13 insertions, 8 deletions
diff --git a/source/BlockEntities/ChestEntity.cpp b/source/BlockEntities/ChestEntity.cpp index cd2b15e2b..3e75d5100 100644 --- a/source/BlockEntities/ChestEntity.cpp +++ b/source/BlockEntities/ChestEntity.cpp @@ -101,15 +101,20 @@ void cChestEntity::SendTo(cClientHandle & a_Client) void cChestEntity::UsedBy(cPlayer * a_Player) { - if (GetWindow() == NULL) + // If the window is not created, open it anew: + cWindow * Window = GetWindow(); + if (Window == NULL) { OpenNewWindow(); + Window = GetWindow(); } - if (GetWindow()) + + // Open the window for the player: + if (Window != NULL) { - if( a_Player->GetWindow() != GetWindow() ) + if (a_Player->GetWindow() != Window) { - a_Player->OpenWindow( GetWindow() ); + a_Player->OpenWindow(Window); } } diff --git a/source/BlockEntities/ChestEntity.h b/source/BlockEntities/ChestEntity.h index 86cb618d5..c6676894f 100644 --- a/source/BlockEntities/ChestEntity.h +++ b/source/BlockEntities/ChestEntity.h @@ -47,14 +47,14 @@ public: static const char * GetClassStatic(void) { return "cChestEntity"; } - 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); + virtual void UsedBy(cPlayer * a_Player) override; - /// Opens a new chest window for this chests. Scans for neighbors to open a double chest window, if appropriate. + /// Opens a new chest window for this chest. Scans for neighbors to open a double chest window, if appropriate. void OpenNewWindow(void); } ; // tolua_export |