remove SeededNoiseSampler from configs

This commit is contained in:
dfsek 2021-07-19 21:10:49 -07:00
parent 3bf8fe7901
commit 6f40e7b1f5
35 changed files with 92 additions and 109 deletions

View File

@ -34,6 +34,6 @@ public class BiomePipelineTemplate extends BiomeProviderTemplate {
BiomePipelineImpl.BiomePipelineBuilder biomePipelineBuilder = new BiomePipelineImpl.BiomePipelineBuilder(initialSize);
stages.forEach(biomePipelineBuilder::addStage);
BiomePipelineImpl pipeline = biomePipelineBuilder.build(source.build(seed), seed);
return new StandardBiomeProvider(pipeline, main, resolution, blend.build(seed), blendAmp, (int) seed);
return new StandardBiomeProvider(pipeline, main, resolution, blend, blendAmp, (int) seed);
}
}

View File

@ -3,6 +3,7 @@ package com.dfsek.terra.addons.biome.pipeline.config;
import com.dfsek.tectonic.annotations.Default;
import com.dfsek.tectonic.annotations.Value;
import com.dfsek.tectonic.loading.object.ObjectTemplate;
import com.dfsek.terra.api.noise.NoiseSampler;
import com.dfsek.terra.api.util.seeded.SeededBuilder;
import com.dfsek.terra.api.util.seeded.SeededNoiseSampler;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
@ -13,7 +14,7 @@ public abstract class BiomeProviderTemplate implements ObjectTemplate<SeededBuil
protected int resolution = 1;
@Value("blend.noise")
@Default
protected SeededNoiseSampler blend = SeededNoiseSampler.zero(2);
protected NoiseSampler blend = NoiseSampler.zero();
@Value("blend.amplitude")
@Default
protected double blendAmp = 0d;

View File

@ -2,6 +2,7 @@ package com.dfsek.terra.addons.biome.pipeline.config;
import com.dfsek.tectonic.annotations.Value;
import com.dfsek.terra.addons.biome.pipeline.source.RandomSource;
import com.dfsek.terra.api.noise.NoiseSampler;
import com.dfsek.terra.api.util.collection.ProbabilityCollection;
import com.dfsek.terra.api.util.seeded.SeededTerraBiome;
import com.dfsek.terra.api.util.seeded.SeededNoiseSampler;
@ -9,13 +10,13 @@ import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeSource;
public class NoiseSourceTemplate extends SourceTemplate {
@Value("noise")
private SeededNoiseSampler noise;
private NoiseSampler noise;
@Value("biomes")
private ProbabilityCollection<SeededTerraBiome> biomes;
@Override
public BiomeSource build(long seed) {
return new RandomSource(biomes.map((biome) -> biome.build(seed), false), noise.build(seed));
return new RandomSource(biomes.map((biome) -> biome.build(seed), false), noise);
}
}

View File

