diff options
Diffstat (limited to 'src/BlockEntities/ChestEntity.h')
-rw-r--r-- | src/BlockEntities/ChestEntity.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/BlockEntities/ChestEntity.h b/src/BlockEntities/ChestEntity.h index 645dbf4bc..6eb72fc77 100644 --- a/src/BlockEntities/ChestEntity.h +++ b/src/BlockEntities/ChestEntity.h @@ -53,6 +53,24 @@ private: /** Number of players who currently have this chest open */ int m_NumActivePlayers; + + /** cItemGrid::cListener overrides: */ + virtual void OnSlotChanged(cItemGrid * a_Grid, int a_SlotNum) override + { + UNUSED(a_SlotNum); + ASSERT(a_Grid == &m_Contents); + if (m_World != nullptr) + { + if (GetWindow() != nullptr) + { + GetWindow()->BroadcastWholeWindow(); + } + + m_World->MarkChunkDirty(GetChunkX(), GetChunkZ()); + m_World->MarkRedstoneDirty(GetChunkX(), GetChunkZ()); + } + } + } ; // tolua_export |