diff --git a/common/src/main/java/com/dfsek/terra/api/math/noise/normalizer/ClampNormalizer.java b/common/src/main/java/com/dfsek/terra/api/math/noise/normalizer/ClampNormalizer.java new file mode 100644 index 000000000..dee3ddfd8 --- /dev/null +++ b/common/src/main/java/com/dfsek/terra/api/math/noise/normalizer/ClampNormalizer.java @@ -0,0 +1,20 @@ +package com.dfsek.terra.api.math.noise.normalizer; + +import com.dfsek.terra.api.math.noise.NoiseSampler; +import net.jafama.FastMath; + +public class ClampNormalizer extends Normalizer { + private final double min; + private final double max; + + public ClampNormalizer(NoiseSampler sampler, double min, double max) { + super(sampler); + this.min = min; + this.max = max; + } + + @Override + public double normalize(double in) { + return FastMath.max(FastMath.min(in, max), min); + } +} diff --git a/common/src/main/java/com/dfsek/terra/api/structures/script/StructureScript.java b/common/src/main/java/com/dfsek/terra/api/structures/script/StructureScript.java index e8a316fdc..ad1512ce3 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/script/StructureScript.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/script/StructureScript.java @@ -28,8 +28,8 @@ import com.dfsek.terra.api.structures.structure.Rotation; import com.dfsek.terra.api.structures.structure.buffer.Buffer; import com.dfsek.terra.api.structures.structure.buffer.DirectBuffer; import com.dfsek.terra.api.structures.structure.buffer.StructureBuffer; -import com.dfsek.terra.registry.LootRegistry; -import com.dfsek.terra.registry.ScriptRegistry; +import com.dfsek.terra.registry.config.LootRegistry; +import com.dfsek.terra.registry.config.ScriptRegistry; import com.dfsek.terra.world.generation.math.SamplerCache; import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; diff --git a/common/src/main/java/com/dfsek/terra/api/structures/script/builders/LootFunctionBuilder.java b/common/src/main/java/com/dfsek/terra/api/structures/script/builders/LootFunctionBuilder.java index 140401a20..b2a39c92a 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/script/builders/LootFunctionBuilder.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/script/builders/LootFunctionBuilder.java @@ -5,7 +5,7 @@ import com.dfsek.terra.api.structures.parser.lang.Returnable; import com.dfsek.terra.api.structures.parser.lang.functions.FunctionBuilder; import com.dfsek.terra.api.structures.script.functions.LootFunction; import com.dfsek.terra.api.structures.tokenizer.Position; -import com.dfsek.terra.registry.LootRegistry; +import com.dfsek.terra.registry.config.LootRegistry; import java.util.List; diff --git a/common/src/main/java/com/dfsek/terra/api/structures/script/builders/StructureFunctionBuilder.java b/common/src/main/java/com/dfsek/terra/api/structures/script/builders/StructureFunctionBuilder.java index b54004816..311cb4d1b 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/script/builders/StructureFunctionBuilder.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/script/builders/StructureFunctionBuilder.java @@ -6,7 +6,7 @@ import com.dfsek.terra.api.structures.parser.lang.Returnable; import com.dfsek.terra.api.structures.parser.lang.functions.FunctionBuilder; import com.dfsek.terra.api.structures.script.functions.StructureFunction; import com.dfsek.terra.api.structures.tokenizer.Position; -import com.dfsek.terra.registry.ScriptRegistry; +import com.dfsek.terra.registry.config.ScriptRegistry; import java.util.List; import java.util.stream.Collectors; diff --git a/common/src/main/java/com/dfsek/terra/api/structures/script/functions/LootFunction.java b/common/src/main/java/com/dfsek/terra/api/structures/script/functions/LootFunction.java index e6363427f..5218f86a7 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/script/functions/LootFunction.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/script/functions/LootFunction.java @@ -12,7 +12,7 @@ import com.dfsek.terra.api.structures.script.TerraImplementationArguments; import com.dfsek.terra.api.structures.structure.RotationUtil; import com.dfsek.terra.api.structures.structure.buffer.items.BufferedLootApplication; import com.dfsek.terra.api.structures.tokenizer.Position; -import com.dfsek.terra.registry.LootRegistry; +import com.dfsek.terra.registry.config.LootRegistry; import net.jafama.FastMath; import java.util.Map; diff --git a/common/src/main/java/com/dfsek/terra/api/structures/script/functions/StructureFunction.java b/common/src/main/java/com/dfsek/terra/api/structures/script/functions/StructureFunction.java index 93c628e91..cd61d0ae0 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/script/functions/StructureFunction.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/script/functions/StructureFunction.java @@ -13,7 +13,7 @@ import com.dfsek.terra.api.structures.structure.Rotation; import com.dfsek.terra.api.structures.structure.RotationUtil; import com.dfsek.terra.api.structures.structure.buffer.IntermediateBuffer; import com.dfsek.terra.api.structures.tokenizer.Position; -import com.dfsek.terra.registry.ScriptRegistry; +import com.dfsek.terra.registry.config.ScriptRegistry; import net.jafama.FastMath; import java.util.List; diff --git a/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/source/BiomePipelineTemplate.java b/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/source/BiomePipelineTemplate.java index 888c0a4d8..4a0237faa 100644 --- a/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/source/BiomePipelineTemplate.java +++ b/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/source/BiomePipelineTemplate.java @@ -8,7 +8,7 @@ import com.dfsek.terra.api.util.seeded.StageSeeded; import com.dfsek.terra.biome.pipeline.BiomePipeline; import com.dfsek.terra.biome.provider.BiomeProvider; import com.dfsek.terra.biome.provider.StandardBiomeProvider; -import com.dfsek.terra.registry.BiomeRegistry; +import com.dfsek.terra.registry.config.BiomeRegistry; import java.util.List; diff --git a/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/source/BiomeProviderTemplate.java b/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/source/BiomeProviderTemplate.java index 920c0f673..9e2d11d88 100644 --- a/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/source/BiomeProviderTemplate.java +++ b/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/source/BiomeProviderTemplate.java @@ -7,7 +7,7 @@ import com.dfsek.terra.api.math.noise.NoiseSampler; import com.dfsek.terra.api.math.noise.samplers.ConstantSampler; import com.dfsek.terra.api.util.seeded.NoiseSeeded; import com.dfsek.terra.biome.provider.BiomeProvider; -import com.dfsek.terra.registry.BiomeRegistry; +import com.dfsek.terra.registry.config.BiomeRegistry; public abstract class BiomeProviderTemplate implements ObjectTemplate, BiomeProvider.BiomeProviderBuilder { protected final BiomeRegistry registry; diff --git a/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/source/ImageProviderTemplate.java b/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/source/ImageProviderTemplate.java index a0a16b517..e92379d7e 100644 --- a/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/source/ImageProviderTemplate.java +++ b/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/source/ImageProviderTemplate.java @@ -3,7 +3,7 @@ package com.dfsek.terra.config.loaders.config.biome.templates.source; import com.dfsek.tectonic.annotations.Value; import com.dfsek.terra.biome.provider.BiomeProvider; import com.dfsek.terra.biome.provider.ImageBiomeProvider; -import com.dfsek.terra.registry.BiomeRegistry; +import com.dfsek.terra.registry.config.BiomeRegistry; import java.awt.image.BufferedImage; diff --git a/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/source/SingleBiomeProviderTemplate.java b/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/source/SingleBiomeProviderTemplate.java index 6883e58e5..811656cd4 100644 --- a/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/source/SingleBiomeProviderTemplate.java +++ b/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/source/SingleBiomeProviderTemplate.java @@ -4,7 +4,7 @@ import com.dfsek.tectonic.annotations.Value; import com.dfsek.terra.biome.TerraBiome; import com.dfsek.terra.biome.provider.BiomeProvider; import com.dfsek.terra.biome.provider.SingleBiomeProvider; -import com.dfsek.terra.registry.BiomeRegistry; +import com.dfsek.terra.registry.config.BiomeRegistry; public class SingleBiomeProviderTemplate extends BiomeProviderTemplate { @Value("biome") diff --git a/common/src/main/java/com/dfsek/terra/config/pack/ConfigPack.java b/common/src/main/java/com/dfsek/terra/config/pack/ConfigPack.java index 840435987..4b33a9df4 100644 --- a/common/src/main/java/com/dfsek/terra/config/pack/ConfigPack.java +++ b/common/src/main/java/com/dfsek/terra/config/pack/ConfigPack.java @@ -42,16 +42,16 @@ import com.dfsek.terra.config.templates.OreTemplate; import com.dfsek.terra.config.templates.PaletteTemplate; import com.dfsek.terra.config.templates.StructureTemplate; import com.dfsek.terra.config.templates.TreeTemplate; -import com.dfsek.terra.registry.BiomeRegistry; -import com.dfsek.terra.registry.CarverRegistry; -import com.dfsek.terra.registry.FloraRegistry; -import com.dfsek.terra.registry.LootRegistry; -import com.dfsek.terra.registry.OreRegistry; -import com.dfsek.terra.registry.PaletteRegistry; -import com.dfsek.terra.registry.ScriptRegistry; -import com.dfsek.terra.registry.StructureRegistry; import com.dfsek.terra.registry.TerraRegistry; -import com.dfsek.terra.registry.TreeRegistry; +import com.dfsek.terra.registry.config.BiomeRegistry; +import com.dfsek.terra.registry.config.CarverRegistry; +import com.dfsek.terra.registry.config.FloraRegistry; +import com.dfsek.terra.registry.config.LootRegistry; +import com.dfsek.terra.registry.config.OreRegistry; +import com.dfsek.terra.registry.config.PaletteRegistry; +import com.dfsek.terra.registry.config.ScriptRegistry; +import com.dfsek.terra.registry.config.StructureRegistry; +import com.dfsek.terra.registry.config.TreeRegistry; import com.dfsek.terra.world.generation.math.SamplerCache; import com.dfsek.terra.world.population.items.TerraStructure; import com.dfsek.terra.world.population.items.ores.Ore; diff --git a/common/src/main/java/com/dfsek/terra/registry/BiomeRegistry.java b/common/src/main/java/com/dfsek/terra/registry/config/BiomeRegistry.java similarity index 87% rename from common/src/main/java/com/dfsek/terra/registry/BiomeRegistry.java rename to common/src/main/java/com/dfsek/terra/registry/config/BiomeRegistry.java index 235f379ec..06aad4412 100644 --- a/common/src/main/java/com/dfsek/terra/registry/BiomeRegistry.java +++ b/common/src/main/java/com/dfsek/terra/registry/config/BiomeRegistry.java @@ -1,8 +1,9 @@ -package com.dfsek.terra.registry; +package com.dfsek.terra.registry.config; import com.dfsek.tectonic.exception.LoadException; import com.dfsek.tectonic.loading.ConfigLoader; import com.dfsek.terra.biome.TerraBiome; +import com.dfsek.terra.registry.TerraRegistry; import java.lang.reflect.Type; diff --git a/common/src/main/java/com/dfsek/terra/registry/CarverRegistry.java b/common/src/main/java/com/dfsek/terra/registry/config/CarverRegistry.java similarity index 58% rename from common/src/main/java/com/dfsek/terra/registry/CarverRegistry.java rename to common/src/main/java/com/dfsek/terra/registry/config/CarverRegistry.java index 8de7fa2da..46fe3d725 100644 --- a/common/src/main/java/com/dfsek/terra/registry/CarverRegistry.java +++ b/common/src/main/java/com/dfsek/terra/registry/config/CarverRegistry.java @@ -1,6 +1,7 @@ -package com.dfsek.terra.registry; +package com.dfsek.terra.registry.config; import com.dfsek.terra.carving.UserDefinedCarver; +import com.dfsek.terra.registry.TerraRegistry; public class CarverRegistry extends TerraRegistry { } diff --git a/common/src/main/java/com/dfsek/terra/registry/FloraRegistry.java b/common/src/main/java/com/dfsek/terra/registry/config/FloraRegistry.java similarity index 98% rename from common/src/main/java/com/dfsek/terra/registry/FloraRegistry.java rename to common/src/main/java/com/dfsek/terra/registry/config/FloraRegistry.java index 0645a1dd3..8000d81cd 100644 --- a/common/src/main/java/com/dfsek/terra/registry/FloraRegistry.java +++ b/common/src/main/java/com/dfsek/terra/registry/config/FloraRegistry.java @@ -1,9 +1,10 @@ -package com.dfsek.terra.registry; +package com.dfsek.terra.registry.config; import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.platform.block.MaterialData; import com.dfsek.terra.api.world.flora.Flora; +import com.dfsek.terra.registry.TerraRegistry; import com.dfsek.terra.util.MaterialSet; import com.dfsek.terra.world.population.items.flora.ConstantFlora; diff --git a/common/src/main/java/com/dfsek/terra/registry/LootRegistry.java b/common/src/main/java/com/dfsek/terra/registry/config/LootRegistry.java similarity index 57% rename from common/src/main/java/com/dfsek/terra/registry/LootRegistry.java rename to common/src/main/java/com/dfsek/terra/registry/config/LootRegistry.java index 0104bb66c..21358ea41 100644 --- a/common/src/main/java/com/dfsek/terra/registry/LootRegistry.java +++ b/common/src/main/java/com/dfsek/terra/registry/config/LootRegistry.java @@ -1,6 +1,7 @@ -package com.dfsek.terra.registry; +package com.dfsek.terra.registry.config; import com.dfsek.terra.api.structures.loot.LootTable; +import com.dfsek.terra.registry.TerraRegistry; public class LootRegistry extends TerraRegistry { } diff --git a/common/src/main/java/com/dfsek/terra/registry/OreRegistry.java b/common/src/main/java/com/dfsek/terra/registry/config/OreRegistry.java similarity index 56% rename from common/src/main/java/com/dfsek/terra/registry/OreRegistry.java rename to common/src/main/java/com/dfsek/terra/registry/config/OreRegistry.java index 4290497bc..3f8e285df 100644 --- a/common/src/main/java/com/dfsek/terra/registry/OreRegistry.java +++ b/common/src/main/java/com/dfsek/terra/registry/config/OreRegistry.java @@ -1,5 +1,6 @@ -package com.dfsek.terra.registry; +package com.dfsek.terra.registry.config; +import com.dfsek.terra.registry.TerraRegistry; import com.dfsek.terra.world.population.items.ores.Ore; public class OreRegistry extends TerraRegistry { diff --git a/common/src/main/java/com/dfsek/terra/registry/PaletteRegistry.java b/common/src/main/java/com/dfsek/terra/registry/config/PaletteRegistry.java similarity index 88% rename from common/src/main/java/com/dfsek/terra/registry/PaletteRegistry.java rename to common/src/main/java/com/dfsek/terra/registry/config/PaletteRegistry.java index eb0a2ec10..2a8cb5704 100644 --- a/common/src/main/java/com/dfsek/terra/registry/PaletteRegistry.java +++ b/common/src/main/java/com/dfsek/terra/registry/config/PaletteRegistry.java @@ -1,9 +1,10 @@ -package com.dfsek.terra.registry; +package com.dfsek.terra.registry.config; import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.world.palette.Palette; import com.dfsek.terra.api.world.palette.SinglePalette; +import com.dfsek.terra.registry.TerraRegistry; public class PaletteRegistry extends TerraRegistry> { private final TerraPlugin main; diff --git a/common/src/main/java/com/dfsek/terra/registry/ScriptRegistry.java b/common/src/main/java/com/dfsek/terra/registry/config/ScriptRegistry.java similarity index 60% rename from common/src/main/java/com/dfsek/terra/registry/ScriptRegistry.java rename to common/src/main/java/com/dfsek/terra/registry/config/ScriptRegistry.java index 703f971b6..d4320f854 100644 --- a/common/src/main/java/com/dfsek/terra/registry/ScriptRegistry.java +++ b/common/src/main/java/com/dfsek/terra/registry/config/ScriptRegistry.java @@ -1,6 +1,7 @@ -package com.dfsek.terra.registry; +package com.dfsek.terra.registry.config; import com.dfsek.terra.api.structures.script.StructureScript; +import com.dfsek.terra.registry.TerraRegistry; public class ScriptRegistry extends TerraRegistry { } diff --git a/common/src/main/java/com/dfsek/terra/registry/StructureRegistry.java b/common/src/main/java/com/dfsek/terra/registry/config/StructureRegistry.java similarity index 60% rename from common/src/main/java/com/dfsek/terra/registry/StructureRegistry.java rename to common/src/main/java/com/dfsek/terra/registry/config/StructureRegistry.java index 092241a43..523395fa7 100644 --- a/common/src/main/java/com/dfsek/terra/registry/StructureRegistry.java +++ b/common/src/main/java/com/dfsek/terra/registry/config/StructureRegistry.java @@ -1,5 +1,6 @@ -package com.dfsek.terra.registry; +package com.dfsek.terra.registry.config; +import com.dfsek.terra.registry.TerraRegistry; import com.dfsek.terra.world.population.items.TerraStructure; public class StructureRegistry extends TerraRegistry { diff --git a/common/src/main/java/com/dfsek/terra/registry/TreeRegistry.java b/common/src/main/java/com/dfsek/terra/registry/config/TreeRegistry.java similarity index 97% rename from common/src/main/java/com/dfsek/terra/registry/TreeRegistry.java rename to common/src/main/java/com/dfsek/terra/registry/config/TreeRegistry.java index fd63d50b8..82ac69fc6 100644 --- a/common/src/main/java/com/dfsek/terra/registry/TreeRegistry.java +++ b/common/src/main/java/com/dfsek/terra/registry/config/TreeRegistry.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.registry; +package com.dfsek.terra.registry.config; import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.math.vector.Location; @@ -14,6 +14,7 @@ import com.dfsek.terra.api.world.tree.fractal.trees.ShatteredTree; import com.dfsek.terra.api.world.tree.fractal.trees.SmallShatteredPillar; import com.dfsek.terra.api.world.tree.fractal.trees.SmallShatteredTree; import com.dfsek.terra.api.world.tree.fractal.trees.SpruceTree; +import com.dfsek.terra.registry.TerraRegistry; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; diff --git a/common/src/test/java/biome/DistributionTest.java b/common/src/test/java/biome/DistributionTest.java index 26dfe6c7a..f31ce6c91 100644 --- a/common/src/test/java/biome/DistributionTest.java +++ b/common/src/test/java/biome/DistributionTest.java @@ -33,8 +33,8 @@ import com.dfsek.terra.config.loaders.config.sampler.NoiseSamplerBuilderLoader; import com.dfsek.terra.config.pack.ConfigPack; import com.dfsek.terra.config.templates.AbstractableTemplate; import com.dfsek.terra.debug.DebugLogger; -import com.dfsek.terra.registry.BiomeRegistry; import com.dfsek.terra.registry.ConfigRegistry; +import com.dfsek.terra.registry.config.BiomeRegistry; import com.dfsek.terra.world.TerraWorld; import javax.swing.*; diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/listeners/CommonListener.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/listeners/CommonListener.java index 01d8182b9..b4ef72b18 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/listeners/CommonListener.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/listeners/CommonListener.java @@ -9,7 +9,7 @@ import com.dfsek.terra.api.util.FastRandom; import com.dfsek.terra.api.world.tree.Tree; import com.dfsek.terra.bukkit.world.BukkitAdapter; import com.dfsek.terra.config.pack.ConfigPack; -import com.dfsek.terra.registry.TreeRegistry; +import com.dfsek.terra.registry.config.TreeRegistry; import com.dfsek.terra.world.TerraWorld; import org.bukkit.Material; import org.bukkit.TreeType;