diff options
Diffstat (limited to 'src/map.h')
-rw-r--r-- | src/map.h | 29 |
1 files changed, 14 insertions, 15 deletions
@@ -157,23 +157,22 @@ public: v3s16 relpos = p - blockpos*MAP_BLOCKSIZE; blockref->setNodeNoCheck(relpos, n); } - - /*MapNode getNodeGenerate(v3s16 p) + + // Returns a CONTENT_IGNORE node if not found + MapNode getNodeNoEx(v3s16 p) { - v3s16 blockpos = getNodeBlockPos(p); - MapBlock * blockref = getBlock(blockpos); - v3s16 relpos = p - blockpos*MAP_BLOCKSIZE; - - return blockref->getNode(relpos); - }*/ + try{ + v3s16 blockpos = getNodeBlockPos(p); + MapBlock * blockref = getBlockNoCreate(blockpos); + v3s16 relpos = p - blockpos*MAP_BLOCKSIZE; - /*void setNodeGenerate(v3s16 p, MapNode & n) - { - v3s16 blockpos = getNodeBlockPos(p); - MapBlock * blockref = getBlock(blockpos); - v3s16 relpos = p - blockpos*MAP_BLOCKSIZE; - blockref->setNode(relpos, n); - }*/ + return blockref->getNodeNoCheck(relpos); + } + catch(InvalidPositionException &e) + { + return MapNode(CONTENT_IGNORE); + } + } void unspreadLight(enum LightBank bank, core::map<v3s16, u8> & from_nodes, |