refactor registries

This commit is contained in:
dfsek
2021-02-14 14:31:14 -07:00
parent b6e414f944
commit 8309ad665e
22 changed files with 59 additions and 30 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -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>, BiomeProvider.BiomeProviderBuilder {
protected final BiomeRegistry registry;

View File

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

View File

@@ -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")

View File

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

View File

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

View File

@@ -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<UserDefinedCarver> {
}

View File

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

View File

@@ -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<LootTable> {
}

View File

@@ -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<Ore> {

View File

@@ -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<Palette<BlockData>> {
private final TerraPlugin main;

View File

@@ -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<StructureScript> {
}

View File

@@ -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<TerraStructure> {

View File

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

View File

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

View File

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