From 8bb869958cb88a2752eee0c0084bda388bd88cbf Mon Sep 17 00:00:00 2001 From: darkrose Date: Sat, 27 Sep 2014 06:31:48 +1000 Subject: [PATCH] fix bug in searchNear* --- src/environment.cpp | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/environment.cpp b/src/environment.cpp index e51a75d..3556fca 100644 --- a/src/environment.cpp +++ b/src/environment.cpp @@ -748,12 +748,10 @@ bool ServerEnvironment::searchNear(v3s16 pos, v3s16 radius_min, v3s16 radius_max p = pos+v3s16(x,y,z); MapNode n_test; bp = getNodeBlockPos(p); - if (p == blockpos) { + if (bp == blockpos) { n_test = block->getNodeNoCheck(p-relpos); }else{ - MapBlock *b = m_map->getBlockNoCreateNoEx(bp); - if (b) - n_test = b->getNodeNoEx(p-(bp*MAP_BLOCKSIZE)); + n_test = m_map->getNodeNoEx(p); } for (std::vector::iterator i=c.begin(); i != c.end(); i++) { if (n_test.getContent() == *i) { @@ -785,12 +783,10 @@ bool ServerEnvironment::searchNearInv(v3s16 pos, v3s16 radius_min, v3s16 radius_ p = pos+v3s16(x,y,z); MapNode n_test; bp = getNodeBlockPos(p); - if (p == blockpos) { + if (bp == blockpos) { n_test = block->getNodeNoCheck(p-relpos); }else{ - MapBlock *b = m_map->getBlockNoCreateNoEx(bp); - if (b) - n_test = b->getNodeNoEx(p-(bp*MAP_BLOCKSIZE)); + n_test = m_map->getNodeNoEx(p); } bool s = false; for (std::vector::iterator i=c.begin(); i != c.end(); i++) {