remove palette definition from base biome config

This commit is contained in:
dfsek
2021-07-16 12:38:47 -07:00
parent 2e6b62d690
commit 646d8970aa
7 changed files with 11 additions and 38 deletions
@@ -17,6 +17,6 @@ public final class PaletteUtil {
} }
} }
return c.getPaletteSettings().getPalette(y); return paletteInfo.getPaletteHolder().getPalette(y);
} }
} }
@@ -174,8 +174,10 @@ public class NoiseChunkGenerator3D implements TerraChunkGenerator {
TerraWorld terraWorld = main.getWorld(world); TerraWorld terraWorld = main.getWorld(world);
BiomeProvider provider = terraWorld.getBiomeProvider(); BiomeProvider provider = terraWorld.getBiomeProvider();
TerraBiome biome = provider.getBiome(x, z); TerraBiome biome = provider.getBiome(x, z);
Palette palette = biome.getGenerator(world).getPaletteSettings().getPalette(y);
Sampler sampler = terraWorld.getConfig().getSamplerCache().get(x, z); 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 fdX = FastMath.floorMod(x, 16);
int fdZ = FastMath.floorMod(z, 16); int fdZ = FastMath.floorMod(z, 16);
double noise = sampler.sample(fdX, y, fdZ); double noise = sampler.sample(fdX, y, fdZ);
@@ -186,8 +188,8 @@ public class NoiseChunkGenerator3D implements TerraChunkGenerator {
else level = 0; else level = 0;
} }
return palette.get(level, x, y, z); return palette.get(level, x, y, z);
} /* else if(y <= biome.getConfig().getSeaLevel()) { } else if(y <= paletteInfo.getSeaLevel()) {
return biome.getConfig().getOceanPalette().get(biome.getConfig().getSeaLevel() - y, x, y, z); return paletteInfo.getOcean().get(paletteInfo.getSeaLevel() - y, x, y, z);
} */ else return air; } else return air;
} }
} }
@@ -14,6 +14,6 @@ public class BiomeFactory implements ConfigFactory<BiomeTemplate, BiomeBuilder>
@Override @Override
public BiomeBuilder build(BiomeTemplate template, TerraPlugin main) { public BiomeBuilder build(BiomeTemplate template, TerraPlugin main) {
return new UserDefinedBiomeBuilder(template, pack); return new UserDefinedBiomeBuilder(template);
} }
} }
@@ -45,9 +45,6 @@ public class BiomeTemplate implements AbstractableTemplate, ValidatedConfigTempl
@Default @Default
private NoiseSeeded carvingEquation = NoiseSeeded.zero(3); private NoiseSeeded carvingEquation = NoiseSeeded.zero(3);
@Value("palette")
private PaletteHolder palette;
@Value("vanilla") @Value("vanilla")
private ProbabilityCollection<Biome> vanilla; private ProbabilityCollection<Biome> vanilla;
@@ -74,9 +71,6 @@ public class BiomeTemplate implements AbstractableTemplate, ValidatedConfigTempl
@Default @Default
private int seaLevel = 62; private int seaLevel = 62;
@Value("ocean.palette")
private Palette oceanPalette;
@Value("elevation.equation") @Value("elevation.equation")
@Default @Default
private NoiseSeeded elevationEquation = NoiseSeeded.zero(2); private NoiseSeeded elevationEquation = NoiseSeeded.zero(2);
@@ -114,10 +108,6 @@ public class BiomeTemplate implements AbstractableTemplate, ValidatedConfigTempl
@Default @Default
private Set<String> tags = new HashSet<>(); private Set<String> tags = new HashSet<>();
/*@Value("carving")
@Default
private Map<UserDefinedCarver, Integer> carvers = new HashMap<>();*/
@Value("colors") @Value("colors")
@Default @Default
private Map<String, Integer> colors = new HashMap<>(); // Plain ol' map, so platforms can decide what to do with colors (if anything). private Map<String, Integer> 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; return seaLevel;
} }
public Palette getOceanPalette() {
return oceanPalette;
}
public String getID() { public String getID() {
return id; return id;
} }
public PaletteHolder getPalette() {
return palette;
}
public ProbabilityCollection<Biome> getVanilla() { public ProbabilityCollection<Biome> getVanilla() {
return vanilla; return vanilla;
} }
@@ -10,13 +10,11 @@ import java.util.concurrent.ConcurrentHashMap;
public class UserDefinedBiomeBuilder implements BiomeBuilder { public class UserDefinedBiomeBuilder implements BiomeBuilder {
private final BiomeTemplate template; private final BiomeTemplate template;
private final ConfigPack pack;
private final Map<Long, UserDefinedBiome> biomeMap = new ConcurrentHashMap<>(); private final Map<Long, UserDefinedBiome> biomeMap = new ConcurrentHashMap<>();
public UserDefinedBiomeBuilder(BiomeTemplate template, ConfigPack pack) { public UserDefinedBiomeBuilder(BiomeTemplate template) {
this.template = template; this.template = template;
this.pack = pack;
} }
@Override @Override
@@ -24,7 +22,7 @@ public class UserDefinedBiomeBuilder implements BiomeBuilder {
synchronized(biomeMap) { synchronized(biomeMap) {
return biomeMap.computeIfAbsent(seed, return biomeMap.computeIfAbsent(seed,
s -> { 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()); template.getBlendDistance(), template.getBlendStep(), template.getBlendWeight());
return new UserDefinedBiome(template.getVanilla(), generator, template); return new UserDefinedBiome(template.getVanilla(), generator, template);
} }
@@ -6,7 +6,6 @@ import com.dfsek.terra.api.world.biome.Generator;
import com.dfsek.terra.api.world.biome.PaletteSettings; import com.dfsek.terra.api.world.biome.PaletteSettings;
public class UserDefinedGenerator implements Generator { public class UserDefinedGenerator implements Generator {
private final PaletteSettings paletteSettings;
private final NoiseSampler noise; private final NoiseSampler noise;
private final NoiseSampler elevation; private final NoiseSampler elevation;
@@ -18,8 +17,7 @@ public class UserDefinedGenerator implements Generator {
private final int blendStep; private final int blendStep;
private final double blendWeight; private final double blendWeight;
public UserDefinedGenerator(PaletteHolder palettes, NoiseSampler noise, NoiseSampler elevation, NoiseSampler carving, NoiseSampler biomeNoise, double elevationWeight, int blendDistance, int blendStep, double blendWeight) { public UserDefinedGenerator(NoiseSampler noise, NoiseSampler elevation, NoiseSampler carving, NoiseSampler biomeNoise, double elevationWeight, int blendDistance, int blendStep, double blendWeight) {
this.paletteSettings = new PaletteSettingsImpl(palettes);
this.noise = noise; this.noise = noise;
this.elevation = elevation; this.elevation = elevation;
this.carving = carving; this.carving = carving;
@@ -56,11 +54,6 @@ public class UserDefinedGenerator implements Generator {
return blendWeight; return blendWeight;
} }
@Override
public PaletteSettings getPaletteSettings() {
return paletteSettings;
}
@Override @Override
public NoiseSampler getBiomeNoise() { public NoiseSampler getBiomeNoise() {
return biomeNoise; return biomeNoise;
@@ -28,8 +28,6 @@ public interface Generator {
double getWeight(); double getWeight();
PaletteSettings getPaletteSettings();
NoiseSampler getBiomeNoise(); NoiseSampler getBiomeNoise();
double getElevationWeight(); double getElevationWeight();