@ -4,12 +4,13 @@ import com.dfsek.tectonic.annotations.Value;
import com.dfsek.tectonic.loading.object.ObjectTemplate;
import com.dfsek.terra.addons.biome.pipeline.StageSeeded;
import com.dfsek.terra.addons.biome.pipeline.api.Stage;
import com.dfsek.terra.api.noise.NoiseSampler;
import com.dfsek.terra.api.util.seeded.SeededNoiseSampler;
import com.dfsek.terra.api.util.seeded.SeededBuilder;
public abstract class StageTemplate implements ObjectTemplate<SeededBuilder<Stage>>, StageSeeded {
@Value("noise")
protected SeededNoiseSampler noise;
protected NoiseSampler noise;
@Override
public StageSeeded get() {

View File

@ -8,6 +8,6 @@ import com.dfsek.terra.addons.biome.pipeline.stages.ExpanderStage;
public class ExpanderStageTemplate extends StageTemplate {
@Override
public Stage build(long seed) {
return new ExpanderStage(new FractalExpander(noise.build(seed)));
return new ExpanderStage(new FractalExpander(noise));
}
}

View File

@ -31,6 +31,6 @@ public class BorderListMutatorTemplate extends MutatorStageTemplate {
replace.forEach((keyBuilder, replacements) -> replaceMap.put(keyBuilder.build(seed), replacements.map(replacement -> replacement.build(seed), true)));
return new BorderListMutator(replaceMap, from, defaultReplace, noise.build(seed), defaultTo.map(biomeBuilder -> biomeBuilder.build(seed), true));
return new BorderListMutator(replaceMap, from, defaultReplace, noise, defaultTo.map(biomeBuilder -> biomeBuilder.build(seed), true));
}
}

View File

@ -19,6 +19,6 @@ public class BorderMutatorTemplate extends MutatorStageTemplate {
@Override
public BiomeMutator getMutator(long seed) {
return new BorderMutator(from, replace, noise.build(seed), to.map(biomeBuilder -> biomeBuilder.build(seed), true));
return new BorderMutator(from, replace, noise, to.map(biomeBuilder -> biomeBuilder.build(seed), true));
}
}

View File

@ -27,6 +27,6 @@ public class ReplaceListMutatorTemplate extends MutatorStageTemplate {
replace.forEach((biomeBuilder, biomeBuilders) -> replaceMap.put(biomeBuilder.build(seed), biomeBuilders.map(builder -> builder.build(seed), true)));
return new ReplaceListMutator(replaceMap, defaultFrom, defaultTo.map(biomeBuilder -> biomeBuilder.build(seed), true), noise.build(seed));
return new ReplaceListMutator(replaceMap, defaultFrom, defaultTo.map(biomeBuilder -> biomeBuilder.build(seed), true), noise);
}
}

View File

@ -16,6 +16,6 @@ public class ReplaceMutatorTemplate extends MutatorStageTemplate {
@Override
public BiomeMutator getMutator(long seed) {
return new ReplaceMutator(from, to.map(biomeBuilder -> biomeBuilder.build(seed), true), noise.build(seed));
return new ReplaceMutator(from, to.map(biomeBuilder -> biomeBuilder.build(seed), true), noise);
}
}

View File

@ -6,6 +6,6 @@ import com.dfsek.terra.addons.biome.pipeline.mutator.SmoothMutator;
public class SmoothMutatorTemplate extends MutatorStageTemplate {
@Override
public BiomeMutator getMutator(long seed) {
return new SmoothMutator(noise.build(seed));
return new SmoothMutator(noise);
}
}

View File

