diff options
Diffstat (limited to 'src/Chunk.cpp')
-rw-r--r-- | src/Chunk.cpp | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/src/Chunk.cpp b/src/Chunk.cpp index d354448ce..fb37ce3b3 100644 --- a/src/Chunk.cpp +++ b/src/Chunk.cpp @@ -1374,19 +1374,34 @@ void cChunk::QueueTickBlock(Vector3i a_RelPos) void cChunk::QueueTickBlockNeighbors(Vector3i a_RelPos) { - static const Vector3i neighborOfs[] = + // Contains our direct adjacents + // and one block above and below the laterals (for redstone components) + static const Vector3i Offsets[] = { + { 1, 1, 0}, { 1, 0, 0}, + { 1, -1, 0}, + + {-1, 1, 0}, {-1, 0, 0}, - { 0, 1, 0}, - { 0, -1, 0}, + {-1, -1, 0}, + + { 0, 1, 1}, { 0, 0, 1}, + { 0, -1, 1}, + + { 0, 1, -1}, { 0, 0, -1}, - } ; - for (const auto & ofs: neighborOfs) + { 0, -1, -1}, + + { 0, 1, 0}, + { 0, -1, 0}, + }; + + for (const auto & Offset : Offsets) { - UnboundedQueueTickBlock(a_RelPos + ofs); - } // for i - Coords[] + UnboundedQueueTickBlock(a_RelPos + Offset); + } } |