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

@ -298,7 +298,7 @@ void MapgenV7::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);
// Generate caverns, tunnels and classic caves
if (flags & MG_CAVES) {
@ -322,10 +322,12 @@ void MapgenV7::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();