summaryrefslogtreecommitdiffstats
path: root/src/Mobs/Monster.cpp
diff options
context:
space:
mode:
authorMattes D <github@xoft.cz>2014-11-24 21:56:25 +0100
committerMattes D <github@xoft.cz>2014-11-24 21:56:25 +0100
commit9f4562289e4e0dfddd590f39e9f008ed8bf6da4d (patch)
tree758fac8b34ebf688986f1000cfa15a79bbebedab /src/Mobs/Monster.cpp
parentMerge pull request #1611 from mc-server/SpawnPrepare (diff)
parentAdded TwoHeights shape generator. (diff)
downloadcuberite-9f4562289e4e0dfddd590f39e9f008ed8bf6da4d.tar
cuberite-9f4562289e4e0dfddd590f39e9f008ed8bf6da4d.tar.gz
cuberite-9f4562289e4e0dfddd590f39e9f008ed8bf6da4d.tar.bz2
cuberite-9f4562289e4e0dfddd590f39e9f008ed8bf6da4d.tar.lz
cuberite-9f4562289e4e0dfddd590f39e9f008ed8bf6da4d.tar.xz
cuberite-9f4562289e4e0dfddd590f39e9f008ed8bf6da4d.tar.zst
cuberite-9f4562289e4e0dfddd590f39e9f008ed8bf6da4d.zip
Diffstat (limited to 'src/Mobs/Monster.cpp')
-rw-r--r--src/Mobs/Monster.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/Mobs/Monster.cpp b/src/Mobs/Monster.cpp
index 23b4d9f45..5319bdf91 100644
--- a/src/Mobs/Monster.cpp
+++ b/src/Mobs/Monster.cpp
@@ -160,7 +160,7 @@ void cMonster::TickPathFinding()
BLOCKTYPE BlockAtYP = m_World->GetBlock(gCrossCoords[i].x + PosX, PosY + 1, gCrossCoords[i].z + PosZ);
BLOCKTYPE BlockAtYPP = m_World->GetBlock(gCrossCoords[i].x + PosX, PosY + 2, gCrossCoords[i].z + PosZ);
int LowestY = FindFirstNonAirBlockPosition(gCrossCoords[i].x + PosX, gCrossCoords[i].z + PosZ);
- BLOCKTYPE BlockAtLowestY = m_World->GetBlock(gCrossCoords[i].x + PosX, LowestY, gCrossCoords[i].z + PosZ);
+ BLOCKTYPE BlockAtLowestY = (LowestY >= cChunkDef::Height) ? E_BLOCK_AIR : m_World->GetBlock(gCrossCoords[i].x + PosX, LowestY, gCrossCoords[i].z + PosZ);
if (
(!cBlockInfo::IsSolid(BlockAtY)) &&
@@ -453,7 +453,7 @@ int cMonster::FindFirstNonAirBlockPosition(double a_PosX, double a_PosZ)
}
else
{
- while (cBlockInfo::IsSolid(m_World->GetBlock((int)floor(a_PosX), PosY, (int)floor(a_PosZ))) && (PosY < cChunkDef::Height))
+ while ((PosY < cChunkDef::Height) && cBlockInfo::IsSolid(m_World->GetBlock((int)floor(a_PosX), PosY, (int)floor(a_PosZ))))
{
PosY++;
}