From a33982a43280f6af136f5a814b238d35b2832a77 Mon Sep 17 00:00:00 2001 From: dfsek Date: Sat, 11 Jun 2022 23:30:53 -0700 Subject: [PATCH] add carving.update-palette option --- .../chunkgenerator/config/palette/BiomePaletteTemplate.java | 6 +++++- .../addons/chunkgenerator/config/palette/PaletteInfo.java | 3 ++- .../chunkgenerator/generation/NoiseChunkGenerator3D.java | 2 ++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/common/addons/chunk-generator-noise-3d/src/main/java/com/dfsek/terra/addons/chunkgenerator/config/palette/BiomePaletteTemplate.java b/common/addons/chunk-generator-noise-3d/src/main/java/com/dfsek/terra/addons/chunkgenerator/config/palette/BiomePaletteTemplate.java index 3497bdd75..9bab84bb5 100644 --- a/common/addons/chunk-generator-noise-3d/src/main/java/com/dfsek/terra/addons/chunkgenerator/config/palette/BiomePaletteTemplate.java +++ b/common/addons/chunk-generator-noise-3d/src/main/java/com/dfsek/terra/addons/chunkgenerator/config/palette/BiomePaletteTemplate.java @@ -59,6 +59,10 @@ public class BiomePaletteTemplate implements ObjectTemplate { } }; + @Value("carving.update-palette") + @Default + private boolean updatePalette = false; + public BiomePaletteTemplate(Platform platform) { this.platform = platform; } @Override @@ -79,6 +83,6 @@ public class BiomePaletteTemplate implements ObjectTemplate { slantLayers.put(threshold, layer.getPalette()); } - return new PaletteInfo(builder.build(), SlantHolder.of(slantLayers, minThreshold), oceanPalette, seaLevel, slantDepth); + return new PaletteInfo(builder.build(), SlantHolder.of(slantLayers, minThreshold), oceanPalette, seaLevel, slantDepth, updatePalette); } } diff --git a/common/addons/chunk-generator-noise-3d/src/main/java/com/dfsek/terra/addons/chunkgenerator/config/palette/PaletteInfo.java b/common/addons/chunk-generator-noise-3d/src/main/java/com/dfsek/terra/addons/chunkgenerator/config/palette/PaletteInfo.java index d866446a3..caf3c4802 100644 --- a/common/addons/chunk-generator-noise-3d/src/main/java/com/dfsek/terra/addons/chunkgenerator/config/palette/PaletteInfo.java +++ b/common/addons/chunk-generator-noise-3d/src/main/java/com/dfsek/terra/addons/chunkgenerator/config/palette/PaletteInfo.java @@ -17,5 +17,6 @@ public record PaletteInfo(PaletteHolder paletteHolder, SlantHolder slantHolder, Palette ocean, int seaLevel, - int maxSlantDepth) implements Properties { + int maxSlantDepth, + boolean updatePaletteWhenCarving) implements Properties { } diff --git a/common/addons/chunk-generator-noise-3d/src/main/java/com/dfsek/terra/addons/chunkgenerator/generation/NoiseChunkGenerator3D.java b/common/addons/chunk-generator-noise-3d/src/main/java/com/dfsek/terra/addons/chunkgenerator/generation/NoiseChunkGenerator3D.java index de4354198..147f3c9d8 100644 --- a/common/addons/chunk-generator-noise-3d/src/main/java/com/dfsek/terra/addons/chunkgenerator/generation/NoiseChunkGenerator3D.java +++ b/common/addons/chunk-generator-noise-3d/src/main/java/com/dfsek/terra/addons/chunkgenerator/generation/NoiseChunkGenerator3D.java @@ -90,6 +90,8 @@ public class NoiseChunkGenerator3D implements ChunkGenerator { data = PaletteUtil.getPalette(x, y, z, sampler, paletteInfo, paletteLevel).get(paletteLevel, cx, y, cz, seed); chunk.setBlock(x, y, z, data); + } else if(paletteInfo.updatePaletteWhenCarving()) { + paletteLevel = 0; } paletteLevel++;