diff --git a/common/src/main/java/org/embeddedt/modernfix/core/config/ModernFixEarlyConfig.java b/common/src/main/java/org/embeddedt/modernfix/core/config/ModernFixEarlyConfig.java index a9540db6..5c3b5cf0 100644 --- a/common/src/main/java/org/embeddedt/modernfix/core/config/ModernFixEarlyConfig.java +++ b/common/src/main/java/org/embeddedt/modernfix/core/config/ModernFixEarlyConfig.java @@ -163,6 +163,9 @@ public class ModernFixEarlyConfig { this.scanForAndBuildMixinOptions(); mixinOptions.addAll(DEFAULT_SETTING_OVERRIDES.keySet()); + if(!isFabric) { + mixinOptions.add("mixin.bugfix.fix_config_crashes"); + } for(String optionName : mixinOptions) { boolean defaultEnabled = DEFAULT_SETTING_OVERRIDES.getOrDefault(optionName, true); this.options.putIfAbsent(optionName, new Option(optionName, defaultEnabled, false)); diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/config/ConfigFixer.java b/forge/src/main/java/org/embeddedt/modernfix/forge/config/ConfigFixer.java index 48150a34..fb7e0f71 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/config/ConfigFixer.java +++ b/forge/src/main/java/org/embeddedt/modernfix/forge/config/ConfigFixer.java @@ -5,6 +5,7 @@ import net.minecraftforge.fml.ModList; import net.minecraftforge.fml.common.ObfuscationReflectionHelper; import net.minecraftforge.fml.config.ModConfig; import org.embeddedt.modernfix.ModernFix; +import org.embeddedt.modernfix.core.ModernFixMixinPlugin; import java.util.Optional; import java.util.function.Consumer; @@ -17,6 +18,8 @@ public class ConfigFixer { * Should have no noticeable performance impact as config handlers are virtually instant. */ public static void replaceConfigHandlers() { + if(!ModernFixMixinPlugin.instance.isOptionEnabled("bugfix.fix_config_crashes.ConfigFixerMixin")) + return; ModList.get().forEachModContainer((id, container) -> { try { Optional> configOpt = ObfuscationReflectionHelper.getPrivateValue(ModContainer.class, container, "configHandler");