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

View File

@@ -17,6 +17,6 @@ public final class PaletteUtil {
}
}
return c.getPaletteSettings().getPalette(y);
return paletteInfo.getPaletteHolder().getPalette(y);
}
}

View File

@@ -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;
}
}

View File

@@ -14,6 +14,6 @@ public class BiomeFactory implements ConfigFactory<BiomeTemplate, BiomeBuilder>
@Override
public BiomeBuilder build(BiomeTemplate template, TerraPlugin main) {
return new UserDefinedBiomeBuilder(template, pack);
return new UserDefinedBiomeBuilder(template);
}
}

View File

@@ -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<Biome> 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<String> tags = new HashSet<>();
/*@Value("carving")
@Default
private Map<UserDefinedCarver, Integer> carvers = new HashMap<>();*/
@Value("colors")
@Default
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;
}
public Palette getOceanPalette() {
return oceanPalette;
}
public String getID() {
return id;
}
public PaletteHolder getPalette() {
return palette;
}
public ProbabilityCollection<Biome> getVanilla() {
return vanilla;
}

View File

@@ -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<Long, UserDefinedBiome> 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);
}

View File

@@ -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;

View File

@@ -28,8 +28,6 @@ public interface Generator {
double getWeight();
PaletteSettings getPaletteSettings();
NoiseSampler getBiomeNoise();
double getElevationWeight();