NoiseSeeded -> SeededNoiseSampler

This commit is contained in:
dfsek 2021-07-17 21:36:27 -07:00
parent 1194cca485
commit 84e7d11156
23 changed files with 65 additions and 67 deletions

View File

@ -4,7 +4,7 @@ import com.dfsek.tectonic.annotations.Default;
import com.dfsek.tectonic.annotations.Value; import com.dfsek.tectonic.annotations.Value;
import com.dfsek.tectonic.loading.object.ObjectTemplate; import com.dfsek.tectonic.loading.object.ObjectTemplate;
import com.dfsek.terra.api.util.seeded.BiomeProviderBuilder; import com.dfsek.terra.api.util.seeded.BiomeProviderBuilder;
import com.dfsek.terra.api.util.seeded.NoiseSeeded; import com.dfsek.terra.api.util.seeded.SeededNoiseSampler;
public abstract class BiomeProviderTemplate implements ObjectTemplate<BiomeProviderBuilder>, BiomeProviderBuilder { public abstract class BiomeProviderTemplate implements ObjectTemplate<BiomeProviderBuilder>, BiomeProviderBuilder {
@Value("resolution") @Value("resolution")
@ -12,7 +12,7 @@ public abstract class BiomeProviderTemplate implements ObjectTemplate<BiomeProvi
protected int resolution = 1; protected int resolution = 1;
@Value("blend.noise") @Value("blend.noise")
@Default @Default
protected NoiseSeeded blend = NoiseSeeded.zero(2); protected SeededNoiseSampler blend = SeededNoiseSampler.zero(2);
@Value("blend.amplitude") @Value("blend.amplitude")
@Default @Default
protected double blendAmp = 0d; protected double blendAmp = 0d;

View File

@ -4,12 +4,12 @@ import com.dfsek.tectonic.annotations.Value;
import com.dfsek.terra.addons.biome.pipeline.source.RandomSource; import com.dfsek.terra.addons.biome.pipeline.source.RandomSource;
import com.dfsek.terra.api.util.collection.ProbabilityCollection; import com.dfsek.terra.api.util.collection.ProbabilityCollection;
import com.dfsek.terra.api.util.seeded.BiomeBuilder; import com.dfsek.terra.api.util.seeded.BiomeBuilder;
import com.dfsek.terra.api.util.seeded.NoiseSeeded; import com.dfsek.terra.api.util.seeded.SeededNoiseSampler;
import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeSource; import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeSource;
public class NoiseSourceTemplate extends SourceTemplate { public class NoiseSourceTemplate extends SourceTemplate {
@Value("noise") @Value("noise")
private NoiseSeeded noise; private SeededNoiseSampler noise;
@Value("biomes") @Value("biomes")
private ProbabilityCollection<BiomeBuilder> biomes; private ProbabilityCollection<BiomeBuilder> biomes;

View File

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

View File

@ -7,13 +7,12 @@ import com.dfsek.tectonic.annotations.Final;
import com.dfsek.tectonic.annotations.Value; import com.dfsek.tectonic.annotations.Value;
import com.dfsek.tectonic.config.ValidatedConfigTemplate; import com.dfsek.tectonic.config.ValidatedConfigTemplate;
import com.dfsek.tectonic.exception.ValidationException; import com.dfsek.tectonic.exception.ValidationException;
import com.dfsek.terra.addons.biome.holder.PaletteHolder;
import com.dfsek.terra.api.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.block.BlockType; import com.dfsek.terra.api.block.BlockType;
import com.dfsek.terra.api.config.AbstractableTemplate; import com.dfsek.terra.api.config.AbstractableTemplate;
import com.dfsek.terra.api.config.ConfigPack; import com.dfsek.terra.api.config.ConfigPack;
import com.dfsek.terra.api.util.collection.ProbabilityCollection; import com.dfsek.terra.api.util.collection.ProbabilityCollection;
import com.dfsek.terra.api.util.seeded.NoiseSeeded; import com.dfsek.terra.api.util.seeded.SeededNoiseSampler;
import com.dfsek.terra.api.world.biome.Biome; import com.dfsek.terra.api.world.biome.Biome;
import com.dfsek.terra.api.world.generator.Palette; import com.dfsek.terra.api.world.generator.Palette;
@ -43,14 +42,14 @@ public class BiomeTemplate implements AbstractableTemplate, ValidatedConfigTempl
@Value("beta.carving.equation") @Value("beta.carving.equation")
@Default @Default
private NoiseSeeded carvingEquation = NoiseSeeded.zero(3); private SeededNoiseSampler carvingEquation = SeededNoiseSampler.zero(3);
@Value("vanilla") @Value("vanilla")
private ProbabilityCollection<Biome> vanilla; private ProbabilityCollection<Biome> vanilla;
@Value("biome-noise") @Value("biome-noise")
@Default @Default
private NoiseSeeded biomeNoise = NoiseSeeded.zero(2); private SeededNoiseSampler biomeNoise = SeededNoiseSampler.zero(2);
@Value("blend.distance") @Value("blend.distance")
@Default @Default
@ -65,7 +64,7 @@ public class BiomeTemplate implements AbstractableTemplate, ValidatedConfigTempl
private int blendStep = 4; private int blendStep = 4;
@Value("noise") @Value("noise")
private NoiseSeeded noiseEquation; private SeededNoiseSampler noiseEquation;
@Value("ocean.level") @Value("ocean.level")
@Default @Default
@ -73,7 +72,7 @@ public class BiomeTemplate implements AbstractableTemplate, ValidatedConfigTempl
@Value("elevation.equation") @Value("elevation.equation")
@Default @Default
private NoiseSeeded elevationEquation = NoiseSeeded.zero(2); private SeededNoiseSampler elevationEquation = SeededNoiseSampler.zero(2);
@Value("elevation.weight") @Value("elevation.weight")
@Default @Default
@ -160,15 +159,15 @@ public class BiomeTemplate implements AbstractableTemplate, ValidatedConfigTempl
return stairPalettes; return stairPalettes;
} }
public NoiseSeeded getBiomeNoise() { public SeededNoiseSampler getBiomeNoise() {
return biomeNoise; return biomeNoise;
} }
public NoiseSeeded getElevationEquation() { public SeededNoiseSampler getElevationEquation() {
return elevationEquation; return elevationEquation;
} }
public NoiseSeeded getCarvingEquation() { public SeededNoiseSampler getCarvingEquation() {
return carvingEquation; return carvingEquation;
} }
@ -188,7 +187,7 @@ public class BiomeTemplate implements AbstractableTemplate, ValidatedConfigTempl
return vanilla; return vanilla;
} }
public NoiseSeeded getNoiseEquation() { public SeededNoiseSampler getNoiseEquation() {
return noiseEquation; return noiseEquation;
} }

