move platform addon registration

This commit is contained in:
dfsek
2021-07-30 07:56:18 -07:00
parent 0b0742d850
commit b407ca8821

View File

@@ -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> 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();
}
}