diff --git a/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/CellularSampler.java b/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/CellularSampler.java index d0b2b3b7a..ced0636dd 100644 --- a/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/CellularSampler.java +++ b/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/CellularSampler.java @@ -211,7 +211,7 @@ public class CellularSampler extends NoiseFunction { } @Override - public double getNoiseSeeded(int seed, double x, double y) { + public double getNoiseRaw(int seed, double x, double y) { int xr = fastRound(x); int yr = fastRound(y); @@ -363,7 +363,7 @@ public class CellularSampler extends NoiseFunction { } @Override - public double getNoiseSeeded(int seed, double x, double y, double z) { + public double getNoiseRaw(int seed, double x, double y, double z) { int xr = fastRound(x); int yr = fastRound(y); int zr = fastRound(z); diff --git a/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/ConstantSampler.java b/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/ConstantSampler.java index 4ad942076..a81756b92 100644 --- a/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/ConstantSampler.java +++ b/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/ConstantSampler.java @@ -12,12 +12,12 @@ public class ConstantSampler extends NoiseFunction { } @Override - public double getNoiseSeeded(int seed, double x, double y) { + public double getNoiseRaw(int seed, double x, double y) { return constant; } @Override - public double getNoiseSeeded(int seed, double x, double y, double z) { + public double getNoiseRaw(int seed, double x, double y, double z) { return constant; } } diff --git a/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/NoiseFunction.java b/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/NoiseFunction.java index 9aff174b6..6f7c41311 100644 --- a/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/NoiseFunction.java +++ b/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/NoiseFunction.java @@ -87,11 +87,25 @@ public abstract class NoiseFunction implements NoiseSampler { @Override public double getNoise(double x, double y) { - return getNoiseSeeded(seed, x * frequency, y * frequency); + return getNoiseSeeded(seed, x, y); } @Override public double getNoise(double x, double y, double z) { - return getNoiseSeeded(seed, x * frequency, y * frequency, z * frequency); + return getNoiseSeeded(seed, x, y, z); } + + @Override + public double getNoiseSeeded(int seed, double x, double y) { + return getNoiseRaw(seed, x * frequency, y * frequency); + } + + @Override + public double getNoiseSeeded(int seed, double x, double y, double z) { + return getNoiseRaw(seed, x * frequency, y * frequency, z * frequency); + } + + public abstract double getNoiseRaw(int seed, double x, double y); + + public abstract double getNoiseRaw(int seed, double x, double y, double z); } diff --git a/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/WhiteNoiseSampler.java b/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/WhiteNoiseSampler.java index 1f01e423e..5f6fde2c0 100644 --- a/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/WhiteNoiseSampler.java +++ b/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/WhiteNoiseSampler.java @@ -8,7 +8,7 @@ public class WhiteNoiseSampler extends NoiseFunction { } @Override - public double getNoiseSeeded(int seed, double x, double y) { + public double getNoiseRaw(int seed, double x, double y) { long hashX = Double.doubleToRawLongBits(x) ^ seed; long hashZ = Double.doubleToRawLongBits(y) ^ seed; long hash = ((hashX ^ (hashX >>> 32)) + ((hashZ ^ (hashZ >>> 32)) << 32)) ^ seed; @@ -18,7 +18,7 @@ public class WhiteNoiseSampler extends NoiseFunction { } @Override - public double getNoiseSeeded(int seed, double x, double y, double z) { + public double getNoiseRaw(int seed, double x, double y, double z) { long hashX = Double.doubleToRawLongBits(x) ^ seed; long hashZ = Double.doubleToRawLongBits(y) ^ seed; long hash = (((hashX ^ (hashX >>> 32)) + ((hashZ ^ (hashZ >>> 32)) << 32)) ^ seed) + Double.doubleToRawLongBits(z); diff --git a/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/fractal/BrownianMotionSampler.java b/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/fractal/BrownianMotionSampler.java index cb3a6f5f4..5233dd2b5 100644 --- a/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/fractal/BrownianMotionSampler.java +++ b/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/fractal/BrownianMotionSampler.java @@ -8,7 +8,7 @@ public class BrownianMotionSampler extends FractalNoiseFunction { } @Override - public double getNoiseSeeded(int seed, double x, double y) { + public double getNoiseRaw(int seed, double x, double y) { double sum = 0; double amp = fractalBounding; @@ -26,7 +26,7 @@ public class BrownianMotionSampler extends FractalNoiseFunction { } @Override - public double getNoiseSeeded(int seed, double x, double y, double z) { + public double getNoiseRaw(int seed, double x, double y, double z) { double sum = 0; double amp = fractalBounding; diff --git a/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/fractal/PingPongSampler.java b/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/fractal/PingPongSampler.java index baee4b89d..bf5f0a4b2 100644 --- a/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/fractal/PingPongSampler.java +++ b/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/fractal/PingPongSampler.java @@ -20,7 +20,7 @@ public class PingPongSampler extends FractalNoiseFunction { } @Override - public double getNoiseSeeded(int seed, double x, double y) { + public double getNoiseRaw(int seed, double x, double y) { double sum = 0; double amp = fractalBounding; @@ -38,7 +38,7 @@ public class PingPongSampler extends FractalNoiseFunction { } @Override - public double getNoiseSeeded(int seed, double x, double y, double z) { + public double getNoiseRaw(int seed, double x, double y, double z) { double sum = 0; double amp = fractalBounding; diff --git a/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/fractal/RidgedFractalSampler.java b/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/fractal/RidgedFractalSampler.java index 59421c777..08dfbb2ed 100644 --- a/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/fractal/RidgedFractalSampler.java +++ b/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/fractal/RidgedFractalSampler.java @@ -9,7 +9,7 @@ public class RidgedFractalSampler extends FractalNoiseFunction { } @Override - public double getNoiseSeeded(int seed, double x, double y) { + public double getNoiseRaw(int seed, double x, double y) { double sum = 0; double amp = fractalBounding; @@ -27,7 +27,7 @@ public class RidgedFractalSampler extends FractalNoiseFunction { } @Override - public double getNoiseSeeded(int seed, double x, double y, double z) { + public double getNoiseRaw(int seed, double x, double y, double z) { double sum = 0; double amp = fractalBounding; diff --git a/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/simplex/OpenSimplex2SSampler.java b/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/simplex/OpenSimplex2SSampler.java index 88506d3b4..7a22b4afd 100644 --- a/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/simplex/OpenSimplex2SSampler.java +++ b/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/simplex/OpenSimplex2SSampler.java @@ -7,7 +7,7 @@ public class OpenSimplex2SSampler extends SimplexStyleSampler { @Override @SuppressWarnings("NumericOverflow") - public double getNoiseSeeded(int seed, double x, double y) { + public double getNoiseRaw(int seed, double x, double y) { // 2D OpenSimplex2S case is a modified 2D simplex noise. final double SQRT3 = 1.7320508075688772935274463415059; @@ -114,7 +114,7 @@ public class OpenSimplex2SSampler extends SimplexStyleSampler { @Override @SuppressWarnings("NumericOverflow") - public double getNoiseSeeded(int seed, double x, double y, double z) { + public double getNoiseRaw(int seed, double x, double y, double z) { // 3D OpenSimplex2S case uses two offset rotated cube grids. final double R3 = (2.0 / 3.0); double r = (x + y + z) * R3; // Rotation, not skew diff --git a/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/simplex/OpenSimplex2Sampler.java b/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/simplex/OpenSimplex2Sampler.java index 9517a33ef..ec090a840 100644 --- a/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/simplex/OpenSimplex2Sampler.java +++ b/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/simplex/OpenSimplex2Sampler.java @@ -8,7 +8,7 @@ public class OpenSimplex2Sampler extends SimplexStyleSampler { } @Override - public double getNoiseSeeded(int seed, double x, double y) { + public double getNoiseRaw(int seed, double x, double y) { // 2D OpenSimplex2 case uses the same algorithm as ordinary Simplex. final double G2 = (3 - SQRT3) / 6; @@ -68,7 +68,7 @@ public class OpenSimplex2Sampler extends SimplexStyleSampler { } @Override - public double getNoiseSeeded(int seed, double x, double y, double z) { + public double getNoiseRaw(int seed, double x, double y, double z) { // 3D OpenSimplex2Sampler case uses two offset rotated cube grids. final double R3 = (2.0 / 3.0); double r = (x + y + z) * R3; // Rotation, not skew diff --git a/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/simplex/PerlinSampler.java b/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/simplex/PerlinSampler.java index f10ed7ce6..e5bc3d339 100644 --- a/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/simplex/PerlinSampler.java +++ b/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/simplex/PerlinSampler.java @@ -6,7 +6,7 @@ public class PerlinSampler extends SimplexStyleSampler { } @Override - public double getNoiseSeeded(int seed, double x, double y) { + public double getNoiseRaw(int seed, double x, double y) { int x0 = fastFloor(x); int y0 = fastFloor(y); @@ -30,7 +30,7 @@ public class PerlinSampler extends SimplexStyleSampler { } @Override - public double getNoiseSeeded(int seed, double x, double y, double z) { + public double getNoiseRaw(int seed, double x, double y, double z) { int x0 = fastFloor(x); int y0 = fastFloor(y); int z0 = fastFloor(z); diff --git a/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/value/ValueCubicSampler.java b/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/value/ValueCubicSampler.java index 624522b5f..d0664c922 100644 --- a/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/value/ValueCubicSampler.java +++ b/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/value/ValueCubicSampler.java @@ -6,7 +6,7 @@ public class ValueCubicSampler extends ValueStyleNoise { } @Override - public double getNoiseSeeded(int seed, double x, double y) { + public double getNoiseRaw(int seed, double x, double y) { int x1 = fastFloor(x); int y1 = fastFloor(y); @@ -35,7 +35,7 @@ public class ValueCubicSampler extends ValueStyleNoise { } @Override - public double getNoiseSeeded(int seed, double x, double y, double z) { + public double getNoiseRaw(int seed, double x, double y, double z) { int x1 = fastFloor(x); int y1 = fastFloor(y); int z1 = fastFloor(z); diff --git a/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/value/ValueSampler.java b/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/value/ValueSampler.java index f6df641c2..e79f5cf2b 100644 --- a/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/value/ValueSampler.java +++ b/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/value/ValueSampler.java @@ -6,7 +6,7 @@ public class ValueSampler extends ValueStyleNoise { } @Override - public double getNoiseSeeded(int seed, double x, double y) { + public double getNoiseRaw(int seed, double x, double y) { int x0 = fastFloor(x); int y0 = fastFloor(y); @@ -25,7 +25,7 @@ public class ValueSampler extends ValueStyleNoise { } @Override - public double getNoiseSeeded(int seed, double x, double y, double z) { + public double getNoiseRaw(int seed, double x, double y, double z) { int x0 = fastFloor(x); int y0 = fastFloor(y); int z0 = fastFloor(z); diff --git a/common/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/fractal/FractalTemplate.java b/common/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/fractal/FractalTemplate.java index 6ab4c26d1..9dc357a45 100644 --- a/common/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/fractal/FractalTemplate.java +++ b/common/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/fractal/FractalTemplate.java @@ -25,4 +25,8 @@ public abstract class FractalTemplate extends No @Value("function") protected NoiseSeeded function; + + public FractalTemplate() { + frequency = 1; // Fractal default freq = 1. + } }