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

@@ -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.registry.CheckedRegistry;
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.Map;
@@ -55,7 +55,7 @@ public class NoiseAddon extends TerraAddon implements EventListener {
public void packPreLoad(ConfigPackPreLoadEvent event) {
CheckedRegistry<NoiseProvider> noiseRegistry = event.getPack().getOrCreateRegistry(NoiseProvider.class);
event.getPack()
.applyLoader(NoiseSeeded.class, new NoiseSamplerBuilderLoader(noiseRegistry))
.applyLoader(SeededNoiseSampler.class, new NoiseSamplerBuilderLoader(noiseRegistry))
.applyLoader(ImageSamplerTemplate.class, ImageSamplerTemplate::new)
.applyLoader(DomainWarpTemplate.class, DomainWarpTemplate::new)
.applyLoader(LinearNormalizerTemplate.class, LinearNormalizerTemplate::new)
@@ -96,7 +96,7 @@ public class NoiseAddon extends TerraAddon implements EventListener {
noiseRegistry.register("KERNEL", KernelTemplate::new);
Map<String, NoiseSeeded> packFunctions = new HashMap<>();
Map<String, SeededNoiseSampler> packFunctions = new HashMap<>();
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.config.ConfigTemplate;
import com.dfsek.terra.api.util.seeded.NoiseSeeded;
import com.dfsek.terra.api.util.seeded.SeededNoiseSampler;
import java.util.Map;
public class NoiseConfigPackTemplate implements ConfigTemplate {
@Value("noise")
private Map<String, NoiseSeeded> noiseBuilderMap;
private Map<String, SeededNoiseSampler> noiseBuilderMap;
public Map<String, NoiseSeeded> getNoiseBuilderMap() {
public Map<String, SeededNoiseSampler> getNoiseBuilderMap() {
return noiseBuilderMap;
}
}

View File

@@ -8,14 +8,14 @@ import com.dfsek.tectonic.loading.TypeLoader;
import com.dfsek.tectonic.loading.object.ObjectTemplate;
import com.dfsek.terra.api.registry.Registry;
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.util.Locale;
import java.util.Map;
@SuppressWarnings("unchecked")
public class NoiseSamplerBuilderLoader implements TypeLoader<NoiseSeeded> {
public class NoiseSamplerBuilderLoader implements TypeLoader<SeededNoiseSampler> {
private final Registry<NoiseProvider> noiseRegistry;
public NoiseSamplerBuilderLoader(Registry<NoiseProvider> noiseRegistry) {
@@ -23,13 +23,13 @@ public class NoiseSamplerBuilderLoader implements TypeLoader<NoiseSeeded> {
}
@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;
try {
if(!noiseRegistry.contains((String) 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));
return normalizerTemplate.get();
} catch(ConfigException e) {

View File

@@ -4,15 +4,15 @@ import com.dfsek.tectonic.annotations.Default;
import com.dfsek.tectonic.annotations.Value;
import com.dfsek.terra.addons.noise.samplers.DomainWarpedSampler;
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"})
public class DomainWarpTemplate extends SamplerTemplate<DomainWarpedSampler> {
@Value("warp")
private NoiseSeeded warp;
private SeededNoiseSampler warp;
@Value("function")
private NoiseSeeded function;
private SeededNoiseSampler function;
@Value("salt")
@Default

View File

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

View File

@@ -6,10 +6,10 @@ import com.dfsek.tectonic.config.ValidatedConfigTemplate;
import com.dfsek.tectonic.exception.ValidationException;
import com.dfsek.tectonic.loading.object.ObjectTemplate;
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")
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")
@Default
private int dimensions = 2;
@@ -25,7 +25,7 @@ public abstract class SamplerTemplate<T extends NoiseSampler> implements Validat
}
@Override
public NoiseSeeded get() {
public SeededNoiseSampler get() {
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.simplex.OpenSimplex2Sampler;
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")
public class CellularNoiseTemplate extends NoiseTemplate<CellularSampler> {
@@ -24,7 +24,7 @@ public class CellularNoiseTemplate extends NoiseTemplate<CellularSampler> {
@Value("lookup")
@Default
private NoiseSeeded lookup = new NoiseSeeded() {
private SeededNoiseSampler lookup = new SeededNoiseSampler() {
@Override
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.samplers.noise.ExpressionFunction;
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.LinkedHashMap;
@@ -24,7 +24,7 @@ import java.util.Map;
@SuppressWarnings({"FieldMayBeFinal", "unused"})
public class ExpressionFunctionTemplate extends SamplerTemplate<ExpressionFunction> implements ValidatedConfigTemplate {
private final Map<String, NoiseSeeded> otherFunctions;
private final Map<String, SeededNoiseSampler> otherFunctions;
@Value("variables")
@Default
private Map<String, Double> vars = new HashMap<>();
@@ -32,12 +32,12 @@ public class ExpressionFunctionTemplate extends SamplerTemplate<ExpressionFuncti
private String equation;
@Value("functions")
@Default
private LinkedHashMap<String, NoiseSeeded> functions = new LinkedHashMap<>();
private LinkedHashMap<String, SeededNoiseSampler> functions = new LinkedHashMap<>();
@Value("expressions")
@Default
private LinkedHashMap<String, FunctionTemplate> expressions = new LinkedHashMap<>();
public ExpressionFunctionTemplate(Map<String, NoiseSeeded> otherFunctions) {
public ExpressionFunctionTemplate(Map<String, SeededNoiseSampler> 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.terra.addons.noise.config.templates.SamplerTemplate;
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> {
@Value("octaves")
@@ -24,5 +24,5 @@ public abstract class FractalTemplate<T extends FractalNoiseFunction> extends Sa
protected double weightedStrength = 0.0D;
@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.terra.addons.noise.config.templates.SamplerTemplate;
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> {
@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.NoiseFunction3;
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;
@@ -19,7 +19,7 @@ import java.util.Map;
public class ExpressionSampler implements NoiseSampler {
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();
Scope scope = new Scope().withParent(parent);