summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--source/ClientHandle.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/source/ClientHandle.cpp b/source/ClientHandle.cpp
index efe4f9c9f..0f9958e98 100644
--- a/source/ClientHandle.cpp
+++ b/source/ClientHandle.cpp
@@ -619,8 +619,10 @@ void cClientHandle::HandleBlockDigStarted(int a_BlockX, int a_BlockY, int a_Bloc
m_LastDigBlockY = a_BlockY;
m_LastDigBlockZ = a_BlockZ;
- // In creative mode, digging is done immediately
- if (m_Player->GetGameMode() == eGameMode_Creative)
+ if (
+ (m_Player->GetGameMode() == eGameMode_Creative) || // In creative mode, digging is done immediately
+ g_BlockOneHitDig[a_OldBlock] // One-hit blocks get destroyed immediately, too
+ )
{
HandleBlockDigFinished(a_BlockX, a_BlockY, a_BlockZ, a_BlockFace, a_OldBlock, a_OldMeta);
return;