diff --git a/common/implementation/base/src/main/java/com/dfsek/terra/AbstractPlatform.java b/common/implementation/base/src/main/java/com/dfsek/terra/AbstractPlatform.java index e9afb3bd3..4f26728ab 100644 --- a/common/implementation/base/src/main/java/com/dfsek/terra/AbstractPlatform.java +++ b/common/implementation/base/src/main/java/com/dfsek/terra/AbstractPlatform.java @@ -108,7 +108,7 @@ public abstract class AbstractPlatform implements Platform { return Collections.emptySet(); } - protected void load() { + protected InternalAddon load() { if(LOADED.get()) { throw new IllegalStateException( "Someone tried to initialize Terra, but Terra has already initialized. This is most likely due to a broken platform " + @@ -159,6 +159,8 @@ public abstract class AbstractPlatform implements Platform { logger.info("Terra addons successfully loaded."); logger.info("Finished initialization."); + + return internalAddon; } protected InternalAddon loadAddons() { diff --git a/platforms/bukkit/nms/v1_21_7/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_7/NMSPlatform.java b/platforms/bukkit/nms/v1_21_7/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_7/NMSPlatform.java index 2ad500f7d..290d439b1 100644 --- a/platforms/bukkit/nms/v1_21_7/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_7/NMSPlatform.java +++ b/platforms/bukkit/nms/v1_21_7/src/main/java/com/dfsek/terra/bukkit/nms/v1_21_7/NMSPlatform.java @@ -53,13 +53,6 @@ public class NMSPlatform extends PlatformImpl { public NMSPlatform(TerraBukkitPlugin plugin) { super(plugin); - // TODO: Check if there is a better way to handle InternalAddon - this.getEventManager().getHandler(FunctionalEventHandler.class) - .register(new InternalAddon(), PlatformInitializationEvent.class) - .priority(1) - .then(event -> AwfulBukkitHacks.registerBiomes(this.getRawConfigRegistry())) - .global(); - Bukkit.getPluginManager().registerEvents(new NMSInjectListener(), plugin); } @@ -95,6 +88,19 @@ public class NMSPlatform extends PlatformImpl { .registerLoader(VillagerType.class, VillagerTypeTemplate::new); } + @Override + protected InternalAddon load() { + InternalAddon internalAddon = super.load(); + + this.getEventManager().getHandler(FunctionalEventHandler.class) + .register(internalAddon, PlatformInitializationEvent.class) + .priority(1) + .then(event -> AwfulBukkitHacks.registerBiomes(this.getRawConfigRegistry())) + .global(); + + return internalAddon; + } + @Override protected Iterable platformAddon() { return List.of(new NMSAddon(this));