From e3af53002f59167ae1923211be7982ac47ecf85d Mon Sep 17 00:00:00 2001 From: ftbsc Date: Tue, 28 Feb 2023 21:50:01 +0100 Subject: fix: optional builder/dispatcher, moved cfg.pop --- src/main/java/ftbsc/bscv/modules/AbstractModule.java | 2 -- src/main/java/ftbsc/bscv/system/ModManager.java | 19 +++++++++++++------ 2 files changed, 13 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/main/java/ftbsc/bscv/modules/AbstractModule.java b/src/main/java/ftbsc/bscv/modules/AbstractModule.java index 7e6d2a6..a7f4b04 100644 --- a/src/main/java/ftbsc/bscv/modules/AbstractModule.java +++ b/src/main/java/ftbsc/bscv/modules/AbstractModule.java @@ -68,8 +68,6 @@ public abstract class AbstractModule implements IModule { return 1; }) ); - - this.getConfigBuilder().pop(); } protected void onEnabled() {} diff --git a/src/main/java/ftbsc/bscv/system/ModManager.java b/src/main/java/ftbsc/bscv/system/ModManager.java index ea64b0c..d5ce124 100644 --- a/src/main/java/ftbsc/bscv/system/ModManager.java +++ b/src/main/java/ftbsc/bscv/system/ModManager.java @@ -14,29 +14,36 @@ import net.minecraft.command.CommandSource; import net.minecraftforge.common.ForgeConfigSpec; import java.util.HashSet; +import java.util.Optional; import java.util.Set; public class ModManager { - private final ForgeConfigSpec.Builder cfgBuilder; - private final CommandDispatcher dispatcher; + private Optional cfgBuilder; + private Optional> dispatcher; public final Set> > mods; public ModManager(ForgeConfigSpec.Builder cfgBuilder, CommandDispatcher dispatcher) { - this.cfgBuilder = cfgBuilder; - this.dispatcher = dispatcher; + this.cfgBuilder = Optional.of(cfgBuilder); + this.dispatcher = Optional.of(dispatcher); this.mods = new HashSet<>(); } public void registerMod(IModule> mod) { this.mods.add(mod); + this.cfgBuilder.get().pop(); // TODO solved by AutoService, soon TM + } + + public void finalize() { + this.cfgBuilder = Optional.empty(); + this.dispatcher = Optional.empty(); } public ForgeConfigSpec.Builder getCfgBuilder() { - return cfgBuilder; + return cfgBuilder.get(); } public CommandDispatcher getDispatcher() { - return dispatcher; + return dispatcher.get(); } } -- cgit v1.2.3-56-ga3b1