From b407ca8821ff2a21286c9a8ab4ae05e0e0c6db19 Mon Sep 17 00:00:00 2001 From: dfsek Date: Fri, 30 Jul 2021 07:56:18 -0700 Subject: [PATCH] move platform addon registration --- .../java/com/dfsek/terra/AbstractTerraPlugin.java | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/common/implementation/src/main/java/com/dfsek/terra/AbstractTerraPlugin.java b/common/implementation/src/main/java/com/dfsek/terra/AbstractTerraPlugin.java index 5bbc04b88..7c75c1642 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/AbstractTerraPlugin.java +++ b/common/implementation/src/main/java/com/dfsek/terra/AbstractTerraPlugin.java @@ -54,18 +54,13 @@ public abstract class AbstractTerraPlugin implements TerraPlugin { private final CommandManager manager = new TerraCommandManager(this); - private final AddonRegistry addonRegistry; + private final AddonRegistry addonRegistry = new AddonRegistry(this); - private final Logger logger; + private final Lazy logger = Lazy.lazy(() -> createLogger()); private static final MutableBoolean LOADED = new MutableBoolean(false); - public AbstractTerraPlugin() { - this.logger = createLogger(); - addonRegistry = getPlatformAddon().map(terraAddon -> new AddonRegistry(terraAddon, this)).orElseGet(() -> new AddonRegistry(this)); - } - protected void 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 implementation, or a misbehaving mod."); @@ -74,6 +69,8 @@ public abstract class AbstractTerraPlugin implements TerraPlugin { logger().info("Initializing Terra..."); + getPlatformAddon().ifPresent(addonRegistry::register); + try(InputStream stream = getClass().getResourceAsStream("/config.yml")) { File configFile = new File(getDataFolder(), "config.yml"); if(!configFile.exists()) { @@ -166,6 +163,6 @@ public abstract class AbstractTerraPlugin implements TerraPlugin { @Override public Logger logger() { - return logger; + return logger.value(); } }