From: Paramat Date: Thu, 31 May 2018 02:06:55 +0000 (+0100) Subject: Mgv7: Avoid rivergen removing mod-placed nodes when overgenerating (#7388) X-Git-Tag: 5.0.0~385 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=df991edaa8617730f4ad15648e9131325a0fe2e8;p=oweals%2Fminetest.git 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. --- 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;