summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/Blocks/BlockDirt.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/Blocks/BlockDirt.h b/src/Blocks/BlockDirt.h
index a06d9d030..33325d53a 100644
--- a/src/Blocks/BlockDirt.h
+++ b/src/Blocks/BlockDirt.h
@@ -51,8 +51,10 @@ public:
{
BLOCKTYPE above = a_Chunk.GetBlock(a_RelX, a_RelY + 1, a_RelZ);
- // Grass turns back to dirt when the block above it is not transparent or water
- if (!cBlockInfo::IsTransparent(above) || IsBlockWater(above))
+ // Grass turns back to dirt when the block above it is not transparent or water.
+ // It does not turn to dirt when a snow layer is above.
+ if ((above != E_BLOCK_SNOW) &&
+ (!cBlockInfo::IsTransparent(above) || IsBlockWater(above)))
{
a_Chunk.FastSetBlock(a_RelX, a_RelY, a_RelZ, E_BLOCK_DIRT, E_META_DIRT_NORMAL);
return;