mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2025-07-03 00:15:35 +00:00
make BiomeSource use biome delegates
This commit is contained in:
parent
3afc9d2c5d
commit
9416e2fbaa
@ -9,6 +9,7 @@ package com.dfsek.terra.addons.biome.pipeline.config;
|
||||
|
||||
import com.dfsek.tectonic.annotations.Value;
|
||||
|
||||
import com.dfsek.terra.addons.biome.pipeline.api.BiomeDelegate;
|
||||
import com.dfsek.terra.addons.biome.pipeline.source.BiomeSource;
|
||||
import com.dfsek.terra.addons.biome.pipeline.source.NoiseSource;
|
||||
import com.dfsek.terra.api.config.meta.Meta;
|
||||
@ -22,7 +23,7 @@ public class NoiseSourceTemplate extends SourceTemplate {
|
||||
private @Meta NoiseSampler noise;
|
||||
|
||||
@Value("biomes")
|
||||
private @Meta ProbabilityCollection<@Meta Biome> biomes;
|
||||
private @Meta ProbabilityCollection<@Meta BiomeDelegate> biomes;
|
||||
|
||||
@Override
|
||||
public BiomeSource get() {
|
||||
|
@ -7,11 +7,12 @@
|
||||
|
||||
package com.dfsek.terra.addons.biome.pipeline.source;
|
||||
|
||||
import com.dfsek.terra.addons.biome.pipeline.api.BiomeDelegate;
|
||||
import com.dfsek.terra.api.world.biome.Biome;
|
||||
|
||||
|
||||
public interface BiomeSource {
|
||||
Biome getBiome(double x, double z, long seed);
|
||||
BiomeDelegate getBiome(double x, double z, long seed);
|
||||
|
||||
Iterable<Biome> getBiomes();
|
||||
Iterable<BiomeDelegate> getBiomes();
|
||||
}
|
||||
|
@ -7,27 +7,29 @@
|
||||
|
||||
package com.dfsek.terra.addons.biome.pipeline.source;
|
||||
|
||||
import com.dfsek.terra.addons.biome.pipeline.api.BiomeDelegate;
|
||||
import com.dfsek.terra.addons.biome.pipeline.config.BiomeDelegateLoader;
|
||||
import com.dfsek.terra.api.noise.NoiseSampler;
|
||||
import com.dfsek.terra.api.util.collection.ProbabilityCollection;
|
||||
import com.dfsek.terra.api.world.biome.Biome;
|
||||
|
||||
|
||||
public class NoiseSource implements BiomeSource {
|
||||
private final ProbabilityCollection<Biome> biomes;
|
||||
private final ProbabilityCollection<BiomeDelegate> biomes;
|
||||
private final NoiseSampler sampler;
|
||||
|
||||
public NoiseSource(ProbabilityCollection<Biome> biomes, NoiseSampler sampler) {
|
||||
public NoiseSource(ProbabilityCollection<BiomeDelegate> biomes, NoiseSampler sampler) {
|
||||
this.biomes = biomes;
|
||||
this.sampler = sampler;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Biome getBiome(double x, double z, long seed) {
|
||||
public BiomeDelegate getBiome(double x, double z, long seed) {
|
||||
return biomes.get(sampler, x, z, seed);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterable<Biome> getBiomes() {
|
||||
public Iterable<BiomeDelegate> getBiomes() {
|
||||
return biomes.getContents();
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user