diff options
Diffstat (limited to 'src/NetherPortalScanner.cpp')
-rw-r--r-- | src/NetherPortalScanner.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/NetherPortalScanner.cpp b/src/NetherPortalScanner.cpp index 7bc2d4b7e..cebf09ceb 100644 --- a/src/NetherPortalScanner.cpp +++ b/src/NetherPortalScanner.cpp @@ -49,6 +49,12 @@ void cNetherPortalScanner::OnChunkAvailable(int a_ChunkX, int a_ChunkZ) if (blocks[i] == E_BLOCK_NETHER_PORTAL) { Vector3i Coordinate = cChunkDef::IndexToCoordinate(i); + if (Coordinate.y >= m_MaxY) + { + // This is above the map, don't consider it. + continue; + } + Vector3d PortalLoc = Vector3d(Coordinate.x + a_ChunkX * cChunkDef::Width, Coordinate.y, Coordinate.z + a_ChunkZ * cChunkDef::Width); if (!m_FoundPortal) { @@ -284,7 +290,7 @@ void cNetherPortalScanner::OnDisabled(void) } LOGD("Placing player at {%f, %f, %f}", Position.x, Position.y, Position.z); - m_Entity->ScheduleMoveToWorld(m_World, Position); + m_Entity->ScheduleMoveToWorld(m_World, Position, true); delete this; } |