View File

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

View File

@ -35,7 +35,7 @@ import com.dfsek.terra.api.event.events.config.pack.ConfigPackPreLoadEvent;
import com.dfsek.terra.api.injection.annotations.Inject; import com.dfsek.terra.api.injection.annotations.Inject;
import com.dfsek.terra.api.registry.CheckedRegistry; import com.dfsek.terra.api.registry.CheckedRegistry;
import com.dfsek.terra.api.util.provider.NoiseProvider; import com.dfsek.terra.api.util.provider.NoiseProvider;
import com.dfsek.terra.api.util.seeded.NoiseSeeded; import com.dfsek.terra.api.util.seeded.SeededNoiseSampler;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@ -55,7 +55,7 @@ public class NoiseAddon extends TerraAddon implements EventListener {
public void packPreLoad(ConfigPackPreLoadEvent event) { public void packPreLoad(ConfigPackPreLoadEvent event) {
CheckedRegistry<NoiseProvider> noiseRegistry = event.getPack().getOrCreateRegistry(NoiseProvider.class); CheckedRegistry<NoiseProvider> noiseRegistry = event.getPack().getOrCreateRegistry(NoiseProvider.class);
event.getPack() event.getPack()
.applyLoader(NoiseSeeded.class, new NoiseSamplerBuilderLoader(noiseRegistry)) .applyLoader(SeededNoiseSampler.class, new NoiseSamplerBuilderLoader(noiseRegistry))
.applyLoader(ImageSamplerTemplate.class, ImageSamplerTemplate::new) .applyLoader(ImageSamplerTemplate.class, ImageSamplerTemplate::new)
.applyLoader(DomainWarpTemplate.class, DomainWarpTemplate::new) .applyLoader(DomainWarpTemplate.class, DomainWarpTemplate::new)
.applyLoader(LinearNormalizerTemplate.class, LinearNormalizerTemplate::new) .applyLoader(LinearNormalizerTemplate.class, LinearNormalizerTemplate::new)
@ -96,7 +96,7 @@ public class NoiseAddon extends TerraAddon implements EventListener {
noiseRegistry.register("KERNEL", KernelTemplate::new); noiseRegistry.register("KERNEL", KernelTemplate::new);
Map<String, NoiseSeeded> packFunctions = new HashMap<>(); Map<String, SeededNoiseSampler> packFunctions = new HashMap<>();
noiseRegistry.register("EXPRESSION", () -> new ExpressionFunctionTemplate(packFunctions)); noiseRegistry.register("EXPRESSION", () -> new ExpressionFunctionTemplate(packFunctions));

View File

@ -2,15 +2,15 @@ package com.dfsek.terra.addons.noise;
import com.dfsek.tectonic.annotations.Value; import com.dfsek.tectonic.annotations.Value;
import com.dfsek.tectonic.config.ConfigTemplate; import com.dfsek.tectonic.config.ConfigTemplate;
import com.dfsek.terra.api.util.seeded.NoiseSeeded; import com.dfsek.terra.api.util.seeded.SeededNoiseSampler;
import java.util.Map; import java.util.Map;
public class NoiseConfigPackTemplate implements ConfigTemplate { public class NoiseConfigPackTemplate implements ConfigTemplate {
@Value("noise") @Value("noise")
private Map<String, NoiseSeeded> noiseBuilderMap; private Map<String, SeededNoiseSampler> noiseBuilderMap;
public Map<String, NoiseSeeded> getNoiseBuilderMap() { public Map<String, SeededNoiseSampler> getNoiseBuilderMap() {
return noiseBuilderMap; return noiseBuilderMap;
} }
} }

View File

@ -8,14 +8,14 @@ import com.dfsek.tectonic.loading.TypeLoader;
import com.dfsek.tectonic.loading.object.ObjectTemplate; import com.dfsek.tectonic.loading.object.ObjectTemplate;
import com.dfsek.terra.api.registry.Registry; import com.dfsek.terra.api.registry.Registry;
import com.dfsek.terra.api.util.provider.NoiseProvider; import com.dfsek.terra.api.util.provider.NoiseProvider;
import com.dfsek.terra.api.util.seeded.NoiseSeeded; import com.dfsek.terra.api.util.seeded.SeededNoiseSampler;
import java.lang.reflect.AnnotatedType; import java.lang.reflect.AnnotatedType;
import java.util.Locale; import java.util.Locale;
import java.util.Map; import java.util.Map;
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public class NoiseSamplerBuilderLoader implements TypeLoader<NoiseSeeded> { public class NoiseSamplerBuilderLoader implements TypeLoader<SeededNoiseSampler> {
private final Registry<NoiseProvider> noiseRegistry; private final Registry<NoiseProvider> noiseRegistry;
public NoiseSamplerBuilderLoader(Registry<NoiseProvider> noiseRegistry) { public NoiseSamplerBuilderLoader(Registry<NoiseProvider> noiseRegistry) {
@ -23,13 +23,13 @@ public class NoiseSamplerBuilderLoader implements TypeLoader<NoiseSeeded> {
} }
@Override @Override
public NoiseSeeded load(AnnotatedType t, Object c, ConfigLoader loader) throws LoadException { public SeededNoiseSampler load(AnnotatedType t, Object c, ConfigLoader loader) throws LoadException {
Map<String, Object> map = (Map<String, Object>) c; Map<String, Object> map = (Map<String, Object>) c;
try { try {
if(!noiseRegistry.contains((String) map.get("type"))) { if(!noiseRegistry.contains((String) map.get("type"))) {
throw new LoadException("No such noise function: " + map.get("type")); throw new LoadException("No such noise function: " + map.get("type"));
} }
ObjectTemplate<NoiseSeeded> normalizerTemplate = noiseRegistry.get(((String) map.get("type")).toUpperCase(Locale.ROOT)).get(); ObjectTemplate<SeededNoiseSampler> normalizerTemplate = noiseRegistry.get(((String) map.get("type")).toUpperCase(Locale.ROOT)).get();
loader.load(normalizerTemplate, new MapConfiguration(map)); loader.load(normalizerTemplate, new MapConfiguration(map));
return normalizerTemplate.get(); return normalizerTemplate.get();
} catch(ConfigException e) { } catch(ConfigException e) {

View File

@ -4,15 +4,15 @@ import com.dfsek.tectonic.annotations.Default;
import com.dfsek.tectonic.annotations.Value; import com.dfsek.tectonic.annotations.Value;
import com.dfsek.terra.addons.noise.samplers.DomainWarpedSampler; import com.dfsek.terra.addons.noise.samplers.DomainWarpedSampler;
import com.dfsek.terra.api.noise.NoiseSampler; import com.dfsek.terra.api.noise.NoiseSampler;
import com.dfsek.terra.api.util.seeded.NoiseSeeded; import com.dfsek.terra.api.util.seeded.SeededNoiseSampler;
@SuppressWarnings({"unused", "FieldMayBeFinal"}) @SuppressWarnings({"unused", "FieldMayBeFinal"})
public class DomainWarpTemplate extends SamplerTemplate<DomainWarpedSampler> { public class DomainWarpTemplate extends SamplerTemplate<DomainWarpedSampler> {
@Value("warp") @Value("warp")
private NoiseSeeded warp; private SeededNoiseSampler warp;
@Value("function") @Value("function")
private NoiseSeeded function; private SeededNoiseSampler function;
@Value("salt") @Value("salt")
@Default @Default

View File

@ -6,7 +6,7 @@ import com.dfsek.tectonic.config.ValidatedConfigTemplate;
import com.dfsek.tectonic.exception.ValidationException; import com.dfsek.tectonic.exception.ValidationException;
import com.dfsek.terra.addons.noise.samplers.KernelSampler; import com.dfsek.terra.addons.noise.samplers.KernelSampler;
import com.dfsek.terra.api.noise.NoiseSampler; import com.dfsek.terra.api.noise.NoiseSampler;
import com.dfsek.terra.api.util.seeded.NoiseSeeded; import com.dfsek.terra.api.util.seeded.SeededNoiseSampler;
import java.util.List; import java.util.List;
@ -21,7 +21,7 @@ public class KernelTemplate extends SamplerTemplate<KernelSampler> implements Va
private double factor = 1; private double factor = 1;
@Value("function") @Value("function")
private NoiseSeeded function; private SeededNoiseSampler function;
@Value("frequency") @Value("frequency")
@Default @Default

View File

@ -6,10 +6,10 @@ import com.dfsek.tectonic.config.ValidatedConfigTemplate;
import com.dfsek.tectonic.exception.ValidationException; import com.dfsek.tectonic.exception.ValidationException;
import com.dfsek.tectonic.loading.object.ObjectTemplate; import com.dfsek.tectonic.loading.object.ObjectTemplate;
import com.dfsek.terra.api.noise.NoiseSampler; import com.dfsek.terra.api.noise.NoiseSampler;
import com.dfsek.terra.api.util.seeded.NoiseSeeded; import com.dfsek.terra.api.util.seeded.SeededNoiseSampler;
@SuppressWarnings("FieldMayBeFinal") @SuppressWarnings("FieldMayBeFinal")
public abstract class SamplerTemplate<T extends NoiseSampler> implements ValidatedConfigTemplate, ObjectTemplate<NoiseSeeded>, NoiseSeeded { public abstract class SamplerTemplate<T extends NoiseSampler> implements ValidatedConfigTemplate, ObjectTemplate<SeededNoiseSampler>, SeededNoiseSampler {
@Value("dimensions") @Value("dimensions")
@Default @Default
private int dimensions = 2; private int dimensions = 2;
@ -25,7 +25,7 @@ public abstract class SamplerTemplate<T extends NoiseSampler> implements Validat
} }
@Override @Override
public NoiseSeeded get() { public SeededNoiseSampler get() {
return this; return this;
} }
} }

View File

@ -5,7 +5,7 @@ import com.dfsek.tectonic.annotations.Value;
import com.dfsek.terra.addons.noise.samplers.noise.CellularSampler; import com.dfsek.terra.addons.noise.samplers.noise.CellularSampler;
import com.dfsek.terra.addons.noise.samplers.noise.simplex.OpenSimplex2Sampler; import com.dfsek.terra.addons.noise.samplers.noise.simplex.OpenSimplex2Sampler;
import com.dfsek.terra.api.noise.NoiseSampler; import com.dfsek.terra.api.noise.NoiseSampler;
import com.dfsek.terra.api.util.seeded.NoiseSeeded; import com.dfsek.terra.api.util.seeded.SeededNoiseSampler;
@SuppressWarnings("FieldMayBeFinal") @SuppressWarnings("FieldMayBeFinal")
public class CellularNoiseTemplate extends NoiseTemplate<CellularSampler> { public class CellularNoiseTemplate extends NoiseTemplate<CellularSampler> {
@ -24,7 +24,7 @@ public class CellularNoiseTemplate extends NoiseTemplate<CellularSampler> {
@Value("lookup") @Value("lookup")
@Default @Default
private NoiseSeeded lookup = new NoiseSeeded() { private SeededNoiseSampler lookup = new SeededNoiseSampler() {
@Override @Override
public NoiseSampler apply(Long seed) { public NoiseSampler apply(Long seed) {

View File

@ -15,7 +15,7 @@ import com.dfsek.terra.addons.noise.paralithic.noise.NoiseFunction2;
import com.dfsek.terra.addons.noise.paralithic.noise.NoiseFunction3; import com.dfsek.terra.addons.noise.paralithic.noise.NoiseFunction3;
import com.dfsek.terra.addons.noise.samplers.noise.ExpressionFunction; import com.dfsek.terra.addons.noise.samplers.noise.ExpressionFunction;
import com.dfsek.terra.api.noise.NoiseSampler; import com.dfsek.terra.api.noise.NoiseSampler;
import com.dfsek.terra.api.util.seeded.NoiseSeeded; import com.dfsek.terra.api.util.seeded.SeededNoiseSampler;
import java.util.HashMap; import java.util.HashMap;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
@ -24,7 +24,7 @@ import java.util.Map;
@SuppressWarnings({"FieldMayBeFinal", "unused"}) @SuppressWarnings({"FieldMayBeFinal", "unused"})
public class ExpressionFunctionTemplate extends SamplerTemplate<ExpressionFunction> implements ValidatedConfigTemplate { public class ExpressionFunctionTemplate extends SamplerTemplate<ExpressionFunction> implements ValidatedConfigTemplate {
private final Map<String, NoiseSeeded> otherFunctions; private final Map<String, SeededNoiseSampler> otherFunctions;
@Value("variables") @Value("variables")
@Default @Default
private Map<String, Double> vars = new HashMap<>(); private Map<String, Double> vars = new HashMap<>();
@ -32,12 +32,12 @@ public class ExpressionFunctionTemplate extends SamplerTemplate<ExpressionFuncti
private String equation; private String equation;
@Value("functions") @Value("functions")
@Default @Default
private LinkedHashMap<String, NoiseSeeded> functions = new LinkedHashMap<>(); private LinkedHashMap<String, SeededNoiseSampler> functions = new LinkedHashMap<>();
@Value("expressions") @Value("expressions")
@Default @Default
private LinkedHashMap<String, FunctionTemplate> expressions = new LinkedHashMap<>(); private LinkedHashMap<String, FunctionTemplate> expressions = new LinkedHashMap<>();
public ExpressionFunctionTemplate(Map<String, NoiseSeeded> otherFunctions) { public ExpressionFunctionTemplate(Map<String, SeededNoiseSampler> otherFunctions) {
this.otherFunctions = otherFunctions; this.otherFunctions = otherFunctions;
} }

View File

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

View File

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

View File

@ -9,7 +9,7 @@ import com.dfsek.terra.addons.noise.paralithic.defined.UserDefinedFunction;
import com.dfsek.terra.addons.noise.paralithic.noise.NoiseFunction2; import com.dfsek.terra.addons.noise.paralithic.noise.NoiseFunction2;
import com.dfsek.terra.addons.noise.paralithic.noise.NoiseFunction3; import com.dfsek.terra.addons.noise.paralithic.noise.NoiseFunction3;
import com.dfsek.terra.api.noise.NoiseSampler; import com.dfsek.terra.api.noise.NoiseSampler;
import com.dfsek.terra.api.util.seeded.NoiseSeeded; import com.dfsek.terra.api.util.seeded.SeededNoiseSampler;
import java.util.Map; import java.util.Map;
@ -19,7 +19,7 @@ import java.util.Map;
public class ExpressionSampler implements NoiseSampler { public class ExpressionSampler implements NoiseSampler {
private final Expression expression; private final Expression expression;
public ExpressionSampler(String equation, Scope parent, long seed, Map<String, NoiseSeeded> functions, Map<String, FunctionTemplate> definedFunctions) throws ParseException { public ExpressionSampler(String equation, Scope parent, long seed, Map<String, SeededNoiseSampler> functions, Map<String, FunctionTemplate> definedFunctions) throws ParseException {
Parser parser = new Parser(); Parser parser = new Parser();
Scope scope = new Scope().withParent(parent); Scope scope = new Scope().withParent(parent);

View File

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

View File

@ -6,10 +6,9 @@ import com.dfsek.tectonic.loading.TypeLoader;
import com.dfsek.terra.api.block.state.BlockState; import com.dfsek.terra.api.block.state.BlockState;
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.util.seeded.NoiseSeeded; import com.dfsek.terra.api.util.seeded.SeededNoiseSampler;
import java.lang.reflect.AnnotatedType; import java.lang.reflect.AnnotatedType;
import java.lang.reflect.Type;
import java.util.Map; import java.util.Map;
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@ -34,7 +33,7 @@ public class PaletteLayerLoader implements TypeLoader<PaletteLayerHolder> {
NoiseSampler sampler = null; NoiseSampler sampler = null;
if(map.containsKey("noise")) { if(map.containsKey("noise")) {
sampler = configLoader.loadType(NoiseSeeded.class, map.get("noise")).apply(2403L); sampler = configLoader.loadType(SeededNoiseSampler.class, map.get("noise")).apply(2403L);
} }
if(collection == null) throw new LoadException("Collection is null: " + map.get("materials")); if(collection == null) throw new LoadException("Collection is null: " + map.get("materials"));

View File

@ -4,7 +4,7 @@ import com.dfsek.tectonic.annotations.Value;
import com.dfsek.tectonic.loading.object.ObjectTemplate; import com.dfsek.tectonic.loading.object.ObjectTemplate;
import com.dfsek.terra.api.util.Range; import com.dfsek.terra.api.util.Range;
import com.dfsek.terra.api.util.collection.ProbabilityCollection; import com.dfsek.terra.api.util.collection.ProbabilityCollection;
import com.dfsek.terra.api.util.seeded.NoiseSeeded; import com.dfsek.terra.api.util.seeded.SeededNoiseSampler;
import com.dfsek.terra.api.world.Flora; import com.dfsek.terra.api.world.Flora;
public class FloraLayerLoader implements ObjectTemplate<FloraLayer> { public class FloraLayerLoader implements ObjectTemplate<FloraLayer> {
@ -18,7 +18,7 @@ public class FloraLayerLoader implements ObjectTemplate<FloraLayer> {
private ProbabilityCollection<Flora> items; private ProbabilityCollection<Flora> items;
@Value("distribution") @Value("distribution")
private NoiseSeeded distribution; private SeededNoiseSampler distribution;
@Override @Override

View File

@ -4,7 +4,7 @@ import com.dfsek.tectonic.annotations.Value;
import com.dfsek.tectonic.loading.object.ObjectTemplate; import com.dfsek.tectonic.loading.object.ObjectTemplate;
import com.dfsek.terra.api.util.Range; import com.dfsek.terra.api.util.Range;
import com.dfsek.terra.api.util.collection.ProbabilityCollection; import com.dfsek.terra.api.util.collection.ProbabilityCollection;
import com.dfsek.terra.api.util.seeded.NoiseSeeded; import com.dfsek.terra.api.util.seeded.SeededNoiseSampler;
import com.dfsek.terra.api.world.Tree; import com.dfsek.terra.api.world.Tree;
public class TreeLayerTemplate implements ObjectTemplate<TreeLayer> { public class TreeLayerTemplate implements ObjectTemplate<TreeLayer> {
@ -18,7 +18,7 @@ public class TreeLayerTemplate implements ObjectTemplate<TreeLayer> {
private ProbabilityCollection<Tree> items; private ProbabilityCollection<Tree> items;
@Value("distribution") @Value("distribution")
private NoiseSeeded distribution; private SeededNoiseSampler distribution;
@Override @Override
public TreeLayer get() { public TreeLayer get() {

View File

@ -1,10 +1,10 @@
package com.dfsek.terra.api.util.provider; package com.dfsek.terra.api.util.provider;
import com.dfsek.tectonic.loading.object.ObjectTemplate; import com.dfsek.tectonic.loading.object.ObjectTemplate;
import com.dfsek.terra.api.util.seeded.NoiseSeeded; import com.dfsek.terra.api.util.seeded.SeededNoiseSampler;
import java.util.function.Supplier; import java.util.function.Supplier;
@FunctionalInterface @FunctionalInterface
public interface NoiseProvider extends Supplier<ObjectTemplate<NoiseSeeded>> { public interface NoiseProvider extends Supplier<ObjectTemplate<SeededNoiseSampler>> {
} }

View File

@ -2,9 +2,9 @@ package com.dfsek.terra.api.util.seeded;
import com.dfsek.terra.api.noise.NoiseSampler; import com.dfsek.terra.api.noise.NoiseSampler;
public interface NoiseSeeded extends SeededBuilder<NoiseSampler> { public interface SeededNoiseSampler extends SeededBuilder<NoiseSampler> {
static NoiseSeeded zero(int dimensions) { static SeededNoiseSampler zero(int dimensions) {
return new NoiseSeeded() { return new SeededNoiseSampler() {
@Override @Override
public NoiseSampler apply(Long seed) { public NoiseSampler apply(Long seed) {
return NoiseSampler.zero(); return NoiseSampler.zero();

View File

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