updateHeightmap(node_min, node_max);
// Place biome-specific nodes and build biomemap
- MgStoneType stone_type = generateBiomes();
+ MgStoneType mgstone_type;
+ content_t biome_stone;
+ generateBiomes(&mgstone_type, &biome_stone, water_level - 1);
// Cave creation.
if (flags & MG_CAVES)
// Dungeon creation
if ((flags & MG_DUNGEONS) && node_max.Y < 50)
- generateDungeons(stone_surface_max_y, stone_type);
+ generateDungeons(stone_surface_max_y, mgstone_type, biome_stone);
// Generate the registered decorations
if (flags & MG_DECORATIONS)
- m_emerge->decomgr->placeAllDecos(this, blockseed, node_min, node_max);
+ m_emerge->decomgr->placeAllDecos(this, blockseed,
+ node_min, node_max, water_level - 1);
// Generate the registered ores
- m_emerge->oremgr->placeAllOres(this, blockseed, node_min, node_max);
+ m_emerge->oremgr->placeAllOres(this, blockseed,
+ node_min, node_max, water_level - 1);
// Sprinkle some dust on top after everything else was generated
dustTopNodes();
MapNode n_stone(c_stone);
MapNode n_water(c_water_source);
- v3s16 em = vm->m_area.getExtent();
+ const v3s16 &em = vm->m_area.getExtent();
s16 surface_max_y = -MAX_MAP_GENERATION_LIMIT;
u32 index_2d = 0;
MapNode n_lava(c_lava_source);
MapNode n_water(c_river_water_source);
- v3s16 em = vm->m_area.getExtent();
+ const v3s16 &em = vm->m_area.getExtent();
// Cave blend distance near YMIN, YMAX
const float massive_cave_blend = 128.f;