From 646d8970aac8b2db05a7953317d1ac9aee99eaa5 Mon Sep 17 00:00:00 2001 From: dfsek Date: Fri, 16 Jul 2021 12:38:47 -0700 Subject: [PATCH] remove palette definition from base biome config --- .../addons/chunkgenerator/PaletteUtil.java | 2 +- .../generators/NoiseChunkGenerator3D.java | 10 ++++++---- .../dfsek/terra/addons/biome/BiomeFactory.java | 2 +- .../terra/addons/biome/BiomeTemplate.java | 18 ------------------ .../addons/biome/UserDefinedBiomeBuilder.java | 6 ++---- .../addons/biome/UserDefinedGenerator.java | 9 +-------- .../dfsek/terra/api/world/biome/Generator.java | 2 -- 7 files changed, 11 insertions(+), 38 deletions(-) diff --git a/common/addons/chunk-generator-noise-3d/src/main/java/com/dfsek/terra/addons/chunkgenerator/PaletteUtil.java b/common/addons/chunk-generator-noise-3d/src/main/java/com/dfsek/terra/addons/chunkgenerator/PaletteUtil.java index d6e08e5b1..99090f03e 100644 --- a/common/addons/chunk-generator-noise-3d/src/main/java/com/dfsek/terra/addons/chunkgenerator/PaletteUtil.java +++ b/common/addons/chunk-generator-noise-3d/src/main/java/com/dfsek/terra/addons/chunkgenerator/PaletteUtil.java @@ -17,6 +17,6 @@ public final class PaletteUtil { } } - return c.getPaletteSettings().getPalette(y); + return paletteInfo.getPaletteHolder().getPalette(y); } } \ No newline at end of file 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 df703888d..e576de89b 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 @@ -174,8 +174,10 @@ public class NoiseChunkGenerator3D implements TerraChunkGenerator { TerraWorld terraWorld = main.getWorld(world); BiomeProvider provider = terraWorld.getBiomeProvider(); TerraBiome biome = provider.getBiome(x, z); - Palette palette = biome.getGenerator(world).getPaletteSettings().getPalette(y); Sampler sampler = terraWorld.getConfig().getSamplerCache().get(x, z); + + PaletteInfo paletteInfo = addon.getPalette(biome); + Palette palette = PaletteUtil.getPalette(x, y, z, biome.getGenerator(world), sampler, paletteInfo); int fdX = FastMath.floorMod(x, 16); int fdZ = FastMath.floorMod(z, 16); double noise = sampler.sample(fdX, y, fdZ); @@ -186,8 +188,8 @@ public class NoiseChunkGenerator3D implements TerraChunkGenerator { else level = 0; } return palette.get(level, x, y, z); - } /* else if(y <= biome.getConfig().getSeaLevel()) { - return biome.getConfig().getOceanPalette().get(biome.getConfig().getSeaLevel() - y, x, y, z); - } */ else return air; + } else if(y <= paletteInfo.getSeaLevel()) { + return paletteInfo.getOcean().get(paletteInfo.getSeaLevel() - y, x, y, z); + } else return air; } } diff --git a/common/addons/config-biome/src/main/java/com/dfsek/terra/addons/biome/BiomeFactory.java b/common/addons/config-biome/src/main/java/com/dfsek/terra/addons/biome/BiomeFactory.java index 952ffc7d8..e3cd52015 100644 --- a/common/addons/config-biome/src/main/java/com/dfsek/terra/addons/biome/BiomeFactory.java +++ b/common/addons/config-biome/src/main/java/com/dfsek/terra/addons/biome/BiomeFactory.java @@ -14,6 +14,6 @@ public class BiomeFactory implements ConfigFactory @Override public BiomeBuilder build(BiomeTemplate template, TerraPlugin main) { - return new UserDefinedBiomeBuilder(template, pack); + return new UserDefinedBiomeBuilder(template); } } diff --git a/common/addons/config-biome/src/main/java/com/dfsek/terra/addons/biome/BiomeTemplate.java b/common/addons/config-biome/src/main/java/com/dfsek/terra/addons/biome/BiomeTemplate.java index 9d1f7e84b..01fb7a3e0 100644 --- a/common/addons/config-biome/src/main/java/com/dfsek/terra/addons/biome/BiomeTemplate.java +++ b/common/addons/config-biome/src/main/java/com/dfsek/terra/addons/biome/BiomeTemplate.java @@ -45,9 +45,6 @@ public class BiomeTemplate implements AbstractableTemplate, ValidatedConfigTempl @Default private NoiseSeeded carvingEquation = NoiseSeeded.zero(3); - @Value("palette") - private PaletteHolder palette; - @Value("vanilla") private ProbabilityCollection vanilla; @@ -74,9 +71,6 @@ public class BiomeTemplate implements AbstractableTemplate, ValidatedConfigTempl @Default private int seaLevel = 62; - @Value("ocean.palette") - private Palette oceanPalette; - @Value("elevation.equation") @Default private NoiseSeeded elevationEquation = NoiseSeeded.zero(2); @@ -114,10 +108,6 @@ public class BiomeTemplate implements AbstractableTemplate, ValidatedConfigTempl @Default private Set tags = new HashSet<>(); - /*@Value("carving") - @Default - private Map carvers = new HashMap<>();*/ - @Value("colors") @Default private Map colors = new HashMap<>(); // Plain ol' map, so platforms can decide what to do with colors (if anything). @@ -190,18 +180,10 @@ public class BiomeTemplate implements AbstractableTemplate, ValidatedConfigTempl return seaLevel; } - public Palette getOceanPalette() { - return oceanPalette; - } - public String getID() { return id; } - public PaletteHolder getPalette() { - return palette; - } - public ProbabilityCollection getVanilla() { return vanilla; } diff --git a/common/addons/config-biome/src/main/java/com/dfsek/terra/addons/biome/UserDefinedBiomeBuilder.java b/common/addons/config-biome/src/main/java/com/dfsek/terra/addons/biome/UserDefinedBiomeBuilder.java index 48722b3d6..48bcfb08b 100644 --- a/common/addons/config-biome/src/main/java/com/dfsek/terra/addons/biome/UserDefinedBiomeBuilder.java +++ b/common/addons/config-biome/src/main/java/com/dfsek/terra/addons/biome/UserDefinedBiomeBuilder.java @@ -10,13 +10,11 @@ import java.util.concurrent.ConcurrentHashMap; public class UserDefinedBiomeBuilder implements BiomeBuilder { private final BiomeTemplate template; - private final ConfigPack pack; private final Map biomeMap = new ConcurrentHashMap<>(); - public UserDefinedBiomeBuilder(BiomeTemplate template, ConfigPack pack) { + public UserDefinedBiomeBuilder(BiomeTemplate template) { this.template = template; - this.pack = pack; } @Override @@ -24,7 +22,7 @@ public class UserDefinedBiomeBuilder implements BiomeBuilder { synchronized(biomeMap) { return biomeMap.computeIfAbsent(seed, s -> { - UserDefinedGenerator generator = new UserDefinedGenerator(template.getPalette(), template.getNoiseEquation().apply(seed), template.getElevationEquation().apply(seed), template.getCarvingEquation().apply(seed), template.getBiomeNoise().apply(seed), template.getElevationWeight(), + UserDefinedGenerator generator = new UserDefinedGenerator(template.getNoiseEquation().apply(seed), template.getElevationEquation().apply(seed), template.getCarvingEquation().apply(seed), template.getBiomeNoise().apply(seed), template.getElevationWeight(), template.getBlendDistance(), template.getBlendStep(), template.getBlendWeight()); return new UserDefinedBiome(template.getVanilla(), generator, template); } diff --git a/common/addons/config-biome/src/main/java/com/dfsek/terra/addons/biome/UserDefinedGenerator.java b/common/addons/config-biome/src/main/java/com/dfsek/terra/addons/biome/UserDefinedGenerator.java index 93ad7edee..268f18a64 100644 --- a/common/addons/config-biome/src/main/java/com/dfsek/terra/addons/biome/UserDefinedGenerator.java +++ b/common/addons/config-biome/src/main/java/com/dfsek/terra/addons/biome/UserDefinedGenerator.java @@ -6,7 +6,6 @@ import com.dfsek.terra.api.world.biome.Generator; import com.dfsek.terra.api.world.biome.PaletteSettings; public class UserDefinedGenerator implements Generator { - private final PaletteSettings paletteSettings; private final NoiseSampler noise; private final NoiseSampler elevation; @@ -18,8 +17,7 @@ public class UserDefinedGenerator implements Generator { private final int blendStep; private final double blendWeight; - public UserDefinedGenerator(PaletteHolder palettes, NoiseSampler noise, NoiseSampler elevation, NoiseSampler carving, NoiseSampler biomeNoise, double elevationWeight, int blendDistance, int blendStep, double blendWeight) { - this.paletteSettings = new PaletteSettingsImpl(palettes); + public UserDefinedGenerator(NoiseSampler noise, NoiseSampler elevation, NoiseSampler carving, NoiseSampler biomeNoise, double elevationWeight, int blendDistance, int blendStep, double blendWeight) { this.noise = noise; this.elevation = elevation; this.carving = carving; @@ -56,11 +54,6 @@ public class UserDefinedGenerator implements Generator { return blendWeight; } - @Override - public PaletteSettings getPaletteSettings() { - return paletteSettings; - } - @Override public NoiseSampler getBiomeNoise() { return biomeNoise; diff --git a/common/api/src/main/java/com/dfsek/terra/api/world/biome/Generator.java b/common/api/src/main/java/com/dfsek/terra/api/world/biome/Generator.java index 710fbdeb9..f8d6b14a3 100644 --- a/common/api/src/main/java/com/dfsek/terra/api/world/biome/Generator.java +++ b/common/api/src/main/java/com/dfsek/terra/api/world/biome/Generator.java @@ -28,8 +28,6 @@ public interface Generator { double getWeight(); - PaletteSettings getPaletteSettings(); - NoiseSampler getBiomeNoise(); double getElevationWeight();