From dd0ef7ea45b8f75b63d50bed99d8dfce501c9e10 Mon Sep 17 00:00:00 2001 From: dfsek Date: Thu, 29 Jul 2021 07:47:56 -0700 Subject: [PATCH] register all stage types --- .../biome/pipeline/BiomePipelineAddon.java | 16 +++++++--------- .../pipeline/config/stage/StageTemplate.java | 2 ++ .../stage/mutator/BorderListMutatorTemplate.java | 10 ++++++---- .../stage/mutator/BorderMutatorTemplate.java | 9 ++++++--- .../stage/mutator/MutatorStageTemplate.java | 16 ---------------- .../mutator/ReplaceListMutatorTemplate.java | 9 ++++++--- .../stage/mutator/ReplaceMutatorTemplate.java | 9 ++++++--- .../stage/mutator/SmoothMutatorTemplate.java | 9 ++++++--- 8 files changed, 39 insertions(+), 41 deletions(-) delete mode 100644 common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/config/stage/mutator/MutatorStageTemplate.java 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 382b45f1b..032f739a8 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 @@ -6,6 +6,7 @@ import com.dfsek.terra.addons.biome.pipeline.config.BiomePipelineTemplate; import com.dfsek.terra.addons.biome.pipeline.config.BiomeProviderLoader; import com.dfsek.terra.addons.biome.pipeline.config.NoiseSourceTemplate; import com.dfsek.terra.addons.biome.pipeline.config.stage.StageLoader; +import com.dfsek.terra.addons.biome.pipeline.config.stage.StageTemplate; import com.dfsek.terra.addons.biome.pipeline.config.stage.expander.ExpanderStageTemplate; import com.dfsek.terra.addons.biome.pipeline.config.stage.mutator.BorderListMutatorTemplate; import com.dfsek.terra.addons.biome.pipeline.config.stage.mutator.BorderMutatorTemplate; @@ -50,15 +51,7 @@ public class BiomePipelineAddon extends TerraAddon { main.getEventManager() .getHandler(FunctionalEventHandler.class) .register(this, ConfigPackPreLoadEvent.class) - .then(event -> event.getPack().applyLoader(ExpanderStage.Type.class, (c, o, l) -> ExpanderStage.Type.valueOf((String) o)) - .applyLoader(MutatorStage.Type.class, (c, o, l) -> MutatorStage.Type.valueOf((String) o)) - .applyLoader(ReplaceMutator.class, ReplaceMutatorTemplate::new) - .applyLoader(BorderMutator.class, BorderMutatorTemplate::new) - .applyLoader(BorderListMutator.class, BorderListMutatorTemplate::new) - .applyLoader(ReplaceListMutator.class, ReplaceListMutatorTemplate::new) - .applyLoader(SmoothMutator.class, SmoothMutatorTemplate::new) - .applyLoader(ExpanderStage.class, ExpanderStageTemplate::new) - .applyLoader(BiomePipelineProvider.class, () -> new BiomePipelineTemplate(main)) + .then(event -> event.getPack().applyLoader(BiomePipelineProvider.class, () -> new BiomePipelineTemplate(main)) .applyLoader(BiomeProvider.class, new BiomeProviderLoader())) .then(event -> { CheckedRegistry>> sourceRegistry = event.getPack().getOrCreateRegistry(SOURCE_REGISTRY_KEY); @@ -67,6 +60,11 @@ public class BiomePipelineAddon extends TerraAddon { .then(event -> { CheckedRegistry>> stageRegistry = event.getPack().getOrCreateRegistry(STAGE_REGISTRY_KEY); stageRegistry.register("FRACTAL_EXPAND", ExpanderStageTemplate::new); + stageRegistry.register("SMOOTH", SmoothMutatorTemplate::new); + stageRegistry.register("REPLACE", ReplaceMutatorTemplate::new); + stageRegistry.register("REPLACE_LIST", ReplaceListMutatorTemplate::new); + stageRegistry.register("BORDER", BorderMutatorTemplate::new); + stageRegistry.register("BORDER_LIST", BorderListMutatorTemplate::new); }) .failThrough(); } diff --git a/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/config/stage/StageTemplate.java b/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/config/stage/StageTemplate.java index b7451b871..4aba4990f 100644 --- a/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/config/stage/StageTemplate.java +++ b/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/config/stage/StageTemplate.java @@ -2,7 +2,9 @@ package com.dfsek.terra.addons.biome.pipeline.config.stage; import com.dfsek.tectonic.annotations.Value; import com.dfsek.tectonic.loading.object.ObjectTemplate; +import com.dfsek.terra.addons.biome.pipeline.api.BiomeMutator; import com.dfsek.terra.addons.biome.pipeline.api.Stage; +import com.dfsek.terra.addons.biome.pipeline.stages.MutatorStage; import com.dfsek.terra.api.config.meta.Meta; import com.dfsek.terra.api.noise.NoiseSampler; diff --git a/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/config/stage/mutator/BorderListMutatorTemplate.java b/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/config/stage/mutator/BorderListMutatorTemplate.java index 2538c9f9d..a65e181d6 100644 --- a/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/config/stage/mutator/BorderListMutatorTemplate.java +++ b/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/config/stage/mutator/BorderListMutatorTemplate.java @@ -1,8 +1,10 @@ package com.dfsek.terra.addons.biome.pipeline.config.stage.mutator; import com.dfsek.tectonic.annotations.Value; -import com.dfsek.terra.addons.biome.pipeline.api.BiomeMutator; +import com.dfsek.terra.addons.biome.pipeline.api.Stage; +import com.dfsek.terra.addons.biome.pipeline.config.stage.StageTemplate; import com.dfsek.terra.addons.biome.pipeline.mutator.BorderListMutator; +import com.dfsek.terra.addons.biome.pipeline.stages.MutatorStage; import com.dfsek.terra.api.config.meta.Meta; import com.dfsek.terra.api.util.collection.ProbabilityCollection; import com.dfsek.terra.api.world.biome.TerraBiome; @@ -10,7 +12,7 @@ import com.dfsek.terra.api.world.biome.TerraBiome; import java.util.Map; @SuppressWarnings("unused") -public class BorderListMutatorTemplate extends MutatorStageTemplate { +public class BorderListMutatorTemplate extends StageTemplate { @Value("from") private @Meta String from; @@ -25,7 +27,7 @@ public class BorderListMutatorTemplate extends MutatorStageTemplate { @Override - public BiomeMutator get() { - return new BorderListMutator(replace, from, defaultReplace, noise, defaultTo); + public Stage get() { + return new MutatorStage(new BorderListMutator(replace, from, defaultReplace, noise, defaultTo)); } } diff --git a/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/config/stage/mutator/BorderMutatorTemplate.java b/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/config/stage/mutator/BorderMutatorTemplate.java index be8676afa..786b54dc8 100644 --- a/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/config/stage/mutator/BorderMutatorTemplate.java +++ b/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/config/stage/mutator/BorderMutatorTemplate.java @@ -2,13 +2,16 @@ package com.dfsek.terra.addons.biome.pipeline.config.stage.mutator; import com.dfsek.tectonic.annotations.Value; import com.dfsek.terra.addons.biome.pipeline.api.BiomeMutator; +import com.dfsek.terra.addons.biome.pipeline.api.Stage; +import com.dfsek.terra.addons.biome.pipeline.config.stage.StageTemplate; import com.dfsek.terra.addons.biome.pipeline.mutator.BorderMutator; +import com.dfsek.terra.addons.biome.pipeline.stages.MutatorStage; import com.dfsek.terra.api.config.meta.Meta; import com.dfsek.terra.api.util.collection.ProbabilityCollection; import com.dfsek.terra.api.world.biome.TerraBiome; @SuppressWarnings("unused") -public class BorderMutatorTemplate extends MutatorStageTemplate { +public class BorderMutatorTemplate extends StageTemplate { @Value("from") private @Meta String from; @@ -19,7 +22,7 @@ public class BorderMutatorTemplate extends MutatorStageTemplate { private @Meta ProbabilityCollection<@Meta TerraBiome> to; @Override - public BiomeMutator get() { - return new BorderMutator(from, replace, noise, to); + public Stage get() { + return new MutatorStage(new BorderMutator(from, replace, noise, to)); } } diff --git a/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/config/stage/mutator/MutatorStageTemplate.java b/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/config/stage/mutator/MutatorStageTemplate.java deleted file mode 100644 index d19357f16..000000000 --- a/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/config/stage/mutator/MutatorStageTemplate.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.dfsek.terra.addons.biome.pipeline.config.stage.mutator; - -import com.dfsek.tectonic.annotations.Value; -import com.dfsek.tectonic.loading.object.ObjectTemplate; -import com.dfsek.terra.addons.biome.pipeline.api.BiomeMutator; -import com.dfsek.terra.addons.biome.pipeline.stages.MutatorStage; -import com.dfsek.terra.api.config.meta.Meta; -import com.dfsek.terra.api.noise.NoiseSampler; - -public abstract class MutatorStageTemplate implements ObjectTemplate { - @Value("noise") - protected @Meta NoiseSampler noise; - - @Override - public abstract BiomeMutator get(); -} diff --git a/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/config/stage/mutator/ReplaceListMutatorTemplate.java b/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/config/stage/mutator/ReplaceListMutatorTemplate.java index 6f23b76b7..bdd22ade9 100644 --- a/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/config/stage/mutator/ReplaceListMutatorTemplate.java +++ b/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/config/stage/mutator/ReplaceListMutatorTemplate.java @@ -2,7 +2,10 @@ package com.dfsek.terra.addons.biome.pipeline.config.stage.mutator; import com.dfsek.tectonic.annotations.Value; import com.dfsek.terra.addons.biome.pipeline.api.BiomeMutator; +import com.dfsek.terra.addons.biome.pipeline.api.Stage; +import com.dfsek.terra.addons.biome.pipeline.config.stage.StageTemplate; import com.dfsek.terra.addons.biome.pipeline.mutator.ReplaceListMutator; +import com.dfsek.terra.addons.biome.pipeline.stages.MutatorStage; import com.dfsek.terra.api.config.meta.Meta; import com.dfsek.terra.api.util.collection.ProbabilityCollection; import com.dfsek.terra.api.world.biome.TerraBiome; @@ -10,7 +13,7 @@ import com.dfsek.terra.api.world.biome.TerraBiome; import java.util.Map; @SuppressWarnings("unused") -public class ReplaceListMutatorTemplate extends MutatorStageTemplate { +public class ReplaceListMutatorTemplate extends StageTemplate { @Value("default-from") private @Meta String defaultFrom; @@ -21,7 +24,7 @@ public class ReplaceListMutatorTemplate extends MutatorStageTemplate { private @Meta Map<@Meta TerraBiome, @Meta ProbabilityCollection<@Meta TerraBiome>> replace; @Override - public BiomeMutator get() { - return new ReplaceListMutator(replace, defaultFrom, defaultTo, noise); + public Stage get() { + return new MutatorStage(new ReplaceListMutator(replace, defaultFrom, defaultTo, noise)); } } diff --git a/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/config/stage/mutator/ReplaceMutatorTemplate.java b/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/config/stage/mutator/ReplaceMutatorTemplate.java index 9adb4aab5..ea59bd3d8 100644 --- a/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/config/stage/mutator/ReplaceMutatorTemplate.java +++ b/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/config/stage/mutator/ReplaceMutatorTemplate.java @@ -2,13 +2,16 @@ package com.dfsek.terra.addons.biome.pipeline.config.stage.mutator; import com.dfsek.tectonic.annotations.Value; import com.dfsek.terra.addons.biome.pipeline.api.BiomeMutator; +import com.dfsek.terra.addons.biome.pipeline.api.Stage; +import com.dfsek.terra.addons.biome.pipeline.config.stage.StageTemplate; import com.dfsek.terra.addons.biome.pipeline.mutator.ReplaceMutator; +import com.dfsek.terra.addons.biome.pipeline.stages.MutatorStage; import com.dfsek.terra.api.config.meta.Meta; import com.dfsek.terra.api.util.collection.ProbabilityCollection; import com.dfsek.terra.api.world.biome.TerraBiome; @SuppressWarnings("unused") -public class ReplaceMutatorTemplate extends MutatorStageTemplate { +public class ReplaceMutatorTemplate extends StageTemplate { @Value("from") private @Meta String from; @@ -16,7 +19,7 @@ public class ReplaceMutatorTemplate extends MutatorStageTemplate { private @Meta ProbabilityCollection<@Meta TerraBiome> to; @Override - public BiomeMutator get() { - return new ReplaceMutator(from, to, noise); + public Stage get() { + return new MutatorStage(new ReplaceMutator(from, to, noise)); } } diff --git a/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/config/stage/mutator/SmoothMutatorTemplate.java b/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/config/stage/mutator/SmoothMutatorTemplate.java index 20f98e993..77e23c100 100644 --- a/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/config/stage/mutator/SmoothMutatorTemplate.java +++ b/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/config/stage/mutator/SmoothMutatorTemplate.java @@ -1,11 +1,14 @@ package com.dfsek.terra.addons.biome.pipeline.config.stage.mutator; import com.dfsek.terra.addons.biome.pipeline.api.BiomeMutator; +import com.dfsek.terra.addons.biome.pipeline.api.Stage; +import com.dfsek.terra.addons.biome.pipeline.config.stage.StageTemplate; import com.dfsek.terra.addons.biome.pipeline.mutator.SmoothMutator; +import com.dfsek.terra.addons.biome.pipeline.stages.MutatorStage; -public class SmoothMutatorTemplate extends MutatorStageTemplate { +public class SmoothMutatorTemplate extends StageTemplate { @Override - public BiomeMutator get() { - return new SmoothMutator(noise); + public Stage get() { + return new MutatorStage(new SmoothMutator(noise)); } }