diff --git a/src/mapgen/mapgen.cpp b/src/mapgen/mapgen.cpp index f537b8b7ad..24cf140dbf 100644 --- a/src/mapgen/mapgen.cpp +++ b/src/mapgen/mapgen.cpp @@ -774,9 +774,13 @@ void MapgenBasic::removeOvergeneratedCStone() for (s16 z = node_min.Z; z <= node_max.Z; z++) for (s16 x = node_min.X; x <= node_max.X; x++) { u32 vi = vm->m_area.index(x, node_max.Y + 1, z); // top - vm->m_data[vi].setContent(CONTENT_IGNORE); + if (vm->m_data[vi].getContent() == c_stone) { + vm->m_data[vi].setContent(CONTENT_IGNORE); + } vi = vm->m_area.index(x, node_min.Y - 1, z); // bottom - vm->m_data[vi].setContent(CONTENT_IGNORE); + if (vm->m_data[vi].getContent() == c_stone) { + vm->m_data[vi].setContent(CONTENT_IGNORE); + } } } diff --git a/src/mapgen/mapgen_v6.cpp b/src/mapgen/mapgen_v6.cpp index c3c75f5033..bb73cc8a78 100644 --- a/src/mapgen/mapgen_v6.cpp +++ b/src/mapgen/mapgen_v6.cpp @@ -631,9 +631,13 @@ void MapgenV6::removeOvergeneratedCStone() for (s16 z = node_min.Z; z <= node_max.Z; z++) for (s16 x = node_min.X; x <= node_max.X; x++) { u32 vi = vm->m_area.index(x, node_max.Y + 1, z); // top - vm->m_data[vi].setContent(CONTENT_IGNORE); + if (vm->m_data[vi].getContent() == c_stone) { + vm->m_data[vi].setContent(CONTENT_IGNORE); + } vi = vm->m_area.index(x, node_min.Y - 1, z); // bottom - vm->m_data[vi].setContent(CONTENT_IGNORE); + if (vm->m_data[vi].getContent() == c_stone) { + vm->m_data[vi].setContent(CONTENT_IGNORE); + } } }