mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-04-23 00:29:51 +00:00
@Meta all the things
This commit is contained in:
@@ -3,12 +3,13 @@ package com.dfsek.terra.addons.noise;
|
||||
import com.dfsek.tectonic.annotations.Value;
|
||||
import com.dfsek.tectonic.config.ConfigTemplate;
|
||||
import com.dfsek.terra.addons.noise.config.DimensionApplicableNoiseSampler;
|
||||
import com.dfsek.terra.api.config.meta.Meta;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public class NoiseConfigPackTemplate implements ConfigTemplate {
|
||||
@Value("noise")
|
||||
private Map<String, DimensionApplicableNoiseSampler> noiseBuilderMap;
|
||||
private @Meta Map<String, @Meta DimensionApplicableNoiseSampler> noiseBuilderMap;
|
||||
|
||||
public Map<String, DimensionApplicableNoiseSampler> getNoiseBuilderMap() {
|
||||
return noiseBuilderMap;
|
||||
|
||||
@@ -2,14 +2,15 @@ package com.dfsek.terra.addons.noise.config;
|
||||
|
||||
import com.dfsek.tectonic.annotations.Value;
|
||||
import com.dfsek.tectonic.loading.object.ObjectTemplate;
|
||||
import com.dfsek.terra.api.config.meta.Meta;
|
||||
import com.dfsek.terra.api.noise.NoiseSampler;
|
||||
|
||||
public class DimensionApplicableNoiseSampler implements ObjectTemplate<DimensionApplicableNoiseSampler> {
|
||||
@Value("dimensions")
|
||||
private int dimensions;
|
||||
private @Meta int dimensions;
|
||||
|
||||
@Value(".")
|
||||
private NoiseSampler sampler;
|
||||
private @Meta NoiseSampler sampler;
|
||||
|
||||
public int getDimensions() {
|
||||
return dimensions;
|
||||
|
||||
@@ -3,23 +3,20 @@ package com.dfsek.terra.addons.noise.config.templates;
|
||||
import com.dfsek.tectonic.annotations.Default;
|
||||
import com.dfsek.tectonic.annotations.Value;
|
||||
import com.dfsek.terra.addons.noise.samplers.DomainWarpedSampler;
|
||||
import com.dfsek.terra.api.config.meta.Meta;
|
||||
import com.dfsek.terra.api.noise.NoiseSampler;
|
||||
|
||||
@SuppressWarnings({"unused", "FieldMayBeFinal"})
|
||||
public class DomainWarpTemplate extends SamplerTemplate<DomainWarpedSampler> {
|
||||
@Value("warp")
|
||||
private NoiseSampler warp;
|
||||
private @Meta NoiseSampler warp;
|
||||
|
||||
@Value("function")
|
||||
private NoiseSampler function;
|
||||
|
||||
@Value("salt")
|
||||
@Default
|
||||
private int salt = 0;
|
||||
private @Meta NoiseSampler function;
|
||||
|
||||
@Value("amplitude")
|
||||
@Default
|
||||
private double amplitude = 1;
|
||||
private @Meta double amplitude = 1;
|
||||
|
||||
@Override
|
||||
public NoiseSampler get() {
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.dfsek.terra.addons.noise.config.templates;
|
||||
|
||||
import com.dfsek.tectonic.annotations.Value;
|
||||
import com.dfsek.tectonic.loading.object.ObjectTemplate;
|
||||
import com.dfsek.terra.api.config.meta.Meta;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -11,7 +12,7 @@ public class FunctionTemplate implements ObjectTemplate<FunctionTemplate> {
|
||||
private List<String> args;
|
||||
|
||||
@Value("function")
|
||||
private String function;
|
||||
private @Meta String function;
|
||||
|
||||
public List<String> getArgs() {
|
||||
return args;
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.dfsek.terra.addons.noise.config.templates;
|
||||
|
||||
import com.dfsek.tectonic.annotations.Value;
|
||||
import com.dfsek.terra.addons.noise.samplers.ImageSampler;
|
||||
import com.dfsek.terra.api.config.meta.Meta;
|
||||
import com.dfsek.terra.api.noise.NoiseSampler;
|
||||
|
||||
import java.awt.image.BufferedImage;
|
||||
@@ -10,13 +11,13 @@ import java.awt.image.BufferedImage;
|
||||
public class ImageSamplerTemplate extends SamplerTemplate<ImageSampler> {
|
||||
|
||||
@Value("image")
|
||||
private BufferedImage image;
|
||||
private @Meta BufferedImage image;
|
||||
|
||||
@Value("frequency")
|
||||
private double frequency;
|
||||
private @Meta double frequency;
|
||||
|
||||
@Value("channel")
|
||||
private ImageSampler.Channel channel;
|
||||
private ImageSampler.@Meta Channel channel;
|
||||
|
||||
@Override
|
||||
public NoiseSampler get() {
|
||||
|
||||
@@ -5,6 +5,7 @@ import com.dfsek.tectonic.annotations.Value;
|
||||
import com.dfsek.tectonic.config.ValidatedConfigTemplate;
|
||||
import com.dfsek.tectonic.exception.ValidationException;
|
||||
import com.dfsek.terra.addons.noise.samplers.KernelSampler;
|
||||
import com.dfsek.terra.api.config.meta.Meta;
|
||||
import com.dfsek.terra.api.noise.NoiseSampler;
|
||||
|
||||
import java.util.List;
|
||||
@@ -13,18 +14,18 @@ import java.util.List;
|
||||
public class KernelTemplate extends SamplerTemplate<KernelSampler> implements ValidatedConfigTemplate {
|
||||
|
||||
@Value("kernel")
|
||||
private List<List<Double>> kernel;
|
||||
private @Meta List<@Meta List<@Meta Double>> kernel;
|
||||
|
||||
@Value("factor")
|
||||
@Default
|
||||
private double factor = 1;
|
||||
private @Meta double factor = 1;
|
||||
|
||||
@Value("function")
|
||||
private NoiseSampler function;
|
||||
private @Meta NoiseSampler function;
|
||||
|
||||
@Value("frequency")
|
||||
@Default
|
||||
private double frequency = 1;
|
||||
private @Meta double frequency = 1;
|
||||
|
||||
@Override
|
||||
public NoiseSampler get() {
|
||||
|
||||
@@ -5,13 +5,14 @@ import com.dfsek.tectonic.annotations.Value;
|
||||
import com.dfsek.tectonic.config.ValidatedConfigTemplate;
|
||||
import com.dfsek.tectonic.exception.ValidationException;
|
||||
import com.dfsek.tectonic.loading.object.ObjectTemplate;
|
||||
import com.dfsek.terra.api.config.meta.Meta;
|
||||
import com.dfsek.terra.api.noise.NoiseSampler;
|
||||
|
||||
@SuppressWarnings("FieldMayBeFinal")
|
||||
public abstract class SamplerTemplate<T extends NoiseSampler> implements ValidatedConfigTemplate, ObjectTemplate<NoiseSampler> {
|
||||
@Value("dimensions")
|
||||
@Default
|
||||
private int dimensions = 2;
|
||||
private @Meta int dimensions = 2;
|
||||
|
||||
public int getDimensions() {
|
||||
return dimensions;
|
||||
|
||||
@@ -4,26 +4,27 @@ import com.dfsek.tectonic.annotations.Default;
|
||||
import com.dfsek.tectonic.annotations.Value;
|
||||
import com.dfsek.terra.addons.noise.samplers.noise.CellularSampler;
|
||||
import com.dfsek.terra.addons.noise.samplers.noise.simplex.OpenSimplex2Sampler;
|
||||
import com.dfsek.terra.api.config.meta.Meta;
|
||||
import com.dfsek.terra.api.noise.NoiseSampler;
|
||||
|
||||
@SuppressWarnings("FieldMayBeFinal")
|
||||
public class CellularNoiseTemplate extends NoiseTemplate<CellularSampler> {
|
||||
@Value("distance")
|
||||
@Default
|
||||
private CellularSampler.DistanceFunction cellularDistanceFunction = CellularSampler.DistanceFunction.EuclideanSq;
|
||||
private CellularSampler.@Meta DistanceFunction cellularDistanceFunction = CellularSampler.DistanceFunction.EuclideanSq;
|
||||
|
||||
@Value("return")
|
||||
@Default
|
||||
private CellularSampler.ReturnType cellularReturnType = CellularSampler.ReturnType.Distance;
|
||||
private CellularSampler.@Meta ReturnType cellularReturnType = CellularSampler.ReturnType.Distance;
|
||||
|
||||
@Value("jitter")
|
||||
@Default
|
||||
private double cellularJitter = 1.0D;
|
||||
private @Meta double cellularJitter = 1.0D;
|
||||
|
||||
|
||||
@Value("lookup")
|
||||
@Default
|
||||
private NoiseSampler lookup = new OpenSimplex2Sampler();
|
||||
private @Meta NoiseSampler lookup = new OpenSimplex2Sampler();
|
||||
|
||||
@Override
|
||||
public NoiseSampler get() {
|
||||
|
||||
@@ -4,13 +4,14 @@ import com.dfsek.tectonic.annotations.Default;
|
||||
import com.dfsek.tectonic.annotations.Value;
|
||||
import com.dfsek.terra.addons.noise.config.templates.SamplerTemplate;
|
||||
import com.dfsek.terra.addons.noise.samplers.noise.ConstantSampler;
|
||||
import com.dfsek.terra.api.config.meta.Meta;
|
||||
import com.dfsek.terra.api.noise.NoiseSampler;
|
||||
|
||||
@SuppressWarnings("FieldMayBeFinal")
|
||||
public class ConstantNoiseTemplate extends SamplerTemplate<ConstantSampler> {
|
||||
@Value("value")
|
||||
@Default
|
||||
private double value = 0d;
|
||||
private @Meta double value = 0d;
|
||||
|
||||
@Override
|
||||
public NoiseSampler get() {
|
||||
|
||||
@@ -15,6 +15,7 @@ import com.dfsek.terra.addons.noise.paralithic.defined.UserDefinedFunction;
|
||||
import com.dfsek.terra.addons.noise.paralithic.noise.NoiseFunction2;
|
||||
import com.dfsek.terra.addons.noise.paralithic.noise.NoiseFunction3;
|
||||
import com.dfsek.terra.addons.noise.samplers.noise.ExpressionFunction;
|
||||
import com.dfsek.terra.api.config.meta.Meta;
|
||||
import com.dfsek.terra.api.noise.NoiseSampler;
|
||||
|
||||
import java.util.HashMap;
|
||||
@@ -27,15 +28,18 @@ public class ExpressionFunctionTemplate extends SamplerTemplate<ExpressionFuncti
|
||||
private final Map<String, DimensionApplicableNoiseSampler> otherFunctions;
|
||||
@Value("variables")
|
||||
@Default
|
||||
private Map<String, Double> vars = new HashMap<>();
|
||||
private @Meta Map<String, @Meta Double> vars = new HashMap<>();
|
||||
|
||||
@Value("equation")
|
||||
private String equation;
|
||||
private @Meta String equation;
|
||||
|
||||
@Value("functions")
|
||||
@Default
|
||||
private LinkedHashMap<String, DimensionApplicableNoiseSampler> functions = new LinkedHashMap<>();
|
||||
private @Meta LinkedHashMap<String, @Meta DimensionApplicableNoiseSampler> functions = new LinkedHashMap<>();
|
||||
|
||||
@Value("expressions")
|
||||
@Default
|
||||
private LinkedHashMap<String, FunctionTemplate> expressions = new LinkedHashMap<>();
|
||||
private @Meta LinkedHashMap<String, @Meta FunctionTemplate> expressions = new LinkedHashMap<>();
|
||||
|
||||
public ExpressionFunctionTemplate(Map<String, DimensionApplicableNoiseSampler> otherFunctions) {
|
||||
this.otherFunctions = otherFunctions;
|
||||
|
||||
@@ -3,28 +3,29 @@ package com.dfsek.terra.addons.noise.config.templates.noise;
|
||||
import com.dfsek.tectonic.annotations.Default;
|
||||
import com.dfsek.tectonic.annotations.Value;
|
||||
import com.dfsek.terra.addons.noise.samplers.noise.GaborNoiseSampler;
|
||||
import com.dfsek.terra.api.config.meta.Meta;
|
||||
import com.dfsek.terra.api.noise.NoiseSampler;
|
||||
|
||||
public class GaborNoiseTemplate extends NoiseTemplate<GaborNoiseSampler> {
|
||||
@Value("rotation")
|
||||
@Default
|
||||
private double rotation = 0.25;
|
||||
private @Meta double rotation = 0.25;
|
||||
|
||||
@Value("isotropic")
|
||||
@Default
|
||||
private boolean isotropic = true;
|
||||
private @Meta boolean isotropic = true;
|
||||
|
||||
@Value("deviation")
|
||||
@Default
|
||||
private double deviation = 1.0;
|
||||
private @Meta double deviation = 1.0;
|
||||
|
||||
@Value("impulses")
|
||||
@Default
|
||||
private double impulses = 64d;
|
||||
private @Meta double impulses = 64d;
|
||||
|
||||
@Value("frequency_0")
|
||||
@Default
|
||||
private double f0 = 0.625;
|
||||
private @Meta double f0 = 0.625;
|
||||
|
||||
@Override
|
||||
public NoiseSampler get() {
|
||||
|
||||
@@ -4,15 +4,16 @@ import com.dfsek.tectonic.annotations.Default;
|
||||
import com.dfsek.tectonic.annotations.Value;
|
||||
import com.dfsek.terra.addons.noise.config.templates.SamplerTemplate;
|
||||
import com.dfsek.terra.addons.noise.samplers.noise.NoiseFunction;
|
||||
import com.dfsek.terra.api.config.meta.Meta;
|
||||
import com.dfsek.terra.api.noise.NoiseSampler;
|
||||
|
||||
@SuppressWarnings({"unused", "FieldMayBeFinal"})
|
||||
public abstract class NoiseTemplate<T extends NoiseFunction> extends SamplerTemplate<T> {
|
||||
@Value("frequency")
|
||||
@Default
|
||||
protected double frequency = 0.02d;
|
||||
protected @Meta double frequency = 0.02d;
|
||||
|
||||
@Value("salt")
|
||||
@Default
|
||||
protected long salt = 0;
|
||||
protected @Meta long salt = 0;
|
||||
}
|
||||
|
||||
@@ -4,25 +4,26 @@ import com.dfsek.tectonic.annotations.Default;
|
||||
import com.dfsek.tectonic.annotations.Value;
|
||||
import com.dfsek.terra.addons.noise.config.templates.SamplerTemplate;
|
||||
import com.dfsek.terra.addons.noise.samplers.noise.fractal.FractalNoiseFunction;
|
||||
import com.dfsek.terra.api.config.meta.Meta;
|
||||
import com.dfsek.terra.api.noise.NoiseSampler;
|
||||
|
||||
public abstract class FractalTemplate<T extends FractalNoiseFunction> extends SamplerTemplate<T> {
|
||||
@Value("octaves")
|
||||
@Default
|
||||
protected int octaves = 3;
|
||||
protected @Meta int octaves = 3;
|
||||
|
||||
@Value("gain")
|
||||
@Default
|
||||
protected double fractalGain = 0.5D;
|
||||
protected @Meta double fractalGain = 0.5D;
|
||||
|
||||
@Value("lacunarity")
|
||||
@Default
|
||||
protected double fractalLacunarity = 2.0D;
|
||||
protected @Meta double fractalLacunarity = 2.0D;
|
||||
|
||||
@Value("weighted-strength")
|
||||
@Default
|
||||
protected double weightedStrength = 0.0D;
|
||||
protected @Meta double weightedStrength = 0.0D;
|
||||
|
||||
@Value("function")
|
||||
protected NoiseSampler function;
|
||||
protected @Meta NoiseSampler function;
|
||||
}
|
||||
|
||||
@@ -3,13 +3,14 @@ package com.dfsek.terra.addons.noise.config.templates.noise.fractal;
|
||||
import com.dfsek.tectonic.annotations.Default;
|
||||
import com.dfsek.tectonic.annotations.Value;
|
||||
import com.dfsek.terra.addons.noise.samplers.noise.fractal.PingPongSampler;
|
||||
import com.dfsek.terra.api.config.meta.Meta;
|
||||
import com.dfsek.terra.api.noise.NoiseSampler;
|
||||
|
||||
@SuppressWarnings({"unused", "FieldMayBeFinal"})
|
||||
public class PingPongTemplate extends FractalTemplate<PingPongSampler> {
|
||||
@Value("ping-pong")
|
||||
@Default
|
||||
private double pingPong = 2.0D;
|
||||
private @Meta double pingPong = 2.0D;
|
||||
|
||||
@Override
|
||||
public NoiseSampler get() {
|
||||
|
||||
@@ -2,15 +2,16 @@ package com.dfsek.terra.addons.noise.config.templates.normalizer;
|
||||
|
||||
import com.dfsek.tectonic.annotations.Value;
|
||||
import com.dfsek.terra.addons.noise.normalizer.ClampNormalizer;
|
||||
import com.dfsek.terra.api.config.meta.Meta;
|
||||
import com.dfsek.terra.api.noise.NoiseSampler;
|
||||
|
||||
@SuppressWarnings({"unused", "FieldMayBeFinal"})
|
||||
public class ClampNormalizerTemplate extends NormalizerTemplate<ClampNormalizer> {
|
||||
@Value("max")
|
||||
private double max;
|
||||
private @Meta double max;
|
||||
|
||||
@Value("min")
|
||||
private double min;
|
||||
private @Meta double min;
|
||||
|
||||
@Override
|
||||
public NoiseSampler get() {
|
||||
|
||||
@@ -2,15 +2,16 @@ package com.dfsek.terra.addons.noise.config.templates.normalizer;
|
||||
|
||||
import com.dfsek.tectonic.annotations.Value;
|
||||
import com.dfsek.terra.addons.noise.normalizer.LinearNormalizer;
|
||||
import com.dfsek.terra.api.config.meta.Meta;
|
||||
import com.dfsek.terra.api.noise.NoiseSampler;
|
||||
|
||||
@SuppressWarnings({"unused", "FieldMayBeFinal"})
|
||||
public class LinearNormalizerTemplate extends NormalizerTemplate<LinearNormalizer> {
|
||||
@Value("max")
|
||||
private double max;
|
||||
private @Meta double max;
|
||||
|
||||
@Value("min")
|
||||
private double min;
|
||||
private @Meta double min;
|
||||
|
||||
@Override
|
||||
public NoiseSampler get() {
|
||||
|
||||
@@ -3,19 +3,20 @@ package com.dfsek.terra.addons.noise.config.templates.normalizer;
|
||||
import com.dfsek.tectonic.annotations.Default;
|
||||
import com.dfsek.tectonic.annotations.Value;
|
||||
import com.dfsek.terra.addons.noise.normalizer.NormalNormalizer;
|
||||
import com.dfsek.terra.api.config.meta.Meta;
|
||||
import com.dfsek.terra.api.noise.NoiseSampler;
|
||||
|
||||
@SuppressWarnings({"unused", "FieldMayBeFinal"})
|
||||
public class NormalNormalizerTemplate extends NormalizerTemplate<NormalNormalizer> {
|
||||
@Value("mean")
|
||||
private double mean;
|
||||
private @Meta double mean;
|
||||
|
||||
@Value("standard-deviation")
|
||||
private double stdDev;
|
||||
private @Meta double stdDev;
|
||||
|
||||
@Value("groups")
|
||||
@Default
|
||||
private int groups = 16384;
|
||||
private @Meta int groups = 16384;
|
||||
|
||||
@Override
|
||||
public NoiseSampler get() {
|
||||
|
||||
@@ -3,9 +3,10 @@ package com.dfsek.terra.addons.noise.config.templates.normalizer;
|
||||
import com.dfsek.tectonic.annotations.Value;
|
||||
import com.dfsek.terra.addons.noise.config.templates.SamplerTemplate;
|
||||
import com.dfsek.terra.addons.noise.normalizer.Normalizer;
|
||||
import com.dfsek.terra.api.config.meta.Meta;
|
||||
import com.dfsek.terra.api.noise.NoiseSampler;
|
||||
|
||||
public abstract class NormalizerTemplate<T extends Normalizer> extends SamplerTemplate<T> {
|
||||
@Value("function")
|
||||
protected NoiseSampler function;
|
||||
protected @Meta NoiseSampler function;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user