diff --git a/src/main/java/org/embeddedt/modernfix/core/config/ModernFixEarlyConfig.java b/src/main/java/org/embeddedt/modernfix/core/config/ModernFixEarlyConfig.java index 8237eb57..5441ef4b 100644 --- a/src/main/java/org/embeddedt/modernfix/core/config/ModernFixEarlyConfig.java +++ b/src/main/java/org/embeddedt/modernfix/core/config/ModernFixEarlyConfig.java @@ -49,8 +49,7 @@ public class ModernFixEarlyConfig { /* off by default in 1.18 because it doesn't work as well */ this.addMixinRule("perf.faster_singleplayer_load", false); /* Keep this off if JEI/REI isn't installed to prevent breaking vanilla gameplay */ - Optional jeiMod = FMLLoader.getLoadingModList().getMods().stream().filter(mod -> mod.getModId().equals("jei")).findFirst(); - this.addMixinRule("perf.blast_search_trees", (jeiMod.isPresent() && jeiMod.get().getVersion().getMajorVersion() >= 10) || FMLLoader.getLoadingModList().getModFileById("roughlyenoughitems") != null); + this.addMixinRule("perf.blast_search_trees", FMLLoader.getLoadingModList().getModFileById("jei") != null || FMLLoader.getLoadingModList().getModFileById("roughlyenoughitems") != null); this.addMixinRule("safety", true); this.addMixinRule("launch.transformer_cache", false); this.addMixinRule("launch.class_search_cache", true); diff --git a/src/main/java/org/embeddedt/modernfix/mixin/perf/blast_search_trees/MinecraftMixin.java b/src/main/java/org/embeddedt/modernfix/mixin/perf/blast_search_trees/MinecraftMixin.java index db8df341..3eef9234 100644 --- a/src/main/java/org/embeddedt/modernfix/mixin/perf/blast_search_trees/MinecraftMixin.java +++ b/src/main/java/org/embeddedt/modernfix/mixin/perf/blast_search_trees/MinecraftMixin.java @@ -30,7 +30,7 @@ public class MinecraftMixin { ModernFix.LOGGER.info("Replaced creative search logic with REI"); this.searchRegistry.register(SearchRegistry.CREATIVE_NAMES, list -> new REIBackedSearchTree(false)); this.searchRegistry.register(SearchRegistry.CREATIVE_TAGS, list -> new REIBackedSearchTree(true)); - } else if(jeiContainer.isPresent() && jeiContainer.get().getModInfo().getVersion().getMajorVersion() >= 10) { + } else if(jeiContainer.isPresent()) { ModernFix.LOGGER.info("Replaced creative search logic with JEI"); this.searchRegistry.register(SearchRegistry.CREATIVE_NAMES, list -> new JEIBackedSearchTree(false)); this.searchRegistry.register(SearchRegistry.CREATIVE_TAGS, list -> new JEIBackedSearchTree(true)); diff --git a/src/main/java/org/embeddedt/modernfix/searchtree/JEIRuntimeCapturer.java b/src/main/java/org/embeddedt/modernfix/searchtree/JEIRuntimeCapturer.java index 64f3133f..8e3f2412 100644 --- a/src/main/java/org/embeddedt/modernfix/searchtree/JEIRuntimeCapturer.java +++ b/src/main/java/org/embeddedt/modernfix/searchtree/JEIRuntimeCapturer.java @@ -12,10 +12,10 @@ import java.util.Optional; @JeiPlugin public class JEIRuntimeCapturer implements IModPlugin { - private static WeakReference runtimeHandle = new WeakReference<>(null); + private static JeiRuntime runtimeHandle = null; public static Optional runtime() { - return Optional.ofNullable(runtimeHandle.get()); + return Optional.ofNullable(runtimeHandle); } @Override @@ -25,11 +25,11 @@ public class JEIRuntimeCapturer implements IModPlugin { @Override public void onRuntimeAvailable(IJeiRuntime jeiRuntime) { - runtimeHandle = new WeakReference<>((JeiRuntime)jeiRuntime); + runtimeHandle = (JeiRuntime)jeiRuntime; } @Override public void onRuntimeUnavailable() { - runtimeHandle = new WeakReference<>(null); + runtimeHandle = null; } }