diff --git a/common/src/main/java/com/dfsek/terra/config/builder/BiomeBuilder.java b/common/src/main/java/com/dfsek/terra/config/builder/BiomeBuilder.java index 27fdef9f3..a454cb07c 100644 --- a/common/src/main/java/com/dfsek/terra/config/builder/BiomeBuilder.java +++ b/common/src/main/java/com/dfsek/terra/config/builder/BiomeBuilder.java @@ -1,12 +1,10 @@ package com.dfsek.terra.config.builder; -import com.dfsek.terra.api.TerraPlugin; import com.dfsek.terra.api.platform.world.Biome; import com.dfsek.terra.api.util.collections.ProbabilityCollection; import com.dfsek.terra.api.util.seeded.SeededBuilder; import com.dfsek.terra.api.world.biome.TerraBiome; -import com.dfsek.terra.world.TerraWorld; -public interface BiomeBuilder extends SeededBuilder { +public interface BiomeBuilder extends SeededBuilder { ProbabilityCollection getVanillaBiomes(); } diff --git a/common/src/main/java/com/dfsek/terra/config/builder/UserDefinedBiomeBuilder.java b/common/src/main/java/com/dfsek/terra/config/builder/UserDefinedBiomeBuilder.java index a30161b07..e320b7517 100644 --- a/common/src/main/java/com/dfsek/terra/config/builder/UserDefinedBiomeBuilder.java +++ b/common/src/main/java/com/dfsek/terra/config/builder/UserDefinedBiomeBuilder.java @@ -17,7 +17,7 @@ import com.dfsek.terra.world.generation.WorldGenerator; import java.util.HashMap; import java.util.Map; -public class UserDefinedBiomeBuilder implements BiomeBuilder { +public class UserDefinedBiomeBuilder implements BiomeBuilder { private final BiomeTemplate template; private final ConfigPack pack; diff --git a/common/src/main/java/com/dfsek/terra/config/factories/BiomeFactory.java b/common/src/main/java/com/dfsek/terra/config/factories/BiomeFactory.java index 8e99d3bfe..c19ea0988 100644 --- a/common/src/main/java/com/dfsek/terra/config/factories/BiomeFactory.java +++ b/common/src/main/java/com/dfsek/terra/config/factories/BiomeFactory.java @@ -1,13 +1,12 @@ package com.dfsek.terra.config.factories; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.world.biome.TerraBiome; -import com.dfsek.terra.config.builder.UserDefinedBiomeBuilder; import com.dfsek.terra.config.builder.BiomeBuilder; +import com.dfsek.terra.config.builder.UserDefinedBiomeBuilder; import com.dfsek.terra.config.pack.ConfigPack; import com.dfsek.terra.config.templates.BiomeTemplate; -public class BiomeFactory implements ConfigFactory> { +public class BiomeFactory implements ConfigFactory { private final ConfigPack pack; public BiomeFactory(ConfigPack pack) { @@ -15,7 +14,7 @@ public class BiomeFactory implements ConfigFactory build(BiomeTemplate template, TerraPlugin main) { + public BiomeBuilder build(BiomeTemplate template, TerraPlugin main) { return new UserDefinedBiomeBuilder(template, pack); } } diff --git a/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/provider/ImageProviderTemplate.java b/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/provider/ImageProviderTemplate.java index 7524a632e..b66e25cba 100644 --- a/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/provider/ImageProviderTemplate.java +++ b/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/provider/ImageProviderTemplate.java @@ -2,7 +2,6 @@ package com.dfsek.terra.config.loaders.config.biome.templates.provider; import com.dfsek.tectonic.annotations.Value; import com.dfsek.terra.api.registry.Registry; -import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.api.world.biome.provider.BiomeProvider; import com.dfsek.terra.api.world.biome.provider.ImageBiomeProvider; import com.dfsek.terra.config.builder.BiomeBuilder; @@ -11,14 +10,14 @@ import java.awt.image.BufferedImage; import java.util.stream.Collectors; public class ImageProviderTemplate extends BiomeProviderTemplate { - private final Registry> biomes; + private final Registry biomes; @Value("image.name") private BufferedImage image; @Value("image.align") private ImageBiomeProvider.Align align; - public ImageProviderTemplate(Registry> set) { + public ImageProviderTemplate(Registry set) { this.biomes = set; } diff --git a/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/source/NoiseSourceTemplate.java b/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/source/NoiseSourceTemplate.java index 404c53226..7df6255d0 100644 --- a/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/source/NoiseSourceTemplate.java +++ b/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/source/NoiseSourceTemplate.java @@ -3,7 +3,6 @@ package com.dfsek.terra.config.loaders.config.biome.templates.source; import com.dfsek.tectonic.annotations.Value; import com.dfsek.terra.api.util.collections.ProbabilityCollection; import com.dfsek.terra.api.util.seeded.NoiseSeeded; -import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.api.world.biome.pipeline.source.BiomeSource; import com.dfsek.terra.api.world.biome.pipeline.source.RandomSource; import com.dfsek.terra.config.builder.BiomeBuilder; @@ -13,7 +12,7 @@ public class NoiseSourceTemplate extends SourceTemplate { private NoiseSeeded noise; @Value("biomes") - private ProbabilityCollection> biomes; + private ProbabilityCollection biomes; @Override public BiomeSource apply(Long seed) { diff --git a/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/mutator/BorderListMutatorTemplate.java b/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/mutator/BorderListMutatorTemplate.java index 492bdc70a..c853ee0a4 100644 --- a/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/mutator/BorderListMutatorTemplate.java +++ b/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/mutator/BorderListMutatorTemplate.java @@ -22,7 +22,7 @@ public class BorderListMutatorTemplate extends MutatorStageTemplate { private ProbabilityCollection defaultTo; @Value("replace") - private Map, ProbabilityCollection>> replace; + private Map> replace; @Override diff --git a/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/mutator/BorderMutatorTemplate.java b/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/mutator/BorderMutatorTemplate.java index fd44e261c..5502a412f 100644 --- a/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/mutator/BorderMutatorTemplate.java +++ b/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/mutator/BorderMutatorTemplate.java @@ -2,11 +2,9 @@ package com.dfsek.terra.config.loaders.config.biome.templates.stage.mutator; import com.dfsek.tectonic.annotations.Value; import com.dfsek.terra.api.util.collections.ProbabilityCollection; -import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.api.world.biome.pipeline.mutator.BiomeMutator; import com.dfsek.terra.api.world.biome.pipeline.mutator.BorderMutator; import com.dfsek.terra.config.builder.BiomeBuilder; -import com.dfsek.terra.config.builder.UserDefinedBiomeBuilder; @SuppressWarnings("unused") public class BorderMutatorTemplate extends MutatorStageTemplate { @@ -17,7 +15,7 @@ public class BorderMutatorTemplate extends MutatorStageTemplate { private String replace; @Value("to") - private ProbabilityCollection> to; + private ProbabilityCollection to; @Override public BiomeMutator build(long seed) { diff --git a/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/mutator/ReplaceListMutatorTemplate.java b/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/mutator/ReplaceListMutatorTemplate.java index 6635f59c0..d40eec7b4 100644 --- a/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/mutator/ReplaceListMutatorTemplate.java +++ b/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/mutator/ReplaceListMutatorTemplate.java @@ -6,7 +6,6 @@ import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.api.world.biome.pipeline.mutator.BiomeMutator; import com.dfsek.terra.api.world.biome.pipeline.mutator.ReplaceListMutator; import com.dfsek.terra.config.builder.BiomeBuilder; -import com.dfsek.terra.config.builder.UserDefinedBiomeBuilder; import java.util.HashMap; import java.util.Map; @@ -17,10 +16,10 @@ public class ReplaceListMutatorTemplate extends MutatorStageTemplate { private String defaultFrom; @Value("default-to") - private ProbabilityCollection> defaultTo; + private ProbabilityCollection defaultTo; @Value("to") - private Map, ProbabilityCollection>> replace; + private Map> replace; @Override public BiomeMutator build(long seed) { diff --git a/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/mutator/ReplaceMutatorTemplate.java b/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/mutator/ReplaceMutatorTemplate.java index 36b2e542e..fbe801fbf 100644 --- a/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/mutator/ReplaceMutatorTemplate.java +++ b/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/mutator/ReplaceMutatorTemplate.java @@ -2,11 +2,9 @@ package com.dfsek.terra.config.loaders.config.biome.templates.stage.mutator; import com.dfsek.tectonic.annotations.Value; import com.dfsek.terra.api.util.collections.ProbabilityCollection; -import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.api.world.biome.pipeline.mutator.BiomeMutator; import com.dfsek.terra.api.world.biome.pipeline.mutator.ReplaceMutator; import com.dfsek.terra.config.builder.BiomeBuilder; -import com.dfsek.terra.config.builder.UserDefinedBiomeBuilder; @SuppressWarnings("unused") public class ReplaceMutatorTemplate extends MutatorStageTemplate { @@ -14,7 +12,7 @@ public class ReplaceMutatorTemplate extends MutatorStageTemplate { private String from; @Value("to") - private ProbabilityCollection> to; + private ProbabilityCollection to; @Override public BiomeMutator build(long seed) { 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 5f557e711..6139ef7f8 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 @@ -17,22 +17,20 @@ import com.dfsek.terra.api.structures.loot.LootTable; import com.dfsek.terra.api.structures.parser.lang.functions.FunctionBuilder; import com.dfsek.terra.api.structures.script.StructureScript; import com.dfsek.terra.api.util.seeded.NoiseSeeded; -import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.api.world.biome.provider.BiomeProvider; import com.dfsek.terra.api.world.flora.Flora; import com.dfsek.terra.api.world.palette.Palette; import com.dfsek.terra.api.world.tree.Tree; import com.dfsek.terra.carving.UserDefinedCarver; -import com.dfsek.terra.config.builder.UserDefinedBiomeBuilder; import com.dfsek.terra.config.builder.BiomeBuilder; import com.dfsek.terra.config.dummy.DummyWorld; import com.dfsek.terra.config.factories.BiomeFactory; import com.dfsek.terra.config.factories.CarverFactory; +import com.dfsek.terra.config.factories.ConfigFactory; import com.dfsek.terra.config.factories.FloraFactory; import com.dfsek.terra.config.factories.OreFactory; import com.dfsek.terra.config.factories.PaletteFactory; import com.dfsek.terra.config.factories.StructureFactory; -import com.dfsek.terra.config.factories.ConfigFactory; import com.dfsek.terra.config.factories.TreeFactory; import com.dfsek.terra.config.fileloaders.FolderLoader; import com.dfsek.terra.config.fileloaders.Loader; @@ -291,7 +289,7 @@ public class ConfigPack implements LoaderRegistrar { return new CheckedRegistry<>(scriptRegistry); } - public CheckedRegistry> getBiomeRegistry() { + public CheckedRegistry getBiomeRegistry() { return new CheckedRegistry<>(biomeRegistry); } diff --git a/common/src/main/java/com/dfsek/terra/registry/config/BiomeRegistry.java b/common/src/main/java/com/dfsek/terra/registry/config/BiomeRegistry.java index 580c59d99..5ad1d32a6 100644 --- a/common/src/main/java/com/dfsek/terra/registry/config/BiomeRegistry.java +++ b/common/src/main/java/com/dfsek/terra/registry/config/BiomeRegistry.java @@ -2,17 +2,16 @@ package com.dfsek.terra.registry.config; import com.dfsek.tectonic.exception.LoadException; import com.dfsek.tectonic.loading.ConfigLoader; -import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.config.builder.BiomeBuilder; import com.dfsek.terra.registry.OpenRegistry; import java.lang.reflect.Type; -public class BiomeRegistry extends OpenRegistry> { +public class BiomeRegistry extends OpenRegistry { @Override - public BiomeBuilder load(Type type, Object o, ConfigLoader configLoader) throws LoadException { + public BiomeBuilder load(Type type, Object o, ConfigLoader configLoader) throws LoadException { if(o.equals("SELF")) return null; - BiomeBuilder biome = get((String) o); + BiomeBuilder biome = get((String) o); if(biome == null) throw new LoadException("No such " + type.getTypeName() + " matching \"" + o + "\" was found in this registry."); return biome; diff --git a/common/src/test/java/biome/DistributionTest.java b/common/src/test/java/biome/DistributionTest.java index 9468243a0..226da5898 100644 --- a/common/src/test/java/biome/DistributionTest.java +++ b/common/src/test/java/biome/DistributionTest.java @@ -145,11 +145,11 @@ public class DistributionTest { private static BiomeProvider getProvider(long seed) throws ConfigException, IOException { System.out.println(seed); - File pack = new File("/home/dfsek/Documents/Terra/platforms/bukkit/target/server/plugins/Terra/packs/betterend/"); + File pack = new File("/home/dfsek/Documents/Terra/platforms/bukkit/target/server/plugins/Terra/packs/default/"); FolderLoader folderLoader = new FolderLoader(pack.toPath()); AbstractConfigLoader loader = new AbstractConfigLoader(); - new GenericLoaders(null).register(loader); + new GenericLoaders(MAIN).register(loader); BiomeRegistry biomeRegistry = new BiomeRegistry(); folderLoader.open("biomes", ".yml").then(inputStreams -> ConfigPack.buildAll((template, main) -> template, biomeRegistry, loader.load(inputStreams, TestBiome::new), MAIN)); @@ -163,7 +163,7 @@ public class DistributionTest { .registerLoader(SingleBiomeProviderTemplate.class, SingleBiomeProviderTemplate::new) .registerLoader(BiomePipelineTemplate.class, () -> new BiomePipelineTemplate(MAIN)) .registerLoader(ImageProviderTemplate.class, () -> new ImageProviderTemplate(biomeRegistry)); - new GenericLoaders(null).register(pipeLoader); + new GenericLoaders(MAIN).register(pipeLoader); pipeLoader.registerLoader(NoiseSeeded.class, new NoiseSamplerBuilderLoader(new NoiseRegistry())); @@ -286,7 +286,7 @@ public class DistributionTest { } } - private static final class TestBiome extends AbstractableTemplate implements TerraBiome, ValidatedConfigTemplate, BiomeBuilder { + private static final class TestBiome extends AbstractableTemplate implements TerraBiome, ValidatedConfigTemplate, BiomeBuilder { @Value("color") @Default diff --git a/platforms/bukkit/build.gradle.kts b/platforms/bukkit/build.gradle.kts index dbf066f36..e3a942319 100644 --- a/platforms/bukkit/build.gradle.kts +++ b/platforms/bukkit/build.gradle.kts @@ -33,6 +33,8 @@ dependencies { "compileOnly"("com.sk89q.worldedit:worldedit-bukkit:7.2.0-SNAPSHOT") "shadedImplementation"("com.google.guava:guava:30.0-jre") + + "testImplementation"("com.google.guava:guava:30.0-jre") } val testDir = "target/server/" diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/TerraFabricPlugin.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/TerraFabricPlugin.java index 5fa16b5ef..e426fa2b2 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/TerraFabricPlugin.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/TerraFabricPlugin.java @@ -22,7 +22,6 @@ import com.dfsek.terra.api.transform.NotNullValidator; import com.dfsek.terra.api.transform.Transformer; import com.dfsek.terra.api.util.logging.DebugLogger; import com.dfsek.terra.api.util.logging.Logger; -import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.api.world.tree.Tree; import com.dfsek.terra.config.GenericLoaders; import com.dfsek.terra.config.PluginConfig; @@ -223,7 +222,7 @@ public class TerraFabricPlugin implements TerraPlugin, ModInitializer { return pack.getTemplate().getID().toLowerCase() + "/" + biomeID; } - private Biome createBiome(BiomeBuilder biome) { + private Biome createBiome(BiomeBuilder biome) { SpawnSettings.Builder spawnSettings = new SpawnSettings.Builder(); DefaultBiomeFeatures.addFarmAnimals(spawnSettings); DefaultBiomeFeatures.addMonsters(spawnSettings, 95, 5, 100);