summaryrefslogtreecommitdiffstats
path: root/src/BlockInfo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/BlockInfo.cpp')
-rw-r--r--src/BlockInfo.cpp25
1 files changed, 18 insertions, 7 deletions
diff --git a/src/BlockInfo.cpp b/src/BlockInfo.cpp
index 3021c5efe..c2f248a26 100644
--- a/src/BlockInfo.cpp
+++ b/src/BlockInfo.cpp
@@ -464,6 +464,16 @@ cBlockInfo::cBlockInfoArray::cBlockInfoArray()
Info[E_BLOCK_YELLOW_SHULKER_BOX ].m_PistonBreakable = true;
+ /* Blocks that block rain or snow's passage:
+ * All solid blocks are also rain blockers, and they are set automatically
+ * at the end of this function.
+ */
+ Info[E_BLOCK_SIGN_POST ].m_IsRainBlocker = true;
+ Info[E_BLOCK_WALLSIGN ].m_IsRainBlocker = true;
+ Info[E_BLOCK_WALL_BANNER ].m_IsRainBlocker = true;
+ Info[E_BLOCK_STANDING_BANNER ].m_IsRainBlocker = true;
+
+
// Blocks that can be snowed over:
Info[E_BLOCK_BEDROCK ].m_IsSnowable = true;
Info[E_BLOCK_BLOCK_OF_COAL ].m_IsSnowable = true;
@@ -554,8 +564,8 @@ cBlockInfo::cBlockInfoArray::cBlockInfoArray()
Info[E_BLOCK_BIG_FLOWER ].m_IsSolid = false;
Info[E_BLOCK_BROWN_MUSHROOM ].m_IsSolid = false;
Info[E_BLOCK_CARROTS ].m_IsSolid = false;
- Info[E_BLOCK_CHORUS_PLANT ].m_IsSolid = false;
Info[E_BLOCK_CHORUS_FLOWER ].m_IsSolid = false;
+ Info[E_BLOCK_CHORUS_PLANT ].m_IsSolid = false;
Info[E_BLOCK_COBWEB ].m_IsSolid = false;
Info[E_BLOCK_CROPS ].m_IsSolid = false;
Info[E_BLOCK_DANDELION ].m_IsSolid = false;
@@ -575,17 +585,17 @@ cBlockInfo::cBlockInfoArray::cBlockInfoArray()
Info[E_BLOCK_POTATOES ].m_IsSolid = false;
Info[E_BLOCK_POWERED_RAIL ].m_IsSolid = false;
Info[E_BLOCK_RAIL ].m_IsSolid = false;
+ Info[E_BLOCK_RED_MUSHROOM ].m_IsSolid = false;
Info[E_BLOCK_REDSTONE_TORCH_OFF ].m_IsSolid = false;
Info[E_BLOCK_REDSTONE_TORCH_ON ].m_IsSolid = false;
Info[E_BLOCK_REDSTONE_WIRE ].m_IsSolid = false;
- Info[E_BLOCK_RED_MUSHROOM ].m_IsSolid = false;
Info[E_BLOCK_REEDS ].m_IsSolid = false;
Info[E_BLOCK_SAPLING ].m_IsSolid = false;
Info[E_BLOCK_SIGN_POST ].m_IsSolid = false;
Info[E_BLOCK_SNOW ].m_IsSolid = false;
+ Info[E_BLOCK_STANDING_BANNER ].m_IsSolid = false;
Info[E_BLOCK_STATIONARY_LAVA ].m_IsSolid = false;
Info[E_BLOCK_STATIONARY_WATER ].m_IsSolid = false;
- Info[E_BLOCK_STANDING_BANNER ].m_IsSolid = false;
Info[E_BLOCK_STONE_BUTTON ].m_IsSolid = false;
Info[E_BLOCK_STONE_PRESSURE_PLATE ].m_IsSolid = false;
Info[E_BLOCK_TALL_GRASS ].m_IsSolid = false;
@@ -974,8 +984,9 @@ cBlockInfo::cBlockInfoArray::cBlockInfoArray()
Info[E_BLOCK_RED_SHULKER_BOX ].m_Hardness = 0.2f;
Info[E_BLOCK_BLACK_SHULKER_BOX ].m_Hardness = 0.2f;
Info[E_BLOCK_STRUCTURE_BLOCK ].m_Hardness = -1.0f;
-}
-
-
-
+ for (size_t i = 0; i < Info.size(); ++i)
+ {
+ Info[i].m_IsRainBlocker |= Info[i].m_IsSolid;
+ }
+}