diff options
| author | shedaniel <daniel@shedaniel.me> | 2020-11-19 17:09:52 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2020-11-19 17:09:52 +0800 |
| commit | 2a4cb0445d3dca1ef67bb8875ac93c2b04fa9b48 (patch) | |
| tree | 1a2fd33cad1352b91d1b5689ca396b0823e9f386 /RoughlyEnoughItems-runtime/src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java | |
| parent | 883738ac49e261eb1b9cfbd68a14900cb4450cf2 (diff) | |
| download | RoughlyEnoughItems-2a4cb0445d3dca1ef67bb8875ac93c2b04fa9b48.tar.gz RoughlyEnoughItems-2a4cb0445d3dca1ef67bb8875ac93c2b04fa9b48.tar.bz2 RoughlyEnoughItems-2a4cb0445d3dca1ef67bb8875ac93c2b04fa9b48.zip | |
Fix #442
Signed-off-by: shedaniel <daniel@shedaniel.me>
Diffstat (limited to 'RoughlyEnoughItems-runtime/src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java')
| -rw-r--r-- | RoughlyEnoughItems-runtime/src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/RoughlyEnoughItems-runtime/src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java b/RoughlyEnoughItems-runtime/src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java index 27e9d44c7..517df76ba 100644 --- a/RoughlyEnoughItems-runtime/src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java +++ b/RoughlyEnoughItems-runtime/src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java @@ -48,10 +48,7 @@ import me.shedaniel.clothconfig2.api.ModifierKeyCode; import me.shedaniel.clothconfig2.gui.entries.KeyCodeEntry; import me.shedaniel.clothconfig2.impl.EasingMethod; import me.shedaniel.rei.RoughlyEnoughItemsCore; -import me.shedaniel.rei.api.ConfigManager; -import me.shedaniel.rei.api.EntryRegistry; -import me.shedaniel.rei.api.EntryStack; -import me.shedaniel.rei.api.REIHelper; +import me.shedaniel.rei.api.*; import me.shedaniel.rei.api.favorites.FavoriteEntry; import me.shedaniel.rei.gui.ContainerScreenOverlay; import me.shedaniel.rei.gui.TransformingScreen; @@ -82,6 +79,7 @@ import net.minecraft.network.chat.TextComponent; import net.minecraft.network.chat.TranslatableComponent; import net.minecraft.util.Mth; import net.minecraft.util.Tuple; +import net.minecraft.world.InteractionResult; import org.apache.commons.lang3.mutable.MutableLong; import org.jetbrains.annotations.ApiStatus; @@ -97,11 +95,13 @@ import static me.sargunvohra.mcmods.autoconfig1u.util.Utils.setUnsafely; @ApiStatus.Internal @Environment(EnvType.CLIENT) public class ConfigManagerImpl implements ConfigManager { - + private static ConfigManagerImpl instance; private boolean craftableOnly; private final Gson gson = new GsonBuilder().create(); + private ConfigObjectImpl object; public ConfigManagerImpl() { + ConfigManagerImpl.instance = this; this.craftableOnly = false; Jankson jankson = Jankson.builder().build(); AutoConfig.register(ConfigObjectImpl.class, (definition, configClass) -> new JanksonConfigSerializer<>(definition, configClass, Jankson.builder().registerPrimitiveTypeAdapter(InputConstants.Key.class, it -> { @@ -178,6 +178,10 @@ public class ConfigManagerImpl implements ConfigManager { RoughlyEnoughItemsCore.LOGGER.info("Config loaded."); } + public static ConfigManagerImpl getInstance() { + return instance; + } + @Override public void saveConfig() { if (getConfig().getFavoriteEntries() != null) @@ -191,12 +195,19 @@ public class ConfigManagerImpl implements ConfigManager { if (getConfig().getFilteringRules().stream().noneMatch(filteringRule -> filteringRule instanceof ManualFilteringRule)) { getConfig().getFilteringRules().add(new ManualFilteringRule()); } - ((me.sargunvohra.mcmods.autoconfig1u.ConfigManager<ConfigObjectImpl>) AutoConfig.getConfigHolder(ConfigObjectImpl.class)).save(); + AutoConfig.getConfigHolder(ConfigObjectImpl.class).save(); + AutoConfig.getConfigHolder(ConfigObjectImpl.class).registerLoadListener((configHolder, configObject) -> { + object = configObject; + return InteractionResult.PASS; + }); } @Override public ConfigObjectImpl getConfig() { - return AutoConfig.getConfigHolder(ConfigObjectImpl.class).getConfig(); + if (object == null) { + object = AutoConfig.getConfigHolder(ConfigObjectImpl.class).getConfig(); + } + return object; } @Override |
