diff options
author | kwolekr <kwolekr@minetest.net> | 2015-01-15 16:20:05 -0500 |
---|---|---|
committer | kwolekr <kwolekr@minetest.net> | 2015-01-15 16:48:56 -0500 |
commit | 9736548720a96c9c7f739edb0435d9ba4ad80652 (patch) | |
tree | 3f92b63d017e9baac042ed3837bbdf040d40c73f /src/map.cpp | |
parent | 0330cec7ec55126c9cc441373cde1253bed895ee (diff) | |
download | hax-minetest-server-9736548720a96c9c7f739edb0435d9ba4ad80652.tar.gz hax-minetest-server-9736548720a96c9c7f739edb0435d9ba4ad80652.zip |
Add ability to delete MapBlocks from map
Also add a Lua API and chatcommand for this
Diffstat (limited to 'src/map.cpp')
-rw-r--r-- | src/map.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/map.cpp b/src/map.cpp index 48585a170..fdc35558d 100644 --- a/src/map.cpp +++ b/src/map.cpp @@ -3588,6 +3588,23 @@ MapBlock* ServerMap::loadBlock(v3s16 blockpos) return getBlockNoCreateNoEx(blockpos); } +bool ServerMap::deleteBlock(v3s16 blockpos) +{ + if (!dbase->deleteBlock(blockpos)) + return false; + + MapBlock *block = getBlockNoCreateNoEx(blockpos); + if (block) { + v2s16 p2d(blockpos.X, blockpos.Z); + MapSector *sector = getSectorNoGenerateNoEx(p2d); + if (!sector) + return false; + sector->deleteBlock(block); + } + + return true; +} + void ServerMap::PrintInfo(std::ostream &out) { out<<"ServerMap: "; |