mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
Mapgen flags: Add 'biomes' global mapgen flag (#7355)
Previously the only way to disable biomes was to 'clear' the registered biomes in a mod, but this method causes large amounts of unnecessary processing: 1. Calculation of 4 2D noises. 2. Looping through all nodes of a mapchunk replacing nodes with identical nodes. The new flag disables those operations.
This commit is contained in:
parent
9ca37d86a3
commit
0b23253447
10 changed files with 44 additions and 20 deletions
|
@ -195,8 +195,10 @@ void MapgenFlat::makeChunk(BlockMakeData *data)
|
|||
updateHeightmap(node_min, node_max);
|
||||
|
||||
// Init biome generator, place biome-specific nodes, and build biomemap
|
||||
biomegen->calcBiomeNoise(node_min);
|
||||
generateBiomes();
|
||||
if (flags & MG_BIOMES) {
|
||||
biomegen->calcBiomeNoise(node_min);
|
||||
generateBiomes();
|
||||
}
|
||||
|
||||
if (flags & MG_CAVES) {
|
||||
// Generate tunnels
|
||||
|
@ -217,7 +219,8 @@ void MapgenFlat::makeChunk(BlockMakeData *data)
|
|||
m_emerge->oremgr->placeAllOres(this, blockseed, node_min, node_max);
|
||||
|
||||
// Sprinkle some dust on top after everything else was generated
|
||||
dustTopNodes();
|
||||
if (flags & MG_BIOMES)
|
||||
dustTopNodes();
|
||||
|
||||
//printf("makeChunk: %dms\n", t.stop());
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue