create and register LinearHeightmapSamplerTemplate

This commit is contained in:
dfsek
2021-12-15 20:41:42 -07:00
parent 8579b6f6eb
commit 177cc512fa
2 changed files with 30 additions and 0 deletions

View File

@@ -19,6 +19,7 @@ import com.dfsek.terra.addons.noise.config.templates.DomainWarpTemplate;
import com.dfsek.terra.addons.noise.config.templates.FunctionTemplate;
import com.dfsek.terra.addons.noise.config.templates.ImageSamplerTemplate;
import com.dfsek.terra.addons.noise.config.templates.KernelTemplate;
import com.dfsek.terra.addons.noise.config.templates.LinearHeightmapSamplerTemplate;
import com.dfsek.terra.addons.noise.config.templates.noise.CellularNoiseTemplate;
import com.dfsek.terra.addons.noise.config.templates.noise.ConstantNoiseTemplate;
import com.dfsek.terra.addons.noise.config.templates.noise.ExpressionFunctionTemplate;
@@ -107,6 +108,8 @@ public class NoiseAddon implements AddonInitializer {
noiseRegistry.register("CONSTANT", ConstantNoiseTemplate::new);
noiseRegistry.register("KERNEL", KernelTemplate::new);
noiseRegistry.register("LINEAR_HEIGHTMAP", LinearHeightmapSamplerTemplate::new);
Map<String, DimensionApplicableNoiseSampler> packSamplers = new LinkedHashMap<>();
Map<String, FunctionTemplate> packFunctions = new LinkedHashMap<>();

View File

@@ -0,0 +1,27 @@
package com.dfsek.terra.addons.noise.config.templates;
import com.dfsek.tectonic.api.config.template.annotations.Default;
import com.dfsek.tectonic.api.config.template.annotations.Value;
import com.dfsek.terra.addons.noise.samplers.LinearHeightmapSampler;
import com.dfsek.terra.api.noise.NoiseSampler;
@SuppressWarnings("FieldMayBeFinal")
public class LinearHeightmapSamplerTemplate extends SamplerTemplate<LinearHeightmapSampler> {
@Value("sampler")
@Default
private NoiseSampler sampler = NoiseSampler.zero();
@Value("base")
private double base;
@Value("scale")
@Default
private double scale = 1;
@Override
public NoiseSampler get() {
return new LinearHeightmapSampler(sampler, scale, base);
}
}