From df16edac7ffcf29a058117bc9313b46e904aa10d Mon Sep 17 00:00:00 2001 From: dfsek Date: Sat, 4 Dec 2021 19:01:48 -0700 Subject: [PATCH] implement carving --- .../generation/generators/NoiseChunkGenerator3D.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/common/addons/chunk-generator-noise-3d/src/main/java/com/dfsek/terra/addons/chunkgenerator/generation/generators/NoiseChunkGenerator3D.java b/common/addons/chunk-generator-noise-3d/src/main/java/com/dfsek/terra/addons/chunkgenerator/generation/generators/NoiseChunkGenerator3D.java index ff7239f77..75ec56358 100644 --- a/common/addons/chunk-generator-noise-3d/src/main/java/com/dfsek/terra/addons/chunkgenerator/generation/generators/NoiseChunkGenerator3D.java +++ b/common/addons/chunk-generator-noise-3d/src/main/java/com/dfsek/terra/addons/chunkgenerator/generation/generators/NoiseChunkGenerator3D.java @@ -8,6 +8,8 @@ package com.dfsek.terra.addons.chunkgenerator.generation.generators; +import com.dfsek.terra.addons.chunkgenerator.config.BiomeNoiseProperties; + import net.jafama.FastMath; import org.jetbrains.annotations.NotNull; @@ -70,6 +72,7 @@ public class NoiseChunkGenerator3D implements ChunkGenerator { int cz = zOrig + z; Biome biome = grid.getBiome(cx, cz, seed); + BiomeNoiseProperties properties = biome.getContext().get(BiomeNoiseProperties.class); PaletteInfo paletteInfo = biome.getContext().get(PaletteInfo.class); @@ -79,9 +82,11 @@ public class NoiseChunkGenerator3D implements ChunkGenerator { BlockState data; for(int y = world.getMaxHeight() - 1; y >= world.getMinHeight(); y--) { if(sampler.sample(x, y, z) > 0) { - data = PaletteUtil.getPalette(x, y, z, sampler, paletteInfo).get(paletteLevel, cx, y, cz, - seed); - chunk.setBlock(x, y, z, data); + if(properties.carving().noise(seed, cx, y, cz) < 0) { + data = PaletteUtil.getPalette(x, y, z, sampler, paletteInfo).get(paletteLevel, cx, y, cz, + seed); + chunk.setBlock(x, y, z, data); + } paletteLevel++; } else if(y <= sea) {