From 3b0df9760b9630ddba1983ecb4c6e4f0f8857149 Mon Sep 17 00:00:00 2001 From: Paramat Date: Sun, 10 Nov 2019 01:41:20 +0000 Subject: [PATCH] Randomwalk caves: Extend beyond mapchunk vertically also (#9094) Previously, randomwalk caves only extended beyond the mapchunk borders horizontally, preventing vertical overlap and interconnection. --- src/mapgen/cavegen.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/mapgen/cavegen.cpp b/src/mapgen/cavegen.cpp index 2e2a1bbe3..d3d51935b 100644 --- a/src/mapgen/cavegen.cpp +++ b/src/mapgen/cavegen.cpp @@ -366,11 +366,13 @@ void CavesRandomWalk::makeCave(MMVManip *vm, v3s16 nmin, v3s16 nmax, // Area starting point in nodes of = node_min; - // Allow a bit more (this should be more than the maximum radius of the tunnel) + // Allow caves to extend up to 16 nodes beyond the mapchunk edge, to allow + // connecting with caves of neighbor mapchunks. + // 'insure' is needed to avoid many 'out of voxelmanip' cave nodes. const s16 insure = 2; s16 more = MYMAX(MAP_BLOCKSIZE - max_tunnel_diameter / 2 - insure, 1); - ar += v3s16(1, 0, 1) * more * 2; - of -= v3s16(1, 0, 1) * more; + ar += v3s16(1, 1, 1) * more * 2; + of -= v3s16(1, 1, 1) * more; route_y_min = 0; // Allow half a diameter + 7 over stone surface