summaryrefslogtreecommitdiff
path: root/src/mapgen_singlenode.cpp
diff options
context:
space:
mode:
authorkwolekr <kwolekr@minetest.net>2014-10-30 02:29:37 -0400
committerkwolekr <kwolekr@minetest.net>2014-10-30 02:29:37 -0400
commit6b4307791af9aab362029883c1cbee207e748af1 (patch)
tree2be50929d33b386ecfd2dc19d375d5fb975d2b38 /src/mapgen_singlenode.cpp
parent03f3f958ed4c21937d93637bd79b3e31c83009d8 (diff)
downloadminetest-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.cpp14
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);