diff options
author | kwolekr <kwolekr@minetest.net> | 2014-10-30 02:29:37 -0400 |
---|---|---|
committer | kwolekr <kwolekr@minetest.net> | 2014-10-30 02:29:37 -0400 |
commit | 6b4307791af9aab362029883c1cbee207e748af1 (patch) | |
tree | 2be50929d33b386ecfd2dc19d375d5fb975d2b38 /src/mapgen_singlenode.cpp | |
parent | 03f3f958ed4c21937d93637bd79b3e31c83009d8 (diff) | |
download | minetest-6b4307791af9aab362029883c1cbee207e748af1.tar.gz minetest-6b4307791af9aab362029883c1cbee207e748af1.tar.bz2 minetest-6b4307791af9aab362029883c1cbee207e748af1.zip |
mapgen: Resolve nodes in ctor rather than makeChunk
Diffstat (limited to 'src/mapgen_singlenode.cpp')
-rw-r--r-- | src/mapgen_singlenode.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/mapgen_singlenode.cpp b/src/mapgen_singlenode.cpp index 1471e064b..9f2e6c122 100644 --- a/src/mapgen_singlenode.cpp +++ b/src/mapgen_singlenode.cpp @@ -38,8 +38,16 @@ void MapgenSinglenodeParams::writeParams(Settings *settings) { /////////////////////////////////////////////////////////////////////////////// -MapgenSinglenode::MapgenSinglenode(int mapgenid, MapgenParams *params) { +MapgenSinglenode::MapgenSinglenode(int mapgenid, + MapgenParams *params, EmergeManager *emerge) +{ flags = params->flags; + + INodeDefManager *ndef = emerge->ndef; + + c_node = ndef->getId("mapgen_singlenode"); + if (c_node == CONTENT_IGNORE) + c_node = CONTENT_AIR; } @@ -68,10 +76,6 @@ void MapgenSinglenode::makeChunk(BlockMakeData *data) { // Area of central chunk v3s16 node_min = blockpos_min*MAP_BLOCKSIZE; v3s16 node_max = (blockpos_max+v3s16(1,1,1))*MAP_BLOCKSIZE-v3s16(1,1,1); - - content_t c_node = ndef->getId("mapgen_singlenode"); - if (c_node == CONTENT_IGNORE) - c_node = CONTENT_AIR; MapNode n_node(c_node); |