From f9ca8d139b04792e9c92dc98439cd02be8c0ebd5 Mon Sep 17 00:00:00 2001 From: dfsek Date: Tue, 16 Mar 2021 09:09:30 -0700 Subject: [PATCH] fix ExpressionFunction issue --- .../noise/ExpressionFunctionTemplate.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/common/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/ExpressionFunctionTemplate.java b/common/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/ExpressionFunctionTemplate.java index ad85eda25..79aa5a41a 100644 --- a/common/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/ExpressionFunctionTemplate.java +++ b/common/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/ExpressionFunctionTemplate.java @@ -12,6 +12,8 @@ import com.dfsek.terra.api.math.noise.NoiseSampler; import com.dfsek.terra.api.math.noise.samplers.noise.ExpressionFunction; import com.dfsek.terra.api.math.paralithic.BlankFunction; import com.dfsek.terra.api.math.paralithic.defined.UserDefinedFunction; +import com.dfsek.terra.api.math.paralithic.noise.NoiseFunction2; +import com.dfsek.terra.api.math.paralithic.noise.NoiseFunction3; import com.dfsek.terra.api.util.seeded.NoiseSeeded; import com.dfsek.terra.config.loaders.config.function.FunctionTemplate; import com.dfsek.terra.config.loaders.config.sampler.templates.SamplerTemplate; @@ -32,7 +34,7 @@ public class ExpressionFunctionTemplate extends SamplerTemplate functions = new HashMap<>(); + private LinkedHashMap functions = new LinkedHashMap<>(); @Value("expressions") @Default @@ -41,7 +43,7 @@ public class ExpressionFunctionTemplate extends SamplerTemplate noiseFunctionMap = generateFunctions(); + Map noiseFunctionMap = generateFunctions(seed); return new ExpressionFunction(noiseFunctionMap, equation, vars); } catch(ParseException e) { throw new IllegalStateException(e); @@ -51,7 +53,7 @@ public class ExpressionFunctionTemplate extends SamplerTemplate noiseFunctionMap = generateFunctions(); + Map noiseFunctionMap = generateFunctions(0L); new ExpressionFunction(noiseFunctionMap, equation, vars); } catch(ParseException e) { throw new ValidationException("Errors occurred while parsing noise equation: ", e); @@ -59,7 +61,7 @@ public class ExpressionFunctionTemplate extends SamplerTemplate generateFunctions() throws ParseException { + private Map generateFunctions(Long seed) throws ParseException { Map noiseFunctionMap = new HashMap<>(); for(Map.Entry entry : expressions.entrySet()) { @@ -69,8 +71,8 @@ public class ExpressionFunctionTemplate extends SamplerTemplate { if(function.getDimensions() == 2) { - noiseFunctionMap.put(id, new BlankFunction(2)); - } else noiseFunctionMap.put(id, new BlankFunction(3)); + noiseFunctionMap.put(id, new NoiseFunction2(function.apply(seed))); + } else noiseFunctionMap.put(id, new NoiseFunction3(function.apply(seed))); }); return noiseFunctionMap;