From 431a46dcb3b41a6d94761c06f870d3e134f3b2f6 Mon Sep 17 00:00:00 2001 From: isXander Date: Mon, 28 Aug 2023 00:23:27 +0100 Subject: [PATCH] Update immediately fast compat and disable compat modules if they fail --- gradle/libs.versions.toml | 2 +- .../controlify/compatibility/ControlifyCompat.java | 7 +++++-- .../immediatelyfast/ImmediatelyFastCompat.java | 6 +++--- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 3cd6a1c..a5a93f4 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -17,7 +17,7 @@ hid4java = "0.7.0" quilt_json5 = "1.0.3" sodium = "mc1.20.1-0.5.0" iris = "1.6.5+1.20.1" -immediately_fast = "1.1.25+1.20.1" +immediately_fast = "1.2.0+1.20.1" simple_voice_chat = "fabric-1.20.1-2.4.18" sdl2_jni = "2.28.2-26" diff --git a/src/main/java/dev/isxander/controlify/compatibility/ControlifyCompat.java b/src/main/java/dev/isxander/controlify/compatibility/ControlifyCompat.java index 81af84b..0496089 100644 --- a/src/main/java/dev/isxander/controlify/compatibility/ControlifyCompat.java +++ b/src/main/java/dev/isxander/controlify/compatibility/ControlifyCompat.java @@ -6,11 +6,14 @@ import dev.isxander.controlify.utils.Log; import net.fabricmc.loader.api.FabricLoader; import net.minecraft.Util; +import java.util.HashSet; +import java.util.Set; import java.util.function.Function; public class ControlifyCompat { private static final Function modsLoaded = Util.memoize(modid -> FabricLoader.getInstance().isModLoaded(modid)); + private static final Set disabledMods = new HashSet<>(); public static final String IMMEDIATELY_FAST = "immediatelyfast"; public static final String SIMPLE_VOICE_CHAT = "voicechat"; @@ -28,11 +31,11 @@ public class ControlifyCompat { } private static void wrapCompatCall(String modid, Runnable runnable) { - if (modsLoaded.apply(modid)) { + if (modsLoaded.apply(modid) && !disabledMods.contains(modid)) { try { runnable.run(); } catch (Throwable t) { - Log.LOGGER.error("Failed to run compatibility code for %s, potentially unsupported version?".formatted(modid), t); + Log.LOGGER.error("Failed to run compatibility code for {}, potentially unsupported version? Disabling '{}' compat for this instance.", modid, modid, t); } } } diff --git a/src/main/java/dev/isxander/controlify/compatibility/immediatelyfast/ImmediatelyFastCompat.java b/src/main/java/dev/isxander/controlify/compatibility/immediatelyfast/ImmediatelyFastCompat.java index 6044100..60f63bf 100644 --- a/src/main/java/dev/isxander/controlify/compatibility/immediatelyfast/ImmediatelyFastCompat.java +++ b/src/main/java/dev/isxander/controlify/compatibility/immediatelyfast/ImmediatelyFastCompat.java @@ -1,13 +1,13 @@ package dev.isxander.controlify.compatibility.immediatelyfast; -import net.raphimc.immediatelyfast.feature.batching.BatchingBuffers; +import net.raphimc.immediatelyfastapi.ImmediatelyFastApi; public class ImmediatelyFastCompat { public static void beginHudBatching() { - BatchingBuffers.beginHudBatching(); + ImmediatelyFastApi.getApiImpl().getBatching().beginHudBatching(); } public static void endHudBatching() { - BatchingBuffers.endHudBatching(); + ImmediatelyFastApi.getApiImpl().getBatching().endHudBatching(); } }