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