Mapgen: Fix light in tunnels at mapchunk borders
[oweals/minetest.git] / src / mapgen_valleys.cpp
index d6fcde5f78b90c9cb8c24636c53120eaba98cc36..34a316abddbd9ef117634ce27b77d4d4a4bf7082 100644 (file)
@@ -931,6 +931,12 @@ void MapgenValleys::generateCaves(s16 max_stone_y)
                for (s16 y = node_max.Y + 1;
                                y >= node_min.Y - 1;
                                y--, index_3d -= ystride, vm->m_area.add_y(em, index_data, -1)) {
+                       // Don't excavate the overgenerated stone at node_max.Y + 1,
+                       // this creates a 'roof' over the tunnel, preventing light in
+                       // tunnels at mapchunk borders when generating mapchunks upwards.
+                       if (y > node_max.Y)
+                               continue;
+
                        float terrain = noise_terrain_height->result[index_2d];
 
                        // Saves some time.