WIP Seismic Integration

This commit is contained in:
Zoë Gidiere
2025-03-01 21:32:39 -07:00
parent 8366a5288b
commit 5892464a1d
239 changed files with 623 additions and 6195 deletions

View File

@@ -6,18 +6,18 @@ import com.dfsek.terra.addons.terrascript.parser.lang.Scope;
import com.dfsek.terra.addons.terrascript.parser.lang.functions.Function;
import com.dfsek.terra.addons.terrascript.script.TerraImplementationArguments;
import com.dfsek.terra.addons.terrascript.tokenizer.Position;
import com.dfsek.terra.api.noise.NoiseSampler;
import com.dfsek.seismic.type.sampler.Sampler;
public class ConstantSamplerFunction implements Function<Number> {
private final Returnable<Number> x, y, z;
private final NoiseSampler sampler;
private final Sampler sampler;
private final boolean twoD;
private final Position position;
public ConstantSamplerFunction(NoiseSampler sampler,
public ConstantSamplerFunction(Sampler sampler,
Returnable<Number> x,
Returnable<Number> y,
Returnable<Number> z,
@@ -39,10 +39,10 @@ public class ConstantSamplerFunction implements Function<Number> {
double z = this.z.apply(implementationArguments, scope).doubleValue();
if(twoD) {
return sampler.noise(arguments.getWorld().getSeed(), x, z);
return sampler.getSample(arguments.getWorld().getSeed(), x, z);
} else {
double y = this.y.apply(implementationArguments, scope).doubleValue();
return sampler.noise(arguments.getWorld().getSeed(), x, y, z);
return sampler.getSample(arguments.getWorld().getSeed(), x, y, z);
}
}

View File

@@ -8,14 +8,14 @@ import com.dfsek.terra.addons.terrascript.parser.lang.Scope;
import com.dfsek.terra.addons.terrascript.parser.lang.functions.Function;
import com.dfsek.terra.addons.terrascript.script.TerraImplementationArguments;
import com.dfsek.terra.addons.terrascript.tokenizer.Position;
import com.dfsek.terra.api.noise.NoiseSampler;
import com.dfsek.seismic.type.sampler.Sampler;
public class SamplerFunction implements Function<Number> {
private final Returnable<Number> x, y, z;
private final Returnable<String> function;
private final java.util.function.Function<Supplier<String>, NoiseSampler> samplerFunction;
private final java.util.function.Function<Supplier<String>, Sampler> samplerFunction;
private final boolean twoD;
private final Position position;
@@ -24,7 +24,7 @@ public class SamplerFunction implements Function<Number> {
Returnable<Number> x,
Returnable<Number> y,
Returnable<Number> z,
java.util.function.Function<Supplier<String>, NoiseSampler> samplerFunction,
java.util.function.Function<Supplier<String>, Sampler> samplerFunction,
boolean twoD,
Position position) {
this.x = x;
@@ -43,12 +43,12 @@ public class SamplerFunction implements Function<Number> {
double z = this.z.apply(implementationArguments, scope).doubleValue();
NoiseSampler sampler = samplerFunction.apply(() -> function.apply(implementationArguments, scope));
Sampler sampler = samplerFunction.apply(() -> function.apply(implementationArguments, scope));
if(twoD) {
return sampler.noise(arguments.getWorld().getSeed(), x, z);
return sampler.getSample(arguments.getWorld().getSeed(), x, z);
} else {
double y = this.y.apply(implementationArguments, scope).doubleValue();
return sampler.noise(arguments.getWorld().getSeed(), x, y, z);
return sampler.getSample(arguments.getWorld().getSeed(), x, y, z);
}
}

View File

@@ -5,7 +5,7 @@ import java.util.List;
import java.util.Map;
import java.util.Objects;
import com.dfsek.terra.addons.noise.config.DimensionApplicableNoiseSampler;
import com.dfsek.terra.addons.noise.config.DimensionApplicableSampler;
import com.dfsek.terra.addons.terrascript.parser.lang.Returnable;
import com.dfsek.terra.addons.terrascript.parser.lang.Returnable.ReturnType;
import com.dfsek.terra.addons.terrascript.parser.lang.constants.NumericConstant;
@@ -15,10 +15,10 @@ import com.dfsek.terra.addons.terrascript.tokenizer.Position;
public class SamplerFunctionBuilder implements FunctionBuilder<com.dfsek.terra.addons.terrascript.parser.lang.functions.Function<Number>> {
private final Map<String, DimensionApplicableNoiseSampler> samplers2d;
private final Map<String, DimensionApplicableNoiseSampler> samplers3d;
private final Map<String, DimensionApplicableSampler> samplers2d;
private final Map<String, DimensionApplicableSampler> samplers3d;
public SamplerFunctionBuilder(Map<String, DimensionApplicableNoiseSampler> samplers) {
public SamplerFunctionBuilder(Map<String, DimensionApplicableSampler> samplers) {
this.samplers2d = new HashMap<>();
this.samplers3d = new HashMap<>();