diff options
author | peterbell10 <peterbell10@live.co.uk> | 2017-06-03 21:17:53 +0200 |
---|---|---|
committer | Mattes D <github@xoft.cz> | 2017-06-03 21:17:53 +0200 |
commit | 36be4a89f8bedca7a7b369289562cf71041a3db6 (patch) | |
tree | fab8f27bb0c0abdb2e16508c6180c38988ac6af1 /src/BlockEntities/ChestEntity.cpp | |
parent | Fixed exp orb (#3744) (diff) | |
download | cuberite-36be4a89f8bedca7a7b369289562cf71041a3db6.tar cuberite-36be4a89f8bedca7a7b369289562cf71041a3db6.tar.gz cuberite-36be4a89f8bedca7a7b369289562cf71041a3db6.tar.bz2 cuberite-36be4a89f8bedca7a7b369289562cf71041a3db6.tar.lz cuberite-36be4a89f8bedca7a7b369289562cf71041a3db6.tar.xz cuberite-36be4a89f8bedca7a7b369289562cf71041a3db6.tar.zst cuberite-36be4a89f8bedca7a7b369289562cf71041a3db6.zip |
Diffstat (limited to '')
-rw-r--r-- | src/BlockEntities/ChestEntity.cpp | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/BlockEntities/ChestEntity.cpp b/src/BlockEntities/ChestEntity.cpp index 3fcf1b386..a47593108 100644 --- a/src/BlockEntities/ChestEntity.cpp +++ b/src/BlockEntities/ChestEntity.cpp @@ -127,21 +127,28 @@ void cChestEntity::ScanNeighbours() { public: cChestEntity * m_Neighbour; + BLOCKTYPE m_ChestType; - cFindNeighbour() : - m_Neighbour(nullptr) + cFindNeighbour(BLOCKTYPE a_ChestType) : + m_Neighbour(nullptr), + m_ChestType(a_ChestType) { } virtual bool Item(cChestEntity * a_Chest) override { + if (a_Chest->GetBlockType() != m_ChestType) + { + // Neighboring block is not the same type of chest + return true; + } m_Neighbour = a_Chest; return false; } }; - // Scan horizontally adjacent blocks for any neighbouring chest: - cFindNeighbour FindNeighbour; + // Scan horizontally adjacent blocks for any neighbouring chest of the same type: + cFindNeighbour FindNeighbour(m_BlockType); if ( m_World->DoWithChestAt(m_PosX - 1, m_PosY, m_PosZ, FindNeighbour) || m_World->DoWithChestAt(m_PosX + 1, m_PosY, m_PosZ, FindNeighbour) || |