From df991edaa8617730f4ad15648e9131325a0fe2e8 Mon Sep 17 00:00:00 2001 From: Paramat Date: Thu, 31 May 2018 03:06:55 +0100 Subject: [PATCH] Mgv7: Avoid rivergen removing mod-placed nodes when overgenerating (#7388) Only allow river generation to replace c_stone. This also acts as an optimisation by being placed before canyon shape calculation. --- src/mapgen/mapgen_v7.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/mapgen/mapgen_v7.cpp b/src/mapgen/mapgen_v7.cpp index 57646bd79..610de4623 100644 --- a/src/mapgen/mapgen_v7.cpp +++ b/src/mapgen/mapgen_v7.cpp @@ -591,6 +591,11 @@ void MapgenV7::generateRidgeTerrain() float uwatern = noise_ridge_uwater->result[index2d] * 2.0f; if (std::fabs(uwatern) > width) continue; + // Optimises, but also avoids removing nodes placed by mods in + // 'on-generated', when generating outside mapchunk. + content_t c = vm->m_data[vi].getContent(); + if (c != c_stone) + continue; float altitude = y - water_level; float height_mod = (altitude + 17.0f) / 2.5f; -- 2.25.1