summaryrefslogtreecommitdiffstats
path: root/src/Simulator/Simulator.cpp
diff options
context:
space:
mode:
authorTiger Wang <ziwei.tiger@outlook.com>2020-08-08 19:22:16 +0200
committerTiger Wang <ziwei.tiger@outlook.com>2020-08-08 19:22:16 +0200
commit40eba5244ddd7045a9c3539c5f46c9921301ed90 (patch)
tree9edf40e2e5033ad19ce8a0739668500e30de653e /src/Simulator/Simulator.cpp
parentconst-ify some Chunk functions (diff)
downloadcuberite-40eba5244ddd7045a9c3539c5f46c9921301ed90.tar
cuberite-40eba5244ddd7045a9c3539c5f46c9921301ed90.tar.gz
cuberite-40eba5244ddd7045a9c3539c5f46c9921301ed90.tar.bz2
cuberite-40eba5244ddd7045a9c3539c5f46c9921301ed90.tar.lz
cuberite-40eba5244ddd7045a9c3539c5f46c9921301ed90.tar.xz
cuberite-40eba5244ddd7045a9c3539c5f46c9921301ed90.tar.zst
cuberite-40eba5244ddd7045a9c3539c5f46c9921301ed90.zip
Diffstat (limited to 'src/Simulator/Simulator.cpp')
-rw-r--r--src/Simulator/Simulator.cpp84
1 files changed, 84 insertions, 0 deletions
diff --git a/src/Simulator/Simulator.cpp b/src/Simulator/Simulator.cpp
index e55b77f0f..6b39b81d5 100644
--- a/src/Simulator/Simulator.cpp
+++ b/src/Simulator/Simulator.cpp
@@ -10,6 +10,90 @@
+std::array<Vector3i, 5> cSimulator::GetLinkedOffsets(const Vector3i Offset)
+{
+ if (Offset.x == -1)
+ {
+ return
+ {
+ {
+ { -2, 0, 0 },
+ { -1, -1, 0 },
+ { -1, 1, 0 },
+ { -1, 0, -1 },
+ { -1, 0, 1 }
+ }
+ };
+ }
+ else if (Offset.x == 1)
+ {
+ return
+ {
+ {
+ { 2, 0, 0 },
+ { 1, -1, 0 },
+ { 1, 1, 0 },
+ { 1, 0, -1 },
+ { 1, 0, 1 }
+ }
+ };
+ }
+ else if (Offset.y == -1)
+ {
+ return
+ {
+ {
+ { 0, -2, 0 },
+ { -1, -1, 0 },
+ { 1, -1, 0 },
+ { 0, -1, -1 },
+ { 0, -1, 1 }
+ }
+ };
+ }
+ else if (Offset.y == 1)
+ {
+ return
+ {
+ {
+ { 0, 2, 0 },
+ { -1, 1, 0 },
+ { 1, 1, 0 },
+ { 0, 1, -1 },
+ { 0, 1, 1 }
+ }
+ };
+ }
+ else if (Offset.z == -1)
+ {
+ return
+ {
+ {
+ { 0, 0, -2 },
+ { -1, 0, -1 },
+ { 1, 0, -1 },
+ { 0, -1, -1 },
+ { 0, 1, -1 }
+ }
+ };
+ }
+
+ return
+ {
+ {
+ { 0, 0, 2 },
+ { -1, 0, 1 },
+ { 1, 0, 1 },
+ { 0, -1, 1 },
+ { 0, 1, 1 }
+ }
+ };
+}
+
+
+
+
+
void cSimulator::WakeUp(cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_Block)
{
ASSERT(a_Chunk.IsValid());