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 0c56cf6cf..492cb3095 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/AbstractTerraPlugin.java +++ b/common/implementation/src/main/java/com/dfsek/terra/AbstractTerraPlugin.java @@ -54,13 +54,7 @@ public abstract class AbstractTerraPlugin implements TerraPlugin { private final CommandManager manager = new TerraCommandManager(this); - private final AddonRegistry addonRegistry = Construct.construct(() -> { - Optional addon = getPlatformAddon(); - AddonRegistry registry = addon.map(terraAddon -> new AddonRegistry(terraAddon, this)).orElseGet(() -> new AddonRegistry(this)); - InternalAddon internalAddon = new InternalAddon(this); - registry.register(internalAddon); - return registry; - }); + private final AddonRegistry addonRegistry; public AbstractTerraPlugin() { @@ -76,6 +70,9 @@ public abstract class AbstractTerraPlugin implements TerraPlugin { profiler.start(); } + addonRegistry = getPlatformAddon().map(terraAddon -> new AddonRegistry(terraAddon, this)).orElseGet(() -> new AddonRegistry(this)); + addonRegistry.register(new InternalAddon(this)); + if(!addonRegistry.loadAll(getClass().getClassLoader())) { // load all addons throw new IllegalStateException("Failed to load addons. Please correct addon installations to continue."); }