mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-04-06 07:46:13 +00:00
Initial terrascript 2 commit
This commit is contained in:
@@ -1,10 +1,11 @@
|
||||
package com.dfsek.terra.addons.terrascript.sampler;
|
||||
|
||||
import com.dfsek.terra.addons.terrascript.parser.lang.ImplementationArguments;
|
||||
import com.dfsek.terra.addons.terrascript.parser.lang.Expression;
|
||||
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.Type;
|
||||
import com.dfsek.terra.addons.terrascript.legacy.parser.lang.ImplementationArguments;
|
||||
import com.dfsek.terra.addons.terrascript.legacy.parser.lang.Expression;
|
||||
import com.dfsek.terra.addons.terrascript.legacy.parser.lang.Scope;
|
||||
import com.dfsek.terra.addons.terrascript.legacy.parser.lang.functions.Function;
|
||||
import com.dfsek.terra.addons.terrascript.legacy.script.TerraImplementationArguments;
|
||||
import com.dfsek.terra.addons.terrascript.lexer.SourcePosition;
|
||||
import com.dfsek.terra.api.noise.NoiseSampler;
|
||||
|
||||
@@ -52,7 +53,7 @@ public class ConstantSamplerFunction implements Function<Number> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ReturnType returnType() {
|
||||
return ReturnType.NUMBER;
|
||||
public Type returnType() {
|
||||
return Type.NUMBER;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,11 +2,12 @@ package com.dfsek.terra.addons.terrascript.sampler;
|
||||
|
||||
import java.util.function.Supplier;
|
||||
|
||||
import com.dfsek.terra.addons.terrascript.parser.lang.ImplementationArguments;
|
||||
import com.dfsek.terra.addons.terrascript.parser.lang.Expression;
|
||||
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.Type;
|
||||
import com.dfsek.terra.addons.terrascript.legacy.parser.lang.ImplementationArguments;
|
||||
import com.dfsek.terra.addons.terrascript.legacy.parser.lang.Expression;
|
||||
import com.dfsek.terra.addons.terrascript.legacy.parser.lang.Scope;
|
||||
import com.dfsek.terra.addons.terrascript.legacy.parser.lang.functions.Function;
|
||||
import com.dfsek.terra.addons.terrascript.legacy.script.TerraImplementationArguments;
|
||||
import com.dfsek.terra.addons.terrascript.lexer.SourcePosition;
|
||||
import com.dfsek.terra.api.noise.NoiseSampler;
|
||||
|
||||
@@ -58,7 +59,7 @@ public class SamplerFunction implements Function<Number> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ReturnType returnType() {
|
||||
return ReturnType.NUMBER;
|
||||
public Type returnType() {
|
||||
return Type.NUMBER;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,15 +6,16 @@ import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
import com.dfsek.terra.addons.noise.config.DimensionApplicableNoiseSampler;
|
||||
import com.dfsek.terra.addons.terrascript.parser.lang.Expression;
|
||||
import com.dfsek.terra.addons.terrascript.parser.lang.Expression.ReturnType;
|
||||
import com.dfsek.terra.addons.terrascript.parser.lang.constants.NumericConstant;
|
||||
import com.dfsek.terra.addons.terrascript.parser.lang.constants.StringConstant;
|
||||
import com.dfsek.terra.addons.terrascript.parser.lang.functions.FunctionBuilder;
|
||||
import com.dfsek.terra.addons.terrascript.legacy.parser.lang.functions.Function;
|
||||
import com.dfsek.terra.addons.terrascript.legacy.parser.lang.Expression;
|
||||
import com.dfsek.terra.addons.terrascript.Type;
|
||||
import com.dfsek.terra.addons.terrascript.legacy.parser.lang.constants.NumericConstant;
|
||||
import com.dfsek.terra.addons.terrascript.legacy.parser.lang.constants.StringConstant;
|
||||
import com.dfsek.terra.addons.terrascript.legacy.parser.lang.functions.FunctionBuilder;
|
||||
import com.dfsek.terra.addons.terrascript.lexer.SourcePosition;
|
||||
|
||||
|
||||
public class SamplerFunctionBuilder implements FunctionBuilder<com.dfsek.terra.addons.terrascript.parser.lang.functions.Function<Number>> {
|
||||
public class SamplerFunctionBuilder implements FunctionBuilder<Function<Number>> {
|
||||
private final Map<String, DimensionApplicableNoiseSampler> samplers2d;
|
||||
private final Map<String, DimensionApplicableNoiseSampler> samplers3d;
|
||||
|
||||
@@ -33,8 +34,8 @@ public class SamplerFunctionBuilder implements FunctionBuilder<com.dfsek.terra.a
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public com.dfsek.terra.addons.terrascript.parser.lang.functions.Function<Number> build(List<Expression<?>> argumentList,
|
||||
SourcePosition position) {
|
||||
public Function<Number> build(List<Expression<?>> argumentList,
|
||||
SourcePosition position) {
|
||||
Expression<String> arg = (Expression<String>) argumentList.get(0);
|
||||
|
||||
if(argumentList.size() == 3) { // 2D
|
||||
@@ -87,10 +88,10 @@ public class SamplerFunctionBuilder implements FunctionBuilder<com.dfsek.terra.a
|
||||
}
|
||||
|
||||
@Override
|
||||
public ReturnType getArgument(int position) {
|
||||
public Type getArgument(int position) {
|
||||
return switch(position) {
|
||||
case 0 -> ReturnType.STRING;
|
||||
case 1, 2, 3 -> ReturnType.NUMBER;
|
||||
case 0 -> Type.STRING;
|
||||
case 1, 2, 3 -> Type.NUMBER;
|
||||
default -> null;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ package com.dfsek.terra.addons.terrascript.sampler;
|
||||
|
||||
import com.dfsek.terra.addons.manifest.api.AddonInitializer;
|
||||
import com.dfsek.terra.addons.noise.NoiseConfigPackTemplate;
|
||||
import com.dfsek.terra.addons.terrascript.parser.lang.functions.FunctionBuilder;
|
||||
import com.dfsek.terra.addons.terrascript.legacy.parser.lang.functions.FunctionBuilder;
|
||||
import com.dfsek.terra.api.Platform;
|
||||
import com.dfsek.terra.api.addon.BaseAddon;
|
||||
import com.dfsek.terra.api.event.events.config.pack.ConfigPackPreLoadEvent;
|
||||
|
||||
Reference in New Issue
Block a user