summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/Defines.h11
-rw-r--r--src/World.cpp2
2 files changed, 10 insertions, 3 deletions
diff --git a/src/Defines.h b/src/Defines.h
index 3a26f4be6..b3dbcc93e 100644
--- a/src/Defines.h
+++ b/src/Defines.h
@@ -254,9 +254,16 @@ inline bool IsValidItem(int a_ItemType)
-inline bool IsBlockWater(BLOCKTYPE a_BlockType)
+inline bool IsBlockWater(BLOCKTYPE a_BlockType, bool a_IncludeFrozenWater = false)
{
- return ((a_BlockType == E_BLOCK_WATER) || (a_BlockType == E_BLOCK_STATIONARY_WATER));
+ if (a_IncludeFrozenWater)
+ {
+ return ((a_BlockType == E_BLOCK_WATER) || (a_BlockType == E_BLOCK_STATIONARY_WATER) || (a_BlockType == E_BLOCK_ICE));
+ }
+ else
+ {
+ return ((a_BlockType == E_BLOCK_WATER) || (a_BlockType == E_BLOCK_STATIONARY_WATER));
+ }
}
diff --git a/src/World.cpp b/src/World.cpp
index f2981bf84..2571a6782 100644
--- a/src/World.cpp
+++ b/src/World.cpp
@@ -635,7 +635,7 @@ void cWorld::GenerateRandomSpawn(void)
{
LOGD("Generating random spawnpoint...");
- while (IsBlockWater(GetBlock((int)m_SpawnX, GetHeight((int)m_SpawnX, (int)m_SpawnZ), (int)m_SpawnZ)))
+ while (IsBlockWater(GetBlock((int)m_SpawnX, GetHeight((int)m_SpawnX, (int)m_SpawnZ), (int)m_SpawnZ), true))
{
if ((GetTickRandomNumber(4) % 2) == 0) // Randomise whether to increment X or Z coords
{