summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mapgen_v5.cpp17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/mapgen_v5.cpp b/src/mapgen_v5.cpp
index e288e80f2..f7efc4e18 100644
--- a/src/mapgen_v5.cpp
+++ b/src/mapgen_v5.cpp
@@ -302,24 +302,25 @@ void MapgenV5::calculateNoise()
int y = node_min.Y - 1;
int z = node_min.Z;
- noise_filler_depth->perlinMap2D(x, z);
noise_factor->perlinMap2D(x, z);
noise_height->perlinMap2D(x, z);
+ noise_ground->perlinMap3D(x, y, z);
if (flags & MG_CAVES) {
noise_cave1->perlinMap3D(x, y, z);
noise_cave2->perlinMap3D(x, y, z);
}
- noise_ground->perlinMap3D(x, y, z);
-
if (spflags & MGV5_BLOBS) {
noise_crumble->perlinMap3D(x, y, z);
noise_wetness->perlinMap3D(x, y, z);
}
- noise_heat->perlinMap2D(x, z);
- noise_humidity->perlinMap2D(x, z);
+ if (node_max.Y >= water_level) {
+ noise_filler_depth->perlinMap2D(x, z);
+ noise_heat->perlinMap2D(x, z);
+ noise_humidity->perlinMap2D(x, z);
+ }
//printf("calculateNoise: %dus\n", t.stop());
}
@@ -531,12 +532,12 @@ void MapgenV5::generateBlobs()
void MapgenV5::dustTopNodes()
{
+ if (node_max.Y < water_level)
+ return;
+
v3s16 em = vm->m_area.getExtent();
u32 index = 0;
- if (water_level > node_max.Y)
- return;
-
for (s16 z = node_min.Z; z <= node_max.Z; z++)
for (s16 x = node_min.X; x <= node_max.X; x++, index++) {
Biome *biome = (Biome *)bmgr->get(biomemap[index]);