diff options
Diffstat (limited to 'src/Simulator')
-rw-r--r-- | src/Simulator/FloodyFluidSimulator.cpp | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/Simulator/FloodyFluidSimulator.cpp b/src/Simulator/FloodyFluidSimulator.cpp index 5e0f88ab6..1d638737e 100644 --- a/src/Simulator/FloodyFluidSimulator.cpp +++ b/src/Simulator/FloodyFluidSimulator.cpp @@ -84,7 +84,7 @@ void cFloodyFluidSimulator::SimulateBlock(cChunk * a_Chunk, int a_RelX, int a_Re return; } } - + // New meta for the spreading to neighbors: // If this is a source block or was falling, the new meta is just the falloff // Otherwise it is the current meta plus falloff (may be larger than max height, will be checked later) @@ -104,6 +104,11 @@ void cFloodyFluidSimulator::SimulateBlock(cChunk * a_Chunk, int a_RelX, int a_Re SpreadFurther = false; } } + // Spread to the neighbors: + if (SpreadFurther && (NewMeta < 8)) + { + SpreadXZ(a_Chunk, a_RelX, a_RelY, a_RelZ, NewMeta); + } // If source creation is on, check for it here: else if ( (m_NumNeighborsForSource > 0) && // Source creation is on @@ -117,15 +122,12 @@ void cFloodyFluidSimulator::SimulateBlock(cChunk * a_Chunk, int a_RelX, int a_Re return; } - else if (SpreadFurther && (NewMeta < 8)) - { - // Spread to the neighbors: - SpreadXZ(a_Chunk, a_RelX, a_RelY, a_RelZ, NewMeta); - } + } - + + // Mark as processed: a_Chunk->FastSetBlock(a_RelX, a_RelY, a_RelZ, m_StationaryFluidBlock, MyMeta); } |