From 77bf00a5994cc4cbbca57d70fb8e761a2ea2757f Mon Sep 17 00:00:00 2001 From: LogicParrot Date: Thu, 24 Mar 2016 18:18:14 +0200 Subject: Out of world blocks are now always considered air blocks --- src/ChunkData.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'src/ChunkData.cpp') diff --git a/src/ChunkData.cpp b/src/ChunkData.cpp index 88cb9fdd8..ab29e4ed3 100644 --- a/src/ChunkData.cpp +++ b/src/ChunkData.cpp @@ -150,9 +150,14 @@ cChunkData::~cChunkData() BLOCKTYPE cChunkData::GetBlock(int a_X, int a_Y, int a_Z) const { - ASSERT((a_X >= 0) && (a_X < cChunkDef::Width)); - ASSERT((a_Y >= 0) && (a_Y < cChunkDef::Height)); - ASSERT((a_Z >= 0) && (a_Z < cChunkDef::Width)); + if ( + (a_X < 0) || (a_X >= cChunkDef::Width) || + (a_Y < 0) || (a_Y >= cChunkDef::Height) || + (a_Z < 0) || (a_Z >= cChunkDef::Width) + ) + { + return E_BLOCK_AIR; // Coordinates are outside outside the world, so this must be an air block + } int Section = a_Y / SectionHeight; if (m_Sections[Section] != nullptr) { @@ -222,7 +227,7 @@ NIBBLETYPE cChunkData::GetMeta(int a_RelX, int a_RelY, int a_RelZ) const return 0; } } - ASSERT(!"cChunkData::GetMeta(): coords out of chunk range!"); + // Coordinates are outside outside the world, so it must be an air block with a blank meta return 0; } -- cgit v1.2.3