use functional events in BiomePipelineAddon

This commit is contained in:
dfsek 2021-07-21 20:00:50 -07:00
parent 67c45b7be3
commit a030fb93f3

View File

@ -25,7 +25,6 @@ import com.dfsek.terra.api.addon.TerraAddon;
import com.dfsek.terra.api.addon.annotations.Addon; import com.dfsek.terra.api.addon.annotations.Addon;
import com.dfsek.terra.api.addon.annotations.Author; import com.dfsek.terra.api.addon.annotations.Author;
import com.dfsek.terra.api.addon.annotations.Version; 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.event.events.config.pack.ConfigPackPreLoadEvent;
import com.dfsek.terra.api.injection.annotations.Inject; import com.dfsek.terra.api.injection.annotations.Inject;
import com.dfsek.terra.api.util.reflection.TypeKey; import com.dfsek.terra.api.util.reflection.TypeKey;
@ -35,7 +34,7 @@ import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeSource;
@Addon("biome-provider-pipeline") @Addon("biome-provider-pipeline")
@Author("Terra") @Author("Terra")
@Version("1.0.0") @Version("1.0.0")
public class BiomePipelineAddon extends TerraAddon implements EventListener { public class BiomePipelineAddon extends TerraAddon {
@Inject @Inject
private TerraPlugin main; private TerraPlugin main;
@ -44,11 +43,9 @@ public class BiomePipelineAddon extends TerraAddon implements EventListener {
@Override @Override
public void initialize() { public void initialize() {
main.getEventManager().registerListener(this, this); main.getEventManager()
} .register(ConfigPackPreLoadEvent.class)
.then(event -> event.getPack().applyLoader(BIOME_SOURCE_BUILDER_TOKEN.getType(), new SourceLoader())
public void onPackLoad(ConfigPackPreLoadEvent event) {
event.getPack().applyLoader(BIOME_SOURCE_BUILDER_TOKEN.getType(), new SourceLoader())
.applyLoader(Stage.class, new StageLoader()) .applyLoader(Stage.class, new StageLoader())
.applyLoader(ExpanderStage.Type.class, (c, o, l) -> ExpanderStage.Type.valueOf((String) o)) .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(MutatorStage.Type.class, (c, o, l) -> MutatorStage.Type.valueOf((String) o))
@ -60,6 +57,7 @@ public class BiomePipelineAddon extends TerraAddon implements EventListener {
.applyLoader(SmoothMutator.class, SmoothMutatorTemplate::new) .applyLoader(SmoothMutator.class, SmoothMutatorTemplate::new)
.applyLoader(ExpanderStage.class, ExpanderStageTemplate::new) .applyLoader(ExpanderStage.class, ExpanderStageTemplate::new)
.applyLoader(BiomePipelineProvider.class, () -> new BiomePipelineTemplate(main)) .applyLoader(BiomePipelineProvider.class, () -> new BiomePipelineTemplate(main))
.applyLoader(BIOME_PROVIDER_BUILDER_TOKEN.getType(), new BiomeProviderLoader()); .applyLoader(BIOME_PROVIDER_BUILDER_TOKEN.getType(), new BiomeProviderLoader()))
.failThrough();
} }
} }