forked from Clones/Controlify
Update immediately fast compat and disable compat modules if they fail
This commit is contained in:
@ -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"
|
||||||
|
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user