diff --git a/common/addons/config-noise-function/src/main/java/com/dfsek/terra/addons/noise/config/templates/noise/PseudoErosionTemplate.java b/common/addons/config-noise-function/src/main/java/com/dfsek/terra/addons/noise/config/templates/noise/PseudoErosionTemplate.java index f5e1ac46c..d7f6b7562 100644 --- a/common/addons/config-noise-function/src/main/java/com/dfsek/terra/addons/noise/config/templates/noise/PseudoErosionTemplate.java +++ b/common/addons/config-noise-function/src/main/java/com/dfsek/terra/addons/noise/config/templates/noise/PseudoErosionTemplate.java @@ -3,12 +3,12 @@ package com.dfsek.terra.addons.noise.config.templates.noise; import com.dfsek.tectonic.api.config.template.annotations.Default; import com.dfsek.tectonic.api.config.template.annotations.Value; -import com.dfsek.terra.addons.noise.config.templates.SamplerTemplate; import com.dfsek.terra.addons.noise.samplers.noise.simplex.PseudoErosion; +import com.dfsek.terra.api.config.meta.Meta; import com.dfsek.terra.api.noise.DerivativeNoiseSampler; -public class PseudoErosionTemplate extends SamplerTemplate { +public class PseudoErosionTemplate extends NoiseTemplate { @Value("octaves") @Default @@ -61,10 +61,17 @@ public class PseudoErosionTemplate extends SamplerTemplate { @Default private boolean averageErosionImpulses = true; + @Value("frequency") + @Default + protected @Meta double frequency = 1d; + @Override public PseudoErosion get() { - return new PseudoErosion(octaves, gain, lacunarity, + PseudoErosion pseudoErosion = new PseudoErosion(octaves, gain, lacunarity, slopeStrength, branchStrength, strength, erosionFrequency, heightSampler, slopeMask, slopeMaskFull, slopeMaskNone, jitterModifier, averageErosionImpulses); + pseudoErosion.setFrequency(frequency); + pseudoErosion.setSalt(salt); + return pseudoErosion; } } diff --git a/common/addons/config-noise-function/src/main/java/com/dfsek/terra/addons/noise/samplers/noise/simplex/PseudoErosion.java b/common/addons/config-noise-function/src/main/java/com/dfsek/terra/addons/noise/samplers/noise/simplex/PseudoErosion.java index 41b1e2db8..29a6d8e8b 100644 --- a/common/addons/config-noise-function/src/main/java/com/dfsek/terra/addons/noise/samplers/noise/simplex/PseudoErosion.java +++ b/common/addons/config-noise-function/src/main/java/com/dfsek/terra/addons/noise/samplers/noise/simplex/PseudoErosion.java @@ -1,12 +1,13 @@ package com.dfsek.terra.addons.noise.samplers.noise.simplex; +import com.dfsek.terra.addons.noise.samplers.noise.NoiseFunction; import com.dfsek.terra.api.noise.DerivativeNoiseSampler; import com.dfsek.terra.api.noise.NoiseSampler; import com.dfsek.terra.api.util.MathUtil; -public class PseudoErosion implements NoiseSampler { +public class PseudoErosion extends NoiseFunction { public static final float TAU = (float) (2.0 * Math.PI); private static final float HASH_X = 0.3183099f; private static final float HASH_Y = 0.3678794f; @@ -106,11 +107,6 @@ public class PseudoErosion implements NoiseSampler { return new float[] {noise, dirOutX, dirOutY}; } - public static double exp(double val) { - final long tmp = (long) (1512775 * val + 1072632447); - return Double.longBitsToDouble(tmp << 32); - } - public static float smoothstep(float edge0, float edge1, float x) { // Scale, bias and saturate x to 0..1 range x = clamp((x - edge0) / (edge1 - edge0), 0.0f, 1.0f); @@ -176,12 +172,12 @@ public class PseudoErosion implements NoiseSampler { } @Override - public double noise(long seed, double x, double y) { + public double getNoiseRaw(long seed, double x, double y) { return heightMap(seed, (float) x, (float) y); } @Override - public double noise(long seed, double x, double y, double z) { - return noise(seed, x, z); + public double getNoiseRaw(long seed, double x, double y, double z) { + return getNoiseRaw(seed, x, z); } } \ No newline at end of file