1
0
forked from Clones/Controlify

Update immediately fast compat and disable compat modules if they fail

This commit is contained in:
isXander
2023-08-28 00:23:27 +01:00
parent d5c4f75471
commit 431a46dcb3
3 changed files with 9 additions and 6 deletions

View File

@ -17,7 +17,7 @@ hid4java = "0.7.0"
quilt_json5 = "1.0.3" quilt_json5 = "1.0.3"
sodium = "mc1.20.1-0.5.0" sodium = "mc1.20.1-0.5.0"
iris = "1.6.5+1.20.1" 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" simple_voice_chat = "fabric-1.20.1-2.4.18"
sdl2_jni = "2.28.2-26" sdl2_jni = "2.28.2-26"

View File

@ -6,11 +6,14 @@ import dev.isxander.controlify.utils.Log;
import net.fabricmc.loader.api.FabricLoader; import net.fabricmc.loader.api.FabricLoader;
import net.minecraft.Util; import net.minecraft.Util;
import java.util.HashSet;
import java.util.Set;
import java.util.function.Function; import java.util.function.Function;
public class ControlifyCompat { public class ControlifyCompat {
private static final Function<String, Boolean> modsLoaded = Util.memoize(modid -> private static final Function<String, Boolean> modsLoaded = Util.memoize(modid ->
FabricLoader.getInstance().isModLoaded(modid)); FabricLoader.getInstance().isModLoaded(modid));
private static final Set<String> disabledMods = new HashSet<>();
public static final String IMMEDIATELY_FAST = "immediatelyfast"; public static final String IMMEDIATELY_FAST = "immediatelyfast";
public static final String SIMPLE_VOICE_CHAT = "voicechat"; public static final String SIMPLE_VOICE_CHAT = "voicechat";
@ -28,11 +31,11 @@ public class ControlifyCompat {
} }
private static void wrapCompatCall(String modid, Runnable runnable) { private static void wrapCompatCall(String modid, Runnable runnable) {
if (modsLoaded.apply(modid)) { if (modsLoaded.apply(modid) && !disabledMods.contains(modid)) {
try { try {
runnable.run(); runnable.run();
} catch (Throwable t) { } 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);
} }
} }
} }

View File

@ -1,13 +1,13 @@
package dev.isxander.controlify.compatibility.immediatelyfast; package dev.isxander.controlify.compatibility.immediatelyfast;
import net.raphimc.immediatelyfast.feature.batching.BatchingBuffers; import net.raphimc.immediatelyfastapi.ImmediatelyFastApi;
public class ImmediatelyFastCompat { public class ImmediatelyFastCompat {
public static void beginHudBatching() { public static void beginHudBatching() {
BatchingBuffers.beginHudBatching(); ImmediatelyFastApi.getApiImpl().getBatching().beginHudBatching();
} }
public static void endHudBatching() { public static void endHudBatching() {
BatchingBuffers.endHudBatching(); ImmediatelyFastApi.getApiImpl().getBatching().endHudBatching();
} }
} }