diff --git a/common/addons/chunk-generator-noise-3d/src/main/java/com/dfsek/terra/addons/chunkgenerator/generation/math/interpolation/LazilyEvaluatedInterpolator.java b/common/addons/chunk-generator-noise-3d/src/main/java/com/dfsek/terra/addons/chunkgenerator/generation/math/interpolation/LazilyEvaluatedInterpolator.java index 0b6bf41bf..908a185f1 100644 --- a/common/addons/chunk-generator-noise-3d/src/main/java/com/dfsek/terra/addons/chunkgenerator/generation/math/interpolation/LazilyEvaluatedInterpolator.java +++ b/common/addons/chunk-generator-noise-3d/src/main/java/com/dfsek/terra/addons/chunkgenerator/generation/math/interpolation/LazilyEvaluatedInterpolator.java @@ -23,7 +23,7 @@ public class LazilyEvaluatedInterpolator { private final PropertyKey noisePropertiesKey; private final long seed; - private final int min; + private final int min, max; private final int zMul, yMul; public LazilyEvaluatedInterpolator(BiomeProvider biomeProvider, int cx, int cz, int max, @@ -42,6 +42,7 @@ public class LazilyEvaluatedInterpolator { this.biomeProvider = biomeProvider; this.seed = seed; this.min = min; + this.max = max; } private double sample(int xIndex, int yIndex, int zIndex, int ox, int oy, int oz) { @@ -51,12 +52,14 @@ public class LazilyEvaluatedInterpolator { int xi = ox + chunkX; int zi = oz + chunkZ; + int y = FastMath.min(max, oy); + sample = biomeProvider - .getBiome(xi, oy, zi, seed) + .getBiome(xi, y, zi, seed) .getContext() .get(noisePropertiesKey) .carving() - .noise(seed, xi, oy, zi); + .noise(seed, xi, y, zi); samples[index] = sample; } return sample;