@Meta all the things

This commit is contained in:
dfsek
2021-07-20 21:29:30 -07:00
parent 6158cda740
commit 2373174132
49 changed files with 230 additions and 182 deletions

View File

@@ -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;

View File

@@ -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;

View File

@@ -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() {

View File

@@ -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;

View File

@@ -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() {

View File

@@ -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() {

View File

@@ -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;

View File

@@ -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() {

View File

@@ -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() {

View File

@@ -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;

View File

@@ -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() {

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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() {

View File

@@ -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() {

View File

@@ -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() {

View File

@@ -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() {

View File

@@ -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;
}