document more stuff

This commit is contained in:
dfsek
2021-04-25 17:08:10 -07:00
parent 869d95f5c8
commit 130d9648ee
5 changed files with 43 additions and 2 deletions
@@ -8,10 +8,21 @@ import com.dfsek.terra.api.math.noise.samplers.noise.ConstantSampler;
import com.dfsek.terra.api.util.seeded.NoiseSeeded; import com.dfsek.terra.api.util.seeded.NoiseSeeded;
import com.dfsek.terra.api.world.biome.provider.BiomeProvider; import com.dfsek.terra.api.world.biome.provider.BiomeProvider;
/**
* Configures a biome provider.
*/
public abstract class BiomeProviderTemplate implements ObjectTemplate<BiomeProvider.BiomeProviderBuilder>, BiomeProvider.BiomeProviderBuilder { public abstract class BiomeProviderTemplate implements ObjectTemplate<BiomeProvider.BiomeProviderBuilder>, BiomeProvider.BiomeProviderBuilder {
/**
* Resolution of this provider.
* A resolution of 1 means that 1 block = 1 sample.
*/
@Value("resolution") @Value("resolution")
@Default @Default
protected int resolution = 1; protected int resolution = 1;
/**
* Noise function to use for blending biomes at edges.
*/
@Value("blend.noise") @Value("blend.noise")
@Default @Default
protected NoiseSeeded blend = new NoiseSeeded() { protected NoiseSeeded blend = new NoiseSeeded() {
@@ -25,11 +36,13 @@ public abstract class BiomeProviderTemplate implements ObjectTemplate<BiomeProvi
return 2; return 2;
} }
}; };
/**
* Amplitude of edge blending, in blocks.
*/
@Value("blend.amplitude") @Value("blend.amplitude")
@Default @Default
protected double blendAmp = 0d; protected double blendAmp = 0d;
@Value("type")
BiomeProvider.Type type;
@Override @Override
public BiomeProvider.BiomeProviderBuilder get() { public BiomeProvider.BiomeProviderBuilder get() {
@@ -9,11 +9,21 @@ import com.dfsek.terra.config.builder.BiomeBuilder;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/**
* Configures an image biome provider.
*/
public class ImageProviderTemplate extends BiomeProviderTemplate { public class ImageProviderTemplate extends BiomeProviderTemplate {
private final Registry<BiomeBuilder> biomes; private final Registry<BiomeBuilder> biomes;
/**
* Image to use for biome selection.
*/
@Value("image.name") @Value("image.name")
private BufferedImage image; private BufferedImage image;
/**
* How the image should be aligned.
*/
@Value("image.align") @Value("image.align")
private ImageBiomeProvider.Align align; private ImageBiomeProvider.Align align;
@@ -5,7 +5,13 @@ import com.dfsek.terra.api.world.biome.provider.BiomeProvider;
import com.dfsek.terra.api.world.biome.provider.SingleBiomeProvider; import com.dfsek.terra.api.world.biome.provider.SingleBiomeProvider;
import com.dfsek.terra.config.builder.BiomeBuilder; import com.dfsek.terra.config.builder.BiomeBuilder;
/**
* Configures a single-biome provider.
*/
public class SingleBiomeProviderTemplate extends BiomeProviderTemplate { public class SingleBiomeProviderTemplate extends BiomeProviderTemplate {
/**
* The biome.
*/
@Value("biome") @Value("biome")
private BiomeBuilder biome; private BiomeBuilder biome;
@@ -7,10 +7,19 @@ import com.dfsek.terra.api.world.biome.pipeline.source.BiomeSource;
import com.dfsek.terra.api.world.biome.pipeline.source.RandomSource; import com.dfsek.terra.api.world.biome.pipeline.source.RandomSource;
import com.dfsek.terra.config.builder.BiomeBuilder; import com.dfsek.terra.config.builder.BiomeBuilder;
/**
* Configures a noise-based biome source.
*/
public class NoiseSourceTemplate extends SourceTemplate { public class NoiseSourceTemplate extends SourceTemplate {
/**
* Noise function to use for selecting biomes.
*/
@Value("noise") @Value("noise")
private NoiseSeeded noise; private NoiseSeeded noise;
/**
* ProbabilityCollection of biomes to use.
*/
@Value("biomes") @Value("biomes")
private ProbabilityCollection<BiomeBuilder> biomes; private ProbabilityCollection<BiomeBuilder> biomes;
@@ -8,6 +8,9 @@ import com.dfsek.terra.api.util.seeded.StageSeeded;
import com.dfsek.terra.api.world.biome.pipeline.stages.Stage; import com.dfsek.terra.api.world.biome.pipeline.stages.Stage;
public abstract class StageTemplate implements ObjectTemplate<SeededBuilder<Stage>>, StageSeeded { public abstract class StageTemplate implements ObjectTemplate<SeededBuilder<Stage>>, StageSeeded {
/**
* Noise function to use for mutating biomes in this stage.
*/
@Value("noise") @Value("noise")
protected NoiseSeeded noise; protected NoiseSeeded noise;