From 24a4ff4044769d397bbcdf415f088636eab7cd9b Mon Sep 17 00:00:00 2001 From: dfsek Date: Mon, 19 Jul 2021 21:47:21 -0700 Subject: [PATCH] delete SeededBuilder --- .../terra/addons/biome/image/ImageBiomeProvider.java | 1 - .../biome/pipeline/config/BiomeProviderTemplate.java | 1 - .../addons/biome/pipeline/config/SourceTemplate.java | 1 - .../terra/addons/biome/single/SingleBiomeProvider.java | 8 +------- .../biome/single/SingleBiomeProviderTemplate.java | 10 ++-------- .../addons/feature/distributor/DistributorAddon.java | 5 ++--- .../distributor/config/NoiseDistributorTemplate.java | 7 +++---- .../terra/addons/feature/locator/LocatorAddon.java | 6 ++---- .../feature/locator/config/SurfaceLocatorTemplate.java | 7 +++---- .../java/com/dfsek/terra/api/config/ConfigPack.java | 3 +-- .../com/dfsek/terra/api/util/seeded/SeededBuilder.java | 6 ------ .../com/dfsek/terra/config/pack/ConfigPackImpl.java | 7 ++----- .../terra/config/pack/ConfigPackPostTemplate.java | 5 ++--- 13 files changed, 18 insertions(+), 49 deletions(-) delete mode 100644 common/api/src/main/java/com/dfsek/terra/api/util/seeded/SeededBuilder.java diff --git a/common/addons/biome-provider-image/src/main/java/com/dfsek/terra/addons/biome/image/ImageBiomeProvider.java b/common/addons/biome-provider-image/src/main/java/com/dfsek/terra/addons/biome/image/ImageBiomeProvider.java index eab74da90..5f609e206 100644 --- a/common/addons/biome-provider-image/src/main/java/com/dfsek/terra/addons/biome/image/ImageBiomeProvider.java +++ b/common/addons/biome-provider-image/src/main/java/com/dfsek/terra/addons/biome/image/ImageBiomeProvider.java @@ -1,6 +1,5 @@ package com.dfsek.terra.addons.biome.image; -import com.dfsek.terra.api.util.seeded.SeededBuilder; import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import net.jafama.FastMath; diff --git a/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/config/BiomeProviderTemplate.java b/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/config/BiomeProviderTemplate.java index 7cb1a019b..97e79d107 100644 --- a/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/config/BiomeProviderTemplate.java +++ b/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/config/BiomeProviderTemplate.java @@ -4,7 +4,6 @@ import com.dfsek.tectonic.annotations.Default; import com.dfsek.tectonic.annotations.Value; import com.dfsek.tectonic.loading.object.ObjectTemplate; import com.dfsek.terra.api.noise.NoiseSampler; -import com.dfsek.terra.api.util.seeded.SeededBuilder; import com.dfsek.terra.api.world.biome.generation.BiomeProvider; public abstract class BiomeProviderTemplate implements ObjectTemplate { diff --git a/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/config/SourceTemplate.java b/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/config/SourceTemplate.java index 1c06cccda..c85785ec1 100644 --- a/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/config/SourceTemplate.java +++ b/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/config/SourceTemplate.java @@ -1,7 +1,6 @@ package com.dfsek.terra.addons.biome.pipeline.config; import com.dfsek.tectonic.loading.object.ObjectTemplate; -import com.dfsek.terra.api.util.seeded.SeededBuilder; import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeSource; public abstract class SourceTemplate implements ObjectTemplate{ diff --git a/common/addons/biome-provider-single/src/main/java/com/dfsek/terra/addons/biome/single/SingleBiomeProvider.java b/common/addons/biome-provider-single/src/main/java/com/dfsek/terra/addons/biome/single/SingleBiomeProvider.java index 0b0a42d84..2b171547f 100644 --- a/common/addons/biome-provider-single/src/main/java/com/dfsek/terra/addons/biome/single/SingleBiomeProvider.java +++ b/common/addons/biome-provider-single/src/main/java/com/dfsek/terra/addons/biome/single/SingleBiomeProvider.java @@ -1,10 +1,9 @@ package com.dfsek.terra.addons.biome.single; -import com.dfsek.terra.api.util.seeded.SeededBuilder; import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.api.world.biome.generation.BiomeProvider; -public class SingleBiomeProvider implements BiomeProvider, SeededBuilder { +public class SingleBiomeProvider implements BiomeProvider { private final TerraBiome biome; public SingleBiomeProvider(TerraBiome biome) { @@ -15,9 +14,4 @@ public class SingleBiomeProvider implements BiomeProvider, SeededBuilder>, SeededBuilder { +public class SingleBiomeProviderTemplate implements ObjectTemplate { @Value("biome") private TerraBiome biome; @Override - public BiomeProvider build(long seed) { + public BiomeProvider get() { return new SingleBiomeProvider(biome); } - - @Override - public SeededBuilder get() { - return this; - } } diff --git a/common/addons/config-distributors/src/main/java/com/dfsek/terra/addons/feature/distributor/DistributorAddon.java b/common/addons/config-distributors/src/main/java/com/dfsek/terra/addons/feature/distributor/DistributorAddon.java index 4295cde1d..3b6f0d0f5 100644 --- a/common/addons/config-distributors/src/main/java/com/dfsek/terra/addons/feature/distributor/DistributorAddon.java +++ b/common/addons/config-distributors/src/main/java/com/dfsek/terra/addons/feature/distributor/DistributorAddon.java @@ -13,7 +13,6 @@ import com.dfsek.terra.api.injection.annotations.Inject; import com.dfsek.terra.api.registry.CheckedRegistry; import com.dfsek.terra.api.structure.feature.Distributor; import com.dfsek.terra.api.util.reflection.TypeKey; -import com.dfsek.terra.api.util.seeded.SeededBuilder; import java.util.function.Supplier; @@ -21,7 +20,7 @@ import java.util.function.Supplier; @Version("1.0.0") @Author("Terra") public class DistributorAddon extends TerraAddon implements EventListener { - public static final TypeKey>>> DISTRIBUTOR_TOKEN = new TypeKey<>() {}; + public static final TypeKey>> DISTRIBUTOR_TOKEN = new TypeKey<>() {}; @Inject private TerraPlugin main; @@ -32,7 +31,7 @@ public class DistributorAddon extends TerraAddon implements EventListener { public void packPreLoad(ConfigPackPreLoadEvent event) { - CheckedRegistry>>> distributorRegistry = event.getPack().getOrCreateRegistry(DISTRIBUTOR_TOKEN); + CheckedRegistry>> distributorRegistry = event.getPack().getOrCreateRegistry(DISTRIBUTOR_TOKEN); distributorRegistry.register("NOISE", NoiseDistributorTemplate::new); } } diff --git a/common/addons/config-distributors/src/main/java/com/dfsek/terra/addons/feature/distributor/config/NoiseDistributorTemplate.java b/common/addons/config-distributors/src/main/java/com/dfsek/terra/addons/feature/distributor/config/NoiseDistributorTemplate.java index b5a083e7c..e87ce15c2 100644 --- a/common/addons/config-distributors/src/main/java/com/dfsek/terra/addons/feature/distributor/config/NoiseDistributorTemplate.java +++ b/common/addons/config-distributors/src/main/java/com/dfsek/terra/addons/feature/distributor/config/NoiseDistributorTemplate.java @@ -5,14 +5,13 @@ import com.dfsek.tectonic.loading.object.ObjectTemplate; import com.dfsek.terra.addons.feature.distributor.distributors.NoiseDistributor; import com.dfsek.terra.api.noise.NoiseSampler; import com.dfsek.terra.api.structure.feature.Distributor; -import com.dfsek.terra.api.util.seeded.SeededBuilder; -public class NoiseDistributorTemplate implements ObjectTemplate> { +public class NoiseDistributorTemplate implements ObjectTemplate { @Value("distribution") private NoiseSampler noise; @Override - public SeededBuilder get() { - return seed -> new NoiseDistributor(noise); + public Distributor get() { + return new NoiseDistributor(noise); } } diff --git a/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/LocatorAddon.java b/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/LocatorAddon.java index bca1e34c1..3bddc8a80 100644 --- a/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/LocatorAddon.java +++ b/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/LocatorAddon.java @@ -11,10 +11,8 @@ import com.dfsek.terra.api.event.EventListener; import com.dfsek.terra.api.event.events.config.pack.ConfigPackPreLoadEvent; import com.dfsek.terra.api.injection.annotations.Inject; import com.dfsek.terra.api.registry.CheckedRegistry; -import com.dfsek.terra.api.structure.feature.Distributor; import com.dfsek.terra.api.structure.feature.Locator; import com.dfsek.terra.api.util.reflection.TypeKey; -import com.dfsek.terra.api.util.seeded.SeededBuilder; import java.util.function.Supplier; @@ -23,7 +21,7 @@ import java.util.function.Supplier; @Author("Terra") public class LocatorAddon extends TerraAddon implements EventListener { - public static final TypeKey>>> LOCATOR_TOKEN = new TypeKey<>() {}; + public static final TypeKey>> LOCATOR_TOKEN = new TypeKey<>() {}; @Inject private TerraPlugin main; @@ -33,7 +31,7 @@ public class LocatorAddon extends TerraAddon implements EventListener { } public void onPackLoad(ConfigPackPreLoadEvent event) { - CheckedRegistry>>> locatorRegistry = event.getPack().getOrCreateRegistry(LOCATOR_TOKEN); + CheckedRegistry>> locatorRegistry = event.getPack().getOrCreateRegistry(LOCATOR_TOKEN); locatorRegistry.register("SURFACE", () -> new SurfaceLocatorTemplate(main)); } } diff --git a/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/config/SurfaceLocatorTemplate.java b/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/config/SurfaceLocatorTemplate.java index 3619bca73..a85b37179 100644 --- a/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/config/SurfaceLocatorTemplate.java +++ b/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/config/SurfaceLocatorTemplate.java @@ -6,9 +6,8 @@ import com.dfsek.terra.addons.feature.locator.locators.SurfaceLocator; import com.dfsek.terra.api.TerraPlugin; import com.dfsek.terra.api.structure.feature.Locator; import com.dfsek.terra.api.util.Range; -import com.dfsek.terra.api.util.seeded.SeededBuilder; -public class SurfaceLocatorTemplate implements ObjectTemplate> { +public class SurfaceLocatorTemplate implements ObjectTemplate { private final TerraPlugin main; @Value("range") @@ -19,7 +18,7 @@ public class SurfaceLocatorTemplate implements ObjectTemplate get() { - return seed -> new SurfaceLocator(range, main); + public Locator get() { + return new SurfaceLocator(range, main); } } diff --git a/common/api/src/main/java/com/dfsek/terra/api/config/ConfigPack.java b/common/api/src/main/java/com/dfsek/terra/api/config/ConfigPack.java index 29262444c..edcbe9bcc 100644 --- a/common/api/src/main/java/com/dfsek/terra/api/config/ConfigPack.java +++ b/common/api/src/main/java/com/dfsek/terra/api/config/ConfigPack.java @@ -7,7 +7,6 @@ import com.dfsek.terra.api.registry.meta.RegistryHolder; import com.dfsek.terra.api.tectonic.LoaderHolder; import com.dfsek.terra.api.tectonic.LoaderRegistrar; import com.dfsek.terra.api.util.reflection.TypeKey; -import com.dfsek.terra.api.util.seeded.SeededBuilder; import com.dfsek.terra.api.world.TerraWorld; import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import com.dfsek.terra.api.world.generator.ChunkGeneratorProvider; @@ -19,7 +18,7 @@ import java.util.Map; import java.util.Set; public interface ConfigPack extends LoaderRegistrar, LoaderHolder, RegistryHolder { - SeededBuilder getBiomeProviderBuilder(); + BiomeProvider getBiomeProviderBuilder(); CheckedRegistry getOrCreateRegistry(Type clazz); default CheckedRegistry getOrCreateRegistry(Class clazz) { diff --git a/common/api/src/main/java/com/dfsek/terra/api/util/seeded/SeededBuilder.java b/common/api/src/main/java/com/dfsek/terra/api/util/seeded/SeededBuilder.java deleted file mode 100644 index 80276342f..000000000 --- a/common/api/src/main/java/com/dfsek/terra/api/util/seeded/SeededBuilder.java +++ /dev/null @@ -1,6 +0,0 @@ -package com.dfsek.terra.api.util.seeded; - -@FunctionalInterface -public interface SeededBuilder { - T build(long seed); -} diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/pack/ConfigPackImpl.java b/common/implementation/src/main/java/com/dfsek/terra/config/pack/ConfigPackImpl.java index 3117208f2..15d66e5ca 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/pack/ConfigPackImpl.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/pack/ConfigPackImpl.java @@ -30,7 +30,6 @@ import com.dfsek.terra.api.registry.exception.DuplicateEntryException; import com.dfsek.terra.api.registry.meta.RegistryFactory; import com.dfsek.terra.api.util.reflection.ReflectionUtil; import com.dfsek.terra.api.util.generic.pair.ImmutablePair; -import com.dfsek.terra.api.util.seeded.SeededBuilder; import com.dfsek.terra.api.world.TerraWorld; import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import com.dfsek.terra.api.world.generator.ChunkGeneratorProvider; @@ -84,7 +83,7 @@ public class ConfigPackImpl implements ConfigPack { private final Set addons; - private final SeededBuilder seededBiomeProvider; + private final BiomeProvider seededBiomeProvider; private final Map, CheckedRegistry>> registryMap = new HashMap<>(); @@ -125,7 +124,6 @@ public class ConfigPackImpl implements ConfigPack { ConfigPackPostTemplate packPostTemplate = new ConfigPackPostTemplate(); selfLoader.load(packPostTemplate, configuration); seededBiomeProvider = packPostTemplate.getProviderBuilder(); - seededBiomeProvider.build(0); // Build dummy provider to catch errors at load time. checkDeadEntries(main); } catch(FileNotFoundException e) { throw new LoadException("No pack.yml file found in " + folder.getAbsolutePath(), e); @@ -178,7 +176,6 @@ public class ConfigPackImpl implements ConfigPack { selfLoader.load(packPostTemplate, configuration); seededBiomeProvider = packPostTemplate.getProviderBuilder(); - seededBiomeProvider.build(0); // Build dummy provider to catch errors at load time. checkDeadEntries(main); } catch(IOException e) { throw new LoadException("Unable to load pack.yml from ZIP file", e); @@ -295,7 +292,7 @@ public class ConfigPackImpl implements ConfigPack { } @Override - public SeededBuilder getBiomeProviderBuilder() { + public BiomeProvider getBiomeProviderBuilder() { return seededBiomeProvider; } diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/pack/ConfigPackPostTemplate.java b/common/implementation/src/main/java/com/dfsek/terra/config/pack/ConfigPackPostTemplate.java index eea9d85ac..e0e220e80 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/pack/ConfigPackPostTemplate.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/pack/ConfigPackPostTemplate.java @@ -2,14 +2,13 @@ package com.dfsek.terra.config.pack; import com.dfsek.tectonic.annotations.Value; import com.dfsek.tectonic.config.ConfigTemplate; -import com.dfsek.terra.api.util.seeded.SeededBuilder; import com.dfsek.terra.api.world.biome.generation.BiomeProvider; public class ConfigPackPostTemplate implements ConfigTemplate { @Value("biomes") - private SeededBuilder providerBuilder; + private BiomeProvider providerBuilder; - public SeededBuilder getProviderBuilder() { + public BiomeProvider getProviderBuilder() { return providerBuilder; } }