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 f7a5a794f..49b550be5 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,6 @@ package com.dfsek.terra.addons.biome.image; -import com.dfsek.terra.api.util.seeded.BiomeProviderBuilder; +import com.dfsek.terra.api.util.seeded.SeededBiomeProvider; import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import net.jafama.FastMath; @@ -11,7 +11,7 @@ import java.util.HashMap; import java.util.Map; import java.util.Set; -public class ImageBiomeProvider implements BiomeProvider, BiomeProviderBuilder { // This provider does not need a seed, so it is its own builder. +public class ImageBiomeProvider implements BiomeProvider, SeededBiomeProvider { // This provider does not need a seed, so it is its own builder. private final Map colorBiomeMap = new HashMap<>(); private final BufferedImage image; private final int resolution; diff --git a/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/BiomePipelineAddon.java b/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/BiomePipelineAddon.java index b6d03c0a7..3eab49bf5 100644 --- a/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/BiomePipelineAddon.java +++ b/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/BiomePipelineAddon.java @@ -21,7 +21,7 @@ import com.dfsek.terra.api.addon.annotations.Version; 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.util.seeded.BiomeProviderBuilder; +import com.dfsek.terra.api.util.seeded.SeededBiomeProvider; import com.dfsek.terra.api.util.seeded.SeededBiomeSource; import java.lang.reflect.Type; @@ -51,6 +51,6 @@ public class BiomePipelineAddon extends TerraAddon implements EventListener { .applyLoader(SmoothMutatorTemplate.class, SmoothMutatorTemplate::new) .applyLoader(ExpanderStageTemplate.class, ExpanderStageTemplate::new) .applyLoader((Type) BiomePipelineTemplate.class, () -> new BiomePipelineTemplate(main)) - .applyLoader(BiomeProviderBuilder.class, new BiomeProviderBuilderLoader()); + .applyLoader(SeededBiomeProvider.class, new BiomeProviderBuilderLoader()); } } diff --git a/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/config/BiomeProviderBuilderLoader.java b/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/config/BiomeProviderBuilderLoader.java index bbd40e302..f2f1b193e 100644 --- a/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/config/BiomeProviderBuilderLoader.java +++ b/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/config/BiomeProviderBuilderLoader.java @@ -3,14 +3,13 @@ package com.dfsek.terra.addons.biome.pipeline.config; import com.dfsek.tectonic.exception.LoadException; import com.dfsek.tectonic.loading.ConfigLoader; import com.dfsek.tectonic.loading.TypeLoader; -import com.dfsek.terra.api.util.seeded.BiomeProviderBuilder; +import com.dfsek.terra.api.util.seeded.SeededBiomeProvider; import java.lang.reflect.AnnotatedType; -import java.lang.reflect.Type; -public class BiomeProviderBuilderLoader implements TypeLoader { +public class BiomeProviderBuilderLoader implements TypeLoader { @Override - public BiomeProviderBuilder load(AnnotatedType t, Object c, ConfigLoader loader) throws LoadException { + public SeededBiomeProvider load(AnnotatedType t, Object c, ConfigLoader loader) throws LoadException { return loader.loadType(BiomePipelineTemplate.class, c); // TODO: actually implement this lol } } 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 be4e5aa3b..8444d907c 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 @@ -3,10 +3,10 @@ package com.dfsek.terra.addons.biome.pipeline.config; import com.dfsek.tectonic.annotations.Default; import com.dfsek.tectonic.annotations.Value; import com.dfsek.tectonic.loading.object.ObjectTemplate; -import com.dfsek.terra.api.util.seeded.BiomeProviderBuilder; +import com.dfsek.terra.api.util.seeded.SeededBiomeProvider; import com.dfsek.terra.api.util.seeded.SeededNoiseSampler; -public abstract class BiomeProviderTemplate implements ObjectTemplate, BiomeProviderBuilder { +public abstract class BiomeProviderTemplate implements ObjectTemplate, SeededBiomeProvider { @Value("resolution") @Default protected int resolution = 1; @@ -18,7 +18,7 @@ public abstract class BiomeProviderTemplate implements ObjectTemplate, BiomeProviderBuilder { +public class SingleBiomeProviderTemplate implements ObjectTemplate, SeededBiomeProvider { @Value("biome") private SeededTerraBiome biome; @@ -16,7 +16,7 @@ public class SingleBiomeProviderTemplate implements ObjectTemplate CheckedRegistry getOrCreateRegistry(Class clazz); diff --git a/common/api/src/main/java/com/dfsek/terra/api/util/seeded/BiomeProviderBuilder.java b/common/api/src/main/java/com/dfsek/terra/api/util/seeded/BiomeProviderBuilder.java deleted file mode 100644 index 098986864..000000000 --- a/common/api/src/main/java/com/dfsek/terra/api/util/seeded/BiomeProviderBuilder.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.dfsek.terra.api.util.seeded; - -import com.dfsek.terra.api.world.biome.generation.BiomeProvider; - -public interface BiomeProviderBuilder extends SeededBuilder { - BiomeProvider build(long seed); -} diff --git a/common/api/src/main/java/com/dfsek/terra/api/util/seeded/SeededBiomeProvider.java b/common/api/src/main/java/com/dfsek/terra/api/util/seeded/SeededBiomeProvider.java new file mode 100644 index 000000000..fff86cfcb --- /dev/null +++ b/common/api/src/main/java/com/dfsek/terra/api/util/seeded/SeededBiomeProvider.java @@ -0,0 +1,6 @@ +package com.dfsek.terra.api.util.seeded; + +import com.dfsek.terra.api.world.biome.generation.BiomeProvider; + +public interface SeededBiomeProvider extends SeededBuilder { +} 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 cdb8087ff..191b88965 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 @@ -29,7 +29,7 @@ import com.dfsek.terra.api.registry.OpenRegistry; import com.dfsek.terra.api.registry.exception.DuplicateEntryException; import com.dfsek.terra.api.registry.meta.RegistryFactory; import com.dfsek.terra.api.util.generic.pair.ImmutablePair; -import com.dfsek.terra.api.util.seeded.BiomeProviderBuilder; +import com.dfsek.terra.api.util.seeded.SeededBiomeProvider; import com.dfsek.terra.api.world.TerraWorld; import com.dfsek.terra.api.world.generator.ChunkGeneratorProvider; import com.dfsek.terra.api.world.generator.GenerationStageProvider; @@ -82,7 +82,7 @@ public class ConfigPackImpl implements ConfigPack { private final Set addons; - private final BiomeProviderBuilder biomeProviderBuilder; + private final SeededBiomeProvider seededBiomeProvider; private final Map, ImmutablePair, CheckedRegistry>> registryMap = new HashMap<>(); @@ -122,8 +122,8 @@ public class ConfigPackImpl implements ConfigPack { ConfigPackPostTemplate packPostTemplate = new ConfigPackPostTemplate(); selfLoader.load(packPostTemplate, configuration); - biomeProviderBuilder = packPostTemplate.getProviderBuilder(); - biomeProviderBuilder.build(0); // Build dummy provider to catch errors at load time. + 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); @@ -175,8 +175,8 @@ public class ConfigPackImpl implements ConfigPack { ConfigPackPostTemplate packPostTemplate = new ConfigPackPostTemplate(); selfLoader.load(packPostTemplate, configuration); - biomeProviderBuilder = packPostTemplate.getProviderBuilder(); - biomeProviderBuilder.build(0); // Build dummy provider to catch errors at load time. + 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); @@ -293,8 +293,8 @@ public class ConfigPackImpl implements ConfigPack { } @Override - public BiomeProviderBuilder getBiomeProviderBuilder() { - return biomeProviderBuilder; + public SeededBiomeProvider getBiomeProviderBuilder() { + return seededBiomeProvider; } @SuppressWarnings("unchecked") 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 0c03a2e3f..8d4c7bee9 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,13 +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.BiomeProviderBuilder; +import com.dfsek.terra.api.util.seeded.SeededBiomeProvider; public class ConfigPackPostTemplate implements ConfigTemplate { @Value("biomes") - private BiomeProviderBuilder providerBuilder; + private SeededBiomeProvider providerBuilder; - public BiomeProviderBuilder getProviderBuilder() { + public SeededBiomeProvider getProviderBuilder() { return providerBuilder; } }