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
@@ -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;
}
}
@@ -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);
}
}
@@ -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;
}
@@ -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);
@@ -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;
@@ -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);
@@ -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;
}
@@ -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);
@@ -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);
@@ -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);
}
}
@@ -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);
}
}
@@ -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);
}
}
@@ -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;
}