@ -11,6 +11,7 @@ import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.block.BlockType;
import com.dfsek.terra.api.config.AbstractableTemplate;
import com.dfsek.terra.api.config.ConfigPack;
import com.dfsek.terra.api.noise.NoiseSampler;
import com.dfsek.terra.api.util.collection.ProbabilityCollection;
import com.dfsek.terra.api.util.seeded.SeededNoiseSampler;
import com.dfsek.terra.api.world.biome.Biome;
@ -42,14 +43,14 @@ public class BiomeTemplate implements AbstractableTemplate, ValidatedConfigTempl
@Value("beta.carving.equation")
@Default
private SeededNoiseSampler carvingEquation = SeededNoiseSampler.zero(3);
private NoiseSampler carvingEquation = NoiseSampler.zero();
@Value("vanilla")
private ProbabilityCollection<Biome> vanilla;
@Value("biome-noise")
@Default
private SeededNoiseSampler biomeNoise = SeededNoiseSampler.zero(2);
private NoiseSampler biomeNoise = NoiseSampler.zero();
@Value("blend.distance")
@Default
@ -64,7 +65,7 @@ public class BiomeTemplate implements AbstractableTemplate, ValidatedConfigTempl
private int blendStep = 4;
@Value("noise")
private SeededNoiseSampler noiseEquation;
private NoiseSampler noiseEquation;
@Value("ocean.level")
@Default
@ -72,7 +73,7 @@ public class BiomeTemplate implements AbstractableTemplate, ValidatedConfigTempl
@Value("elevation.equation")
@Default
private SeededNoiseSampler elevationEquation = SeededNoiseSampler.zero(2);
private NoiseSampler elevationEquation = NoiseSampler.zero();
@Value("elevation.weight")
@Default
@ -159,15 +160,15 @@ public class BiomeTemplate implements AbstractableTemplate, ValidatedConfigTempl
return stairPalettes;
}
public SeededNoiseSampler getBiomeNoise() {
public NoiseSampler getBiomeNoise() {
return biomeNoise;
}
public SeededNoiseSampler getElevationEquation() {
public NoiseSampler getElevationEquation() {
return elevationEquation;
}
public SeededNoiseSampler getCarvingEquation() {
public NoiseSampler getCarvingEquation() {
return carvingEquation;
}
@ -187,7 +188,7 @@ public class BiomeTemplate implements AbstractableTemplate, ValidatedConfigTempl
return vanilla;
}
public SeededNoiseSampler getNoiseEquation() {
public NoiseSampler getNoiseEquation() {
return noiseEquation;
}
@ -206,36 +207,6 @@ public class BiomeTemplate implements AbstractableTemplate, ValidatedConfigTempl
@Override
public boolean validate() throws ValidationException {
color |= 0xff000000; // Alpha adjustment
Parser tester = new Parser();
Scope testScope = new Scope();
variables.forEach(testScope::create);
testScope.addInvocationVariable("x");
testScope.addInvocationVariable("y");
testScope.addInvocationVariable("z");
//pack.getTemplate().getNoiseBuilderMap().forEach((id, builder) -> tester.registerFunction(id, new BlankFunction(builder.getDimensions()))); // Register dummy functions
try {
noiseEquation.build(0L);
} catch(Exception e) {
throw new ValidationException("Invalid noise sampler: ", e);
}
try {
carvingEquation.build(0L);
} catch(Exception e) {
throw new ValidationException("Invalid carving sampler: ", e);
}
try {
elevationEquation.build(0L);
} catch(Exception e) {
throw new ValidationException("Invalid elevation sampler: ", e);
}
return true;
}
}

View File

@ -23,7 +23,7 @@ public class UserDefinedSeededTerraBiome implements SeededTerraBiome {
synchronized(biomeMap) {
return biomeMap.computeIfAbsent(seed,
s -> {
UserDefinedGenerator generator = new UserDefinedGenerator(template.getNoiseEquation().build(seed), template.getElevationEquation().build(seed), template.getCarvingEquation().build(seed), template.getBiomeNoise().build(seed), template.getElevationWeight(),
UserDefinedGenerator generator = new UserDefinedGenerator(template.getNoiseEquation(), template.getElevationEquation(), template.getCarvingEquation(), template.getBiomeNoise(), template.getElevationWeight(),
template.getBlendDistance(), template.getBlendStep(), template.getBlendWeight());
return new UserDefinedBiome(template.getVanilla(), generator, template, context);
}

View File

@ -3,16 +3,17 @@ package com.dfsek.terra.addons.feature.distributor.config;
import com.dfsek.tectonic.annotations.Value;
import com.dfsek.tectonic.loading.object.ObjectTemplate;
import com.dfsek.terra.addons.feature.distributor.distributors.NoiseDistributor;
import com.dfsek.terra.api.noise.NoiseSampler;
import com.dfsek.terra.api.structure.feature.Distributor;
import com.dfsek.terra.api.util.seeded.SeededBuilder;
import com.dfsek.terra.api.util.seeded.SeededNoiseSampler;
public class NoiseDistributorTemplate implements ObjectTemplate<SeededBuilder<Distributor>> {
@Value("distribution")
private SeededNoiseSampler noise;
private NoiseSampler noise;
@Override
public SeededBuilder<Distributor> get() {
return seed -> new NoiseDistributor(noise.build(seed));
return seed -> new NoiseDistributor(noise);
}
}

View File

@ -8,6 +8,6 @@ import com.dfsek.terra.api.world.Flora;
public class FloraFactory implements ConfigFactory<FloraTemplate, Flora> {
@Override
public TerraFlora build(FloraTemplate config, TerraPlugin main) {
return new TerraFlora(config.getLayers(), config.doPhysics(), config.isCeiling(), config.getIrrigable(), config.getSpawnable(), config.getReplaceable(), config.getRotatable(), config.getMaxPlacements(), config.getSearch(), config.isSpawnBlacklist(), config.getIrrigableOffset(), main, config.getNoiseDistribution().build(2403));
return new TerraFlora(config.getLayers(), config.doPhysics(), config.isCeiling(), config.getIrrigable(), config.getSpawnable(), config.getReplaceable(), config.getRotatable(), config.getMaxPlacements(), config.getSearch(), config.isSpawnBlacklist(), config.getIrrigableOffset(), main, config.getNoiseDistribution());
}
}

View File

@ -6,6 +6,7 @@ import com.dfsek.tectonic.annotations.Value;
import com.dfsek.terra.addons.flora.flora.gen.BlockLayer;
import com.dfsek.terra.addons.flora.flora.gen.TerraFlora;
import com.dfsek.terra.api.config.AbstractableTemplate;
import com.dfsek.terra.api.noise.NoiseSampler;
import com.dfsek.terra.api.util.collection.MaterialSet;
import com.dfsek.terra.api.util.seeded.SeededNoiseSampler;
@ -61,9 +62,9 @@ public class FloraTemplate implements AbstractableTemplate {
private List<BlockLayer> layers;
@Value("layer-distribution")
private SeededNoiseSampler noiseDistribution;
private NoiseSampler noiseDistribution;
public SeededNoiseSampler getNoiseDistribution() {
public NoiseSampler getNoiseDistribution() {
return noiseDistribution;
}

View File

@ -0,0 +1,22 @@
package com.dfsek.terra.addons.noise.config;
import com.dfsek.terra.api.noise.NoiseSampler;
public class DimensionApplicableNoiseSampler {
private final int dimensions;
private final NoiseSampler sampler;
public DimensionApplicableNoiseSampler(int dimensions, NoiseSampler sampler) {
this.dimensions = dimensions;
this.sampler = sampler;
}
public int getDimensions() {
return dimensions;
}
public NoiseSampler getSampler() {
return sampler;
}
}

View File

@ -9,10 +9,10 @@ import com.dfsek.terra.api.util.seeded.SeededNoiseSampler;
@SuppressWarnings({"unused", "FieldMayBeFinal"})
public class DomainWarpTemplate extends SamplerTemplate<DomainWarpedSampler> {
@Value("warp")
private SeededNoiseSampler warp;
private NoiseSampler warp;
@Value("function")
private SeededNoiseSampler function;
private NoiseSampler function;
@Value("salt")
@Default
@ -24,6 +24,6 @@ public class DomainWarpTemplate extends SamplerTemplate<DomainWarpedSampler> {
@Override
public NoiseSampler build(long seed) {
return new DomainWarpedSampler(function.build(seed), warp.build(seed), amplitude);
return new DomainWarpedSampler(function, warp, amplitude);
}
}

View File

@ -21,7 +21,7 @@ public class KernelTemplate extends SamplerTemplate<KernelSampler> implements Va
private double factor = 1;
@Value("function")
private SeededNoiseSampler function;
private NoiseSampler function;
@Value("frequency")
@Default
@ -37,7 +37,7 @@ public class KernelTemplate extends SamplerTemplate<KernelSampler> implements Va
}
}
KernelSampler sampler = new KernelSampler(k, function.build(seed));
KernelSampler sampler = new KernelSampler(k, function);
sampler.setFrequency(frequency);
return sampler;
}

View File

@ -24,22 +24,12 @@ public class CellularNoiseTemplate extends NoiseTemplate<CellularSampler> {
@Value("lookup")
@Default
private SeededNoiseSampler lookup = new SeededNoiseSampler() {
@Override
public NoiseSampler build(long seed) {
return new OpenSimplex2Sampler();
}
@Override
public int getDimensions() {
return 2;
}
};
private NoiseSampler lookup = new OpenSimplex2Sampler();
@Override
public NoiseSampler build(long seed) {
CellularSampler sampler = new CellularSampler();
sampler.setNoiseLookup(lookup.build(seed));
sampler.setNoiseLookup(lookup);
sampler.setFrequency(frequency);
sampler.setJitterModifier(cellularJitter);
sampler.setReturnType(cellularReturnType);

View File

@ -8,6 +8,7 @@ import com.dfsek.tectonic.annotations.Default;
import com.dfsek.tectonic.annotations.Value;
import com.dfsek.tectonic.config.ValidatedConfigTemplate;
import com.dfsek.tectonic.exception.ValidationException;
import com.dfsek.terra.addons.noise.config.DimensionApplicableNoiseSampler;
import com.dfsek.terra.addons.noise.config.templates.FunctionTemplate;
import com.dfsek.terra.addons.noise.config.templates.SamplerTemplate;
import com.dfsek.terra.addons.noise.paralithic.defined.UserDefinedFunction;
@ -32,7 +33,7 @@ public class ExpressionFunctionTemplate extends SamplerTemplate<ExpressionFuncti
private String equation;
@Value("functions")
@Default
private LinkedHashMap<String, SeededNoiseSampler> functions = new LinkedHashMap<>();
private LinkedHashMap<String, DimensionApplicableNoiseSampler> functions = new LinkedHashMap<>();
@Value("expressions")
@Default
private LinkedHashMap<String, FunctionTemplate> expressions = new LinkedHashMap<>();
@ -77,8 +78,8 @@ public class ExpressionFunctionTemplate extends SamplerTemplate<ExpressionFuncti
functions.forEach((id, function) -> {
if(function.getDimensions() == 2) {
noiseFunctionMap.put(id, new NoiseFunction2(function.build(seed)));
} else noiseFunctionMap.put(id, new NoiseFunction3(function.build(seed)));
noiseFunctionMap.put(id, new NoiseFunction2(function.getSampler()));
} else noiseFunctionMap.put(id, new NoiseFunction3(function.getSampler()));
});
return noiseFunctionMap;

View File

@ -6,7 +6,7 @@ import com.dfsek.terra.api.noise.NoiseSampler;
public class BrownianMotionTemplate extends FractalTemplate<BrownianMotionSampler> {
@Override
public NoiseSampler build(long seed) {
BrownianMotionSampler sampler = new BrownianMotionSampler((int) seed, function.build(seed));
BrownianMotionSampler sampler = new BrownianMotionSampler((int) seed, function);
sampler.setGain(fractalGain);
sampler.setLacunarity(fractalLacunarity);
sampler.setOctaves(octaves);

View File

@ -4,6 +4,7 @@ import com.dfsek.tectonic.annotations.Default;
import com.dfsek.tectonic.annotations.Value;
import com.dfsek.terra.addons.noise.config.templates.SamplerTemplate;
import com.dfsek.terra.addons.noise.samplers.noise.fractal.FractalNoiseFunction;
import com.dfsek.terra.api.noise.NoiseSampler;
import com.dfsek.terra.api.util.seeded.SeededNoiseSampler;
public abstract class FractalTemplate<T extends FractalNoiseFunction> extends SamplerTemplate<T> {
@ -24,5 +25,5 @@ public abstract class FractalTemplate<T extends FractalNoiseFunction> extends Sa
protected double weightedStrength = 0.0D;
@Value("function")
protected SeededNoiseSampler function;
protected NoiseSampler function;
}

View File

@ -13,7 +13,7 @@ public class PingPongTemplate extends FractalTemplate<PingPongSampler> {
@Override
public NoiseSampler build(long seed) {
PingPongSampler sampler = new PingPongSampler((int) seed, function.build(seed));
PingPongSampler sampler = new PingPongSampler((int) seed, function);
sampler.setGain(fractalGain);
sampler.setLacunarity(fractalLacunarity);
sampler.setOctaves(octaves);

View File

@ -6,7 +6,7 @@ import com.dfsek.terra.api.noise.NoiseSampler;
public class RidgedFractalTemplate extends FractalTemplate<RidgedFractalSampler> {
@Override
public NoiseSampler build(long seed) {
RidgedFractalSampler sampler = new RidgedFractalSampler((int) seed, function.build(seed));
RidgedFractalSampler sampler = new RidgedFractalSampler((int) seed, function);
sampler.setGain(fractalGain);
sampler.setLacunarity(fractalLacunarity);
sampler.setOctaves(octaves);

View File

@ -14,6 +14,6 @@ public class ClampNormalizerTemplate extends NormalizerTemplate<ClampNormalizer>
@Override
public NoiseSampler build(long seed) {
return new ClampNormalizer(function.build(seed), min, max);
return new ClampNormalizer(function, min, max);
}
}

View File

@ -14,6 +14,6 @@ public class LinearNormalizerTemplate extends NormalizerTemplate<LinearNormalize
@Override
public NoiseSampler build(long seed) {
return new LinearNormalizer(function.build(seed), min, max);
return new LinearNormalizer(function, min, max);
}
}

View File

@ -19,6 +19,6 @@ public class NormalNormalizerTemplate extends NormalizerTemplate<NormalNormalize
@Override
public NoiseSampler build(long seed) {
return new NormalNormalizer(function.build(seed), groups, mean, stdDev);
return new NormalNormalizer(function, groups, mean, stdDev);
}
}

View File

@ -3,9 +3,10 @@ package com.dfsek.terra.addons.noise.config.templates.normalizer;
import com.dfsek.tectonic.annotations.Value;
import com.dfsek.terra.addons.noise.config.templates.SamplerTemplate;
import com.dfsek.terra.addons.noise.normalizer.Normalizer;
import com.dfsek.terra.api.noise.NoiseSampler;
import com.dfsek.terra.api.util.seeded.SeededNoiseSampler;
public abstract class NormalizerTemplate<T extends Normalizer> extends SamplerTemplate<T> {
@Value("function")
protected SeededNoiseSampler function;
protected NoiseSampler function;
}

View File

@ -9,7 +9,7 @@ import com.dfsek.terra.api.world.generator.Palette;
public class PaletteFactory implements ConfigFactory<PaletteTemplate, Palette> {
@Override
public Palette build(PaletteTemplate config, TerraPlugin main) {
NoisePalette palette = new NoisePalette(config.getNoise().build(2403L), config.getNoise().getDimensions() == 2);
NoisePalette palette = new NoisePalette(config.getNoise());
for(PaletteLayerHolder layer : config.getPalette()) {
palette.add(layer.getLayer(), layer.getSize(), layer.getSampler());
}

View File

@ -5,6 +5,7 @@ import com.dfsek.tectonic.annotations.Final;
import com.dfsek.tectonic.annotations.Value;
import com.dfsek.terra.addons.palette.palette.PaletteLayerHolder;
import com.dfsek.terra.api.config.AbstractableTemplate;
import com.dfsek.terra.api.noise.NoiseSampler;
import com.dfsek.terra.api.util.seeded.SeededNoiseSampler;
import java.util.List;
@ -13,7 +14,7 @@ import java.util.List;
public class PaletteTemplate implements AbstractableTemplate {
@Value("noise")
@Default
private SeededNoiseSampler noise = SeededNoiseSampler.zero(2);
private NoiseSampler noise = NoiseSampler.zero();
@Value("id")
@Final
@ -30,7 +31,7 @@ public class PaletteTemplate implements AbstractableTemplate {
return palette;
}
public SeededNoiseSampler getNoise() {
public NoiseSampler getNoise() {
return noise;
}
}

View File

@ -7,12 +7,10 @@ import java.util.List;
public class NoisePalette extends PaletteImpl {
private final NoiseSampler sampler;
private final boolean is2D;
public NoisePalette(NoiseSampler sampler, boolean is2D) {
public NoisePalette(NoiseSampler sampler) {
this.sampler = sampler;
this.is2D = is2D;
}
}
@Override
public BlockState get(int layer, double x, double y, double z, long seed) {
@ -24,6 +22,6 @@ public class NoisePalette extends PaletteImpl {
else paletteLayer = pl.get(layer);
}
NoiseSampler paletteSampler = paletteLayer.getSampler();
return paletteLayer.get(paletteSampler == null ? sampler : paletteSampler, x, y, z, is2D, seed);
return paletteLayer.get(paletteSampler == null ? sampler : paletteSampler, x, y, z, seed);
}
}

View File

@ -86,19 +86,9 @@ public abstract class PaletteImpl implements Palette {
return sampler;
}
/**
* Gets a material from the layer.
*
* @return Material - the material..
*/
public BlockState get(Random random) {
if(col) return this.collection.get(random);
return m;
}
public BlockState get(NoiseSampler random, double x, double y, double z, boolean is2D, long seed) {
if(col && is2D) return this.collection.get(random, x, z, seed);
else if(col) return this.collection.get(random, x, y, z, seed);
public BlockState get(NoiseSampler random, double x, double y, double z, long seed) {
if(col) return this.collection.get(random, x, y, z, seed);
return m;
}

View File

@ -2,6 +2,7 @@ package com.dfsek.terra.addons.generation.flora;
import com.dfsek.tectonic.annotations.Value;
import com.dfsek.tectonic.loading.object.ObjectTemplate;
import com.dfsek.terra.api.noise.NoiseSampler;
import com.dfsek.terra.api.util.Range;
import com.dfsek.terra.api.util.collection.ProbabilityCollection;
import com.dfsek.terra.api.util.seeded.SeededNoiseSampler;
@ -18,11 +19,11 @@ public class FloraLayerLoader implements ObjectTemplate<FloraLayer> {
private ProbabilityCollection<Flora> items;
@Value("distribution")
private SeededNoiseSampler distribution;
private NoiseSampler distribution;
@Override
public FloraLayer get() {
return new FloraLayer(density, y, items, distribution.build(2403L));
return new FloraLayer(density, y, items, distribution);
}
}

View File

@ -2,6 +2,7 @@ package com.dfsek.terra.addons.generation.tree;
import com.dfsek.tectonic.annotations.Value;
import com.dfsek.tectonic.loading.object.ObjectTemplate;
import com.dfsek.terra.api.noise.NoiseSampler;
import com.dfsek.terra.api.util.Range;
import com.dfsek.terra.api.util.collection.ProbabilityCollection;
import com.dfsek.terra.api.util.seeded.SeededNoiseSampler;
@ -18,10 +19,10 @@ public class TreeLayerTemplate implements ObjectTemplate<TreeLayer> {
private ProbabilityCollection<Tree> items;
@Value("distribution")
private SeededNoiseSampler distribution;
private NoiseSampler distribution;
@Override
public TreeLayer get() {
return new TreeLayer(density, y, items, distribution.build(2403L));
return new TreeLayer(density, y, items, distribution);
}
}

View File

@ -2,15 +2,16 @@ package noise;
import com.dfsek.tectonic.annotations.Value;
import com.dfsek.tectonic.config.ConfigTemplate;
import com.dfsek.terra.api.noise.NoiseSampler;
import com.dfsek.terra.api.util.seeded.SeededNoiseSampler;
@SuppressWarnings("unused")
public class NoiseConfigTemplate implements ConfigTemplate {
@Value(".")
private SeededNoiseSampler builder;
private NoiseSampler builder;
public SeededNoiseSampler getBuilder() {
public NoiseSampler getBuilder() {
return builder;
}
}