From a461a57f0d147d431027d785124ee84127ed0c29 Mon Sep 17 00:00:00 2001 From: dfsek Date: Wed, 22 Dec 2021 02:55:56 -0700 Subject: [PATCH] dont evaluate derivatives for empty slant palettes --- .../addons/chunkgenerator/generation/math/PaletteUtil.java | 2 +- .../terra/addons/chunkgenerator/palette/SlantHolder.java | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/common/addons/chunk-generator-noise-3d/src/main/java/com/dfsek/terra/addons/chunkgenerator/generation/math/PaletteUtil.java b/common/addons/chunk-generator-noise-3d/src/main/java/com/dfsek/terra/addons/chunkgenerator/generation/math/PaletteUtil.java index b7173b314..49bdee236 100644 --- a/common/addons/chunk-generator-noise-3d/src/main/java/com/dfsek/terra/addons/chunkgenerator/generation/math/PaletteUtil.java +++ b/common/addons/chunk-generator-noise-3d/src/main/java/com/dfsek/terra/addons/chunkgenerator/generation/math/PaletteUtil.java @@ -21,7 +21,7 @@ public final class PaletteUtil { public static Palette getPalette(int x, int y, int z, Sampler3D sampler, PaletteInfo paletteInfo) { SlantHolder slant = paletteInfo.slantHolder(); - if(slant != null) { + if(!slant.isEmpty()) { double slope = derivative(sampler, x, y, z); if(slope > slant.getMinSlope()) { return slant.getPalette(slope).getPalette(y); diff --git a/common/addons/chunk-generator-noise-3d/src/main/java/com/dfsek/terra/addons/chunkgenerator/palette/SlantHolder.java b/common/addons/chunk-generator-noise-3d/src/main/java/com/dfsek/terra/addons/chunkgenerator/palette/SlantHolder.java index 592b3aa14..c70674103 100644 --- a/common/addons/chunk-generator-noise-3d/src/main/java/com/dfsek/terra/addons/chunkgenerator/palette/SlantHolder.java +++ b/common/addons/chunk-generator-noise-3d/src/main/java/com/dfsek/terra/addons/chunkgenerator/palette/SlantHolder.java @@ -20,6 +20,10 @@ public class SlantHolder { this.minSlope = minSlope; } + public boolean isEmpty() { + return layers.isEmpty(); + } + public PaletteHolder getPalette(double slope) { return layers.floorEntry(slope).getValue(); }