1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-06-27 16:36:03 +00:00

Biomes/decorations/ores: Make relative to 'water_level' setting

Add 'biome_zero_level' argument to 'generateBiomes()', 'deco_zero_level'
argument to 'placeAllDecos()' and 'ore_zero_level' to 'placeAllOres()'
to allow mapgens to vertically shift the registered biomes, decorations
and ores per-mapchunk.
Will also allow many realm possibilities in future mapgens.
This commit is contained in:
paramat 2017-06-14 02:00:51 +01:00 committed by paramat
parent ef285b2815
commit 8299e4b67e
14 changed files with 90 additions and 43 deletions

View file

@ -189,7 +189,7 @@ void MapgenFlat::makeChunk(BlockMakeData *data)
// Init biome generator, place biome-specific nodes, and build biomemap
biomegen->calcBiomeNoise(node_min);
MgStoneType stone_type = generateBiomes();
MgStoneType stone_type = generateBiomes(water_level - 1);
if (flags & MG_CAVES)
generateCaves(stone_surface_max_y, large_cave_depth);
@ -199,10 +199,12 @@ void MapgenFlat::makeChunk(BlockMakeData *data)
// 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();