summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Chunk.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/Chunk.cpp b/src/Chunk.cpp
index 6bd68459c..fbd0a5846 100644
--- a/src/Chunk.cpp
+++ b/src/Chunk.cpp
@@ -1587,11 +1587,10 @@ void cChunk::FastSetBlock(int a_RelX, int a_RelY, int a_RelZ, BLOCKTYPE a_BlockT
}
m_BlockTypes[index] = a_BlockType;
- // The client doesn't need to distinguish between stationary and nonstationary fluids:
- if (
- a_SendToClients &&
- ((OldBlockMeta != a_BlockMeta) || // Different meta always gets sent to the client
- !(
+ if ( // Queue block to be sent only if ...
+ a_SendToClients && // ... we are told to do so AND ...
+ ((OldBlockMeta != a_BlockMeta) || // ... the meta value is different OR ...
+ !( // ... the old and new blocktypes AREN'T liquids (because client doesn't need to distinguish betwixt them); see below for specifics:
((OldBlockType == E_BLOCK_STATIONARY_WATER) && (a_BlockType == E_BLOCK_WATER)) || // Replacing stationary water with water
((OldBlockType == E_BLOCK_WATER) && (a_BlockType == E_BLOCK_STATIONARY_WATER)) || // Replacing water with stationary water
((OldBlockType == E_BLOCK_STATIONARY_LAVA) && (a_BlockType == E_BLOCK_LAVA)) || // Replacing stationary water with water