From 5e5ce0722fa89365157a33c83b2803ace103c5b9 Mon Sep 17 00:00:00 2001 From: dfsek Date: Wed, 24 Nov 2021 13:01:07 -0700 Subject: [PATCH] create StructureGenerationAddon --- .../structure/StructureGenerationAddon.java | 30 +++++++++++++++++++ .../structure/StructureGenerationStage.java | 18 +++++++++++ .../src/main/resources/terra.addon.yml | 3 +- 3 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 common/addons/generation-stage-structure/src/main/java/com/dfsek/terra/addons/generation/structure/StructureGenerationAddon.java create mode 100644 common/addons/generation-stage-structure/src/main/java/com/dfsek/terra/addons/generation/structure/StructureGenerationStage.java diff --git a/common/addons/generation-stage-structure/src/main/java/com/dfsek/terra/addons/generation/structure/StructureGenerationAddon.java b/common/addons/generation-stage-structure/src/main/java/com/dfsek/terra/addons/generation/structure/StructureGenerationAddon.java new file mode 100644 index 000000000..deeda4ef1 --- /dev/null +++ b/common/addons/generation-stage-structure/src/main/java/com/dfsek/terra/addons/generation/structure/StructureGenerationAddon.java @@ -0,0 +1,30 @@ +package com.dfsek.terra.addons.generation.structure; + +import com.dfsek.terra.addons.manifest.api.AddonInitializer; +import com.dfsek.terra.api.Platform; +import com.dfsek.terra.api.addon.BaseAddon; +import com.dfsek.terra.api.event.events.config.pack.ConfigPackPreLoadEvent; +import com.dfsek.terra.api.event.functional.FunctionalEventHandler; +import com.dfsek.terra.api.inject.annotations.Inject; +import com.dfsek.terra.api.world.generator.GenerationStageProvider; + + +public class StructureGenerationAddon implements AddonInitializer { + @Inject + private Platform platform; + + @Inject + private BaseAddon addon; + + @Override + public void initialize() { + platform.getEventManager() + .getHandler(FunctionalEventHandler.class) + .register(addon, ConfigPackPreLoadEvent.class) + .then(event -> event.getPack() + .getOrCreateRegistry(GenerationStageProvider.class) + .register("STRUCTURE", pack -> new StructureGenerationStage(platform))) + .failThrough(); + + } +} diff --git a/common/addons/generation-stage-structure/src/main/java/com/dfsek/terra/addons/generation/structure/StructureGenerationStage.java b/common/addons/generation-stage-structure/src/main/java/com/dfsek/terra/addons/generation/structure/StructureGenerationStage.java new file mode 100644 index 000000000..767d6279a --- /dev/null +++ b/common/addons/generation-stage-structure/src/main/java/com/dfsek/terra/addons/generation/structure/StructureGenerationStage.java @@ -0,0 +1,18 @@ +package com.dfsek.terra.addons.generation.structure; + +import com.dfsek.terra.api.Platform; +import com.dfsek.terra.api.world.Chunk; +import com.dfsek.terra.api.world.World; +import com.dfsek.terra.api.world.generator.GenerationStage; + + +public class StructureGenerationStage implements GenerationStage { + private final Platform platform; + + public StructureGenerationStage(Platform platform) { this.platform = platform; } + + @Override + public void populate(World world, Chunk chunk) { + + } +} diff --git a/common/addons/generation-stage-structure/src/main/resources/terra.addon.yml b/common/addons/generation-stage-structure/src/main/resources/terra.addon.yml index 16eb32d7e..75d064bb3 100644 --- a/common/addons/generation-stage-structure/src/main/resources/terra.addon.yml +++ b/common/addons/generation-stage-structure/src/main/resources/terra.addon.yml @@ -3,7 +3,8 @@ contributors: - Terra contributors id: generation-stage-structure version: 0.1.0 -entrypoints: [] +entrypoints: + - "com.dfsek.terra.addons.generation.structure.StructureGenerationAddon" website: issues: https://github.com/PolyhedralDev/Terra-generation-stage-structure/issues source: https://github.com/PolyhedralDev/Terra-generation-stage-structure