diff options
author | Paramat <paramat@users.noreply.github.com> | 2018-08-20 18:24:53 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-20 18:24:53 +0100 |
commit | 8516f284580a366d014f13a0bbd797da49d4df7e (patch) | |
tree | f5b674340762bfa7bfb2d0b38432aab8c31f4963 /src/mapgen | |
parent | 5a26e46aaa38cccb2b38cfc784364f1f265cec9b (diff) | |
download | minetest-8516f284580a366d014f13a0bbd797da49d4df7e.tar.gz minetest-8516f284580a366d014f13a0bbd797da49d4df7e.tar.bz2 minetest-8516f284580a366d014f13a0bbd797da49d4df7e.zip |
Change mapgen order to ores > dungeons > decorations (#7656)
Previously dungeons > decorations > ores.
Decorations depend on the node they are placed on, and ore types are
increasingly able to place large continuous volumes of nodes, such as
strata. Decorations are increasingly being used underground.
The new order avoids a node being changed by ore generation after a
decoration has been placed on it.
The new order also avoids ores appearing in the walls of a dungeon if
the wall nodes match the local stone node.
Diffstat (limited to 'src/mapgen')
-rw-r--r-- | src/mapgen/mapgen_carpathian.cpp | 6 | ||||
-rw-r--r-- | src/mapgen/mapgen_flat.cpp | 6 | ||||
-rw-r--r-- | src/mapgen/mapgen_fractal.cpp | 6 | ||||
-rw-r--r-- | src/mapgen/mapgen_v5.cpp | 6 | ||||
-rw-r--r-- | src/mapgen/mapgen_v7.cpp | 6 | ||||
-rw-r--r-- | src/mapgen/mapgen_valleys.cpp | 6 |
6 files changed, 18 insertions, 18 deletions
diff --git a/src/mapgen/mapgen_carpathian.cpp b/src/mapgen/mapgen_carpathian.cpp index c1e07030c..f7daef708 100644 --- a/src/mapgen/mapgen_carpathian.cpp +++ b/src/mapgen/mapgen_carpathian.cpp @@ -273,6 +273,9 @@ void MapgenCarpathian::makeChunk(BlockMakeData *data) generateCavesRandomWalk(stone_surface_max_y, large_cave_depth); } + // Generate the registered ores + m_emerge->oremgr->placeAllOres(this, blockseed, node_min, node_max); + // Generate dungeons if ((flags & MG_DUNGEONS) && full_node_min.Y >= dungeon_ymin && full_node_max.Y <= dungeon_ymax) @@ -282,9 +285,6 @@ void MapgenCarpathian::makeChunk(BlockMakeData *data) if (flags & MG_DECORATIONS) m_emerge->decomgr->placeAllDecos(this, blockseed, node_min, node_max); - // Generate the registered ores - m_emerge->oremgr->placeAllOres(this, blockseed, node_min, node_max); - // Sprinkle some dust on top after everything else was generated if (flags & MG_BIOMES) dustTopNodes(); diff --git a/src/mapgen/mapgen_flat.cpp b/src/mapgen/mapgen_flat.cpp index e2bc42918..11b27f85c 100644 --- a/src/mapgen/mapgen_flat.cpp +++ b/src/mapgen/mapgen_flat.cpp @@ -207,6 +207,9 @@ void MapgenFlat::makeChunk(BlockMakeData *data) generateCavesRandomWalk(stone_surface_max_y, large_cave_depth); } + // Generate the registered ores + m_emerge->oremgr->placeAllOres(this, blockseed, node_min, node_max); + if ((flags & MG_DUNGEONS) && full_node_min.Y >= dungeon_ymin && full_node_max.Y <= dungeon_ymax) generateDungeons(stone_surface_max_y); @@ -215,9 +218,6 @@ void MapgenFlat::makeChunk(BlockMakeData *data) if (flags & MG_DECORATIONS) m_emerge->decomgr->placeAllDecos(this, blockseed, node_min, node_max); - // Generate the registered ores - m_emerge->oremgr->placeAllOres(this, blockseed, node_min, node_max); - // Sprinkle some dust on top after everything else was generated if (flags & MG_BIOMES) dustTopNodes(); diff --git a/src/mapgen/mapgen_fractal.cpp b/src/mapgen/mapgen_fractal.cpp index b915cd8f9..68a66bba9 100644 --- a/src/mapgen/mapgen_fractal.cpp +++ b/src/mapgen/mapgen_fractal.cpp @@ -218,6 +218,9 @@ void MapgenFractal::makeChunk(BlockMakeData *data) generateCavesRandomWalk(stone_surface_max_y, large_cave_depth); } + // Generate the registered ores + m_emerge->oremgr->placeAllOres(this, blockseed, node_min, node_max); + if ((flags & MG_DUNGEONS) && full_node_min.Y >= dungeon_ymin && full_node_max.Y <= dungeon_ymax) generateDungeons(stone_surface_max_y); @@ -226,9 +229,6 @@ void MapgenFractal::makeChunk(BlockMakeData *data) if (flags & MG_DECORATIONS) m_emerge->decomgr->placeAllDecos(this, blockseed, node_min, node_max); - // Generate the registered ores - m_emerge->oremgr->placeAllOres(this, blockseed, node_min, node_max); - // Sprinkle some dust on top after everything else was generated if (flags & MG_BIOMES) dustTopNodes(); diff --git a/src/mapgen/mapgen_v5.cpp b/src/mapgen/mapgen_v5.cpp index 3e8f42acf..c5be727b9 100644 --- a/src/mapgen/mapgen_v5.cpp +++ b/src/mapgen/mapgen_v5.cpp @@ -232,6 +232,9 @@ void MapgenV5::makeChunk(BlockMakeData *data) generateCavesRandomWalk(stone_surface_max_y, large_cave_depth); } + // Generate the registered ores + m_emerge->oremgr->placeAllOres(this, blockseed, node_min, node_max); + // Generate dungeons and desert temples if ((flags & MG_DUNGEONS) && full_node_min.Y >= dungeon_ymin && full_node_max.Y <= dungeon_ymax) @@ -241,9 +244,6 @@ void MapgenV5::makeChunk(BlockMakeData *data) if (flags & MG_DECORATIONS) m_emerge->decomgr->placeAllDecos(this, blockseed, node_min, node_max); - // Generate the registered ores - m_emerge->oremgr->placeAllOres(this, blockseed, node_min, node_max); - // Sprinkle some dust on top after everything else was generated if (flags & MG_BIOMES) dustTopNodes(); diff --git a/src/mapgen/mapgen_v7.cpp b/src/mapgen/mapgen_v7.cpp index e266e29c8..1354bf256 100644 --- a/src/mapgen/mapgen_v7.cpp +++ b/src/mapgen/mapgen_v7.cpp @@ -352,6 +352,9 @@ void MapgenV7::makeChunk(BlockMakeData *data) generateCavesRandomWalk(stone_surface_max_y, large_cave_depth); } + // Generate the registered ores + m_emerge->oremgr->placeAllOres(this, blockseed, node_min, node_max); + // Generate dungeons if ((flags & MG_DUNGEONS) && full_node_min.Y >= dungeon_ymin && full_node_max.Y <= dungeon_ymax) @@ -361,9 +364,6 @@ void MapgenV7::makeChunk(BlockMakeData *data) if (flags & MG_DECORATIONS) m_emerge->decomgr->placeAllDecos(this, blockseed, node_min, node_max); - // Generate the registered ores - m_emerge->oremgr->placeAllOres(this, blockseed, node_min, node_max); - // Sprinkle some dust on top after everything else was generated if (flags & MG_BIOMES) dustTopNodes(); diff --git a/src/mapgen/mapgen_valleys.cpp b/src/mapgen/mapgen_valleys.cpp index 0a0f93a75..404ec585a 100644 --- a/src/mapgen/mapgen_valleys.cpp +++ b/src/mapgen/mapgen_valleys.cpp @@ -253,6 +253,9 @@ void MapgenValleys::makeChunk(BlockMakeData *data) generateCavesRandomWalk(stone_surface_max_y, large_cave_depth); } + // Generate the registered ores + m_emerge->oremgr->placeAllOres(this, blockseed, node_min, node_max); + // Dungeon creation if ((flags & MG_DUNGEONS) && full_node_min.Y >= dungeon_ymin && full_node_max.Y <= dungeon_ymax) @@ -262,9 +265,6 @@ void MapgenValleys::makeChunk(BlockMakeData *data) if (flags & MG_DECORATIONS) m_emerge->decomgr->placeAllDecos(this, blockseed, node_min, node_max); - // Generate the registered ores - m_emerge->oremgr->placeAllOres(this, blockseed, node_min, node_max); - // Sprinkle some dust on top after everything else was generated if (flags & MG_BIOMES) dustTopNodes(); |