mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2025-07-03 16:35:50 +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.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.BiomeSource;
|
||||||
import com.dfsek.terra.addons.biome.pipeline.source.NoiseSource;
|
import com.dfsek.terra.addons.biome.pipeline.source.NoiseSource;
|
||||||
import com.dfsek.terra.api.config.meta.Meta;
|
import com.dfsek.terra.api.config.meta.Meta;
|
||||||
@ -22,7 +23,7 @@ public class NoiseSourceTemplate extends SourceTemplate {
|
|||||||
private @Meta NoiseSampler noise;
|
private @Meta NoiseSampler noise;
|
||||||
|
|
||||||
@Value("biomes")
|
@Value("biomes")
|
||||||
private @Meta ProbabilityCollection<@Meta Biome> biomes;
|
private @Meta ProbabilityCollection<@Meta BiomeDelegate> biomes;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BiomeSource get() {
|
public BiomeSource get() {
|
||||||
|
@ -7,11 +7,12 @@
|
|||||||
|
|
||||||
package com.dfsek.terra.addons.biome.pipeline.source;
|
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;
|
import com.dfsek.terra.api.world.biome.Biome;
|
||||||
|
|
||||||
|
|
||||||
public interface BiomeSource {
|
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;
|
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.noise.NoiseSampler;
|
||||||
import com.dfsek.terra.api.util.collection.ProbabilityCollection;
|
import com.dfsek.terra.api.util.collection.ProbabilityCollection;
|
||||||
import com.dfsek.terra.api.world.biome.Biome;
|
import com.dfsek.terra.api.world.biome.Biome;
|
||||||
|
|
||||||
|
|
||||||
public class NoiseSource implements BiomeSource {
|
public class NoiseSource implements BiomeSource {
|
||||||
private final ProbabilityCollection<Biome> biomes;
|
private final ProbabilityCollection<BiomeDelegate> biomes;
|
||||||
private final NoiseSampler sampler;
|
private final NoiseSampler sampler;
|
||||||
|
|
||||||
public NoiseSource(ProbabilityCollection<Biome> biomes, NoiseSampler sampler) {
|
public NoiseSource(ProbabilityCollection<BiomeDelegate> biomes, NoiseSampler sampler) {
|
||||||
this.biomes = biomes;
|
this.biomes = biomes;
|
||||||
this.sampler = sampler;
|
this.sampler = sampler;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@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);
|
return biomes.get(sampler, x, z, seed);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Iterable<Biome> getBiomes() {
|
public Iterable<BiomeDelegate> getBiomes() {
|
||||||
return biomes.getContents();
|
return biomes.getContents();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user