summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorandrew <xdotftw@gmail.com>2014-03-07 19:49:40 +0100
committerandrew <xdotftw@gmail.com>2014-03-07 19:49:40 +0100
commitd86fc1af0640675c707330e671d69b23e27d20c1 (patch)
tree093335d06623b71b7d4577edadec4e401b031f79
parentFixed water/lava interaction (diff)
downloadcuberite-d86fc1af0640675c707330e671d69b23e27d20c1.tar
cuberite-d86fc1af0640675c707330e671d69b23e27d20c1.tar.gz
cuberite-d86fc1af0640675c707330e671d69b23e27d20c1.tar.bz2
cuberite-d86fc1af0640675c707330e671d69b23e27d20c1.tar.lz
cuberite-d86fc1af0640675c707330e671d69b23e27d20c1.tar.xz
cuberite-d86fc1af0640675c707330e671d69b23e27d20c1.tar.zst
cuberite-d86fc1af0640675c707330e671d69b23e27d20c1.zip
-rw-r--r--src/Simulator/FloodyFluidSimulator.cpp2
-rw-r--r--src/Simulator/FloodyFluidSimulator.h5
2 files changed, 6 insertions, 1 deletions
diff --git a/src/Simulator/FloodyFluidSimulator.cpp b/src/Simulator/FloodyFluidSimulator.cpp
index 48655afb3..03e94e791 100644
--- a/src/Simulator/FloodyFluidSimulator.cpp
+++ b/src/Simulator/FloodyFluidSimulator.cpp
@@ -64,8 +64,10 @@ void cFloodyFluidSimulator::SimulateBlock(cChunk * a_Chunk, int a_RelX, int a_Re
return;
}
+ // When in contact with water, lava should harden
if (HardenBlock(a_Chunk, a_RelX, a_RelY, a_RelZ, MyBlock, MyMeta))
{
+ // Block was changed, bail out
return;
}
diff --git a/src/Simulator/FloodyFluidSimulator.h b/src/Simulator/FloodyFluidSimulator.h
index c0ccd422f..632de3bb2 100644
--- a/src/Simulator/FloodyFluidSimulator.h
+++ b/src/Simulator/FloodyFluidSimulator.h
@@ -47,7 +47,10 @@ protected:
/** Checks if there are enough neighbors to create a source at the coords specified; turns into source and returns true if so. */
bool CheckNeighborsForSource(cChunk * a_Chunk, int a_RelX, int a_RelY, int a_RelZ);
- /** Check if block should harden (Water/Lava interaction) */
+ /** Checks if the specified block should harden (Water/Lava interaction) and if so, converts it to a suitable block.
+ *
+ * Returns whether the block was changed or not.
+ */
bool HardenBlock(cChunk * a_Chunk, int a_RelX, int a_RelY, int a_RelZ, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta);
/** Spread water to neighbors.