diff options
-rw-r--r-- | src/Blocks/BlockIce.h | 3 | ||||
-rw-r--r-- | src/ClientHandle.cpp | 2 |
2 files changed, 2 insertions, 3 deletions
diff --git a/src/Blocks/BlockIce.h b/src/Blocks/BlockIce.h index aae190036..633b00e51 100644 --- a/src/Blocks/BlockIce.h +++ b/src/Blocks/BlockIce.h @@ -38,8 +38,7 @@ public: return; } - a_ChunkInterface.FastSetBlock(a_BlockX, a_BlockY, a_BlockZ, E_BLOCK_WATER, 0); - // This is called later than the real destroying of this ice block + a_ChunkInterface.SetBlock(a_BlockX, a_BlockY, a_BlockZ, E_BLOCK_WATER, 0); } } diff --git a/src/ClientHandle.cpp b/src/ClientHandle.cpp index 7dbf5a0a4..c44b8195b 100644 --- a/src/ClientHandle.cpp +++ b/src/ClientHandle.cpp @@ -1267,7 +1267,7 @@ void cClientHandle::HandleBlockDigFinished(int a_BlockX, int a_BlockY, int a_Blo BlockHandler(a_OldBlock)->OnDestroyedByPlayer(ChunkInterface, *World, m_Player, a_BlockX, a_BlockY, a_BlockZ); World->BroadcastSoundParticleEffect(EffectID::PARTICLE_SMOKE, a_BlockX, a_BlockY, a_BlockZ, a_OldBlock, this); // This call would remove the water, placed from the ice block handler - if (a_OldBlock != E_BLOCK_ICE) + if (!((a_OldBlock == E_BLOCK_ICE) && (ChunkInterface.GetBlock(a_BlockX, a_BlockY, a_BlockZ) == E_BLOCK_WATER))) { World->DigBlock(a_BlockX, a_BlockY, a_BlockZ); } |