aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/compatibility/MixinPlugin.java52
-rw-r--r--src/main/resources/skyblocker.mixins.json1
2 files changed, 53 insertions, 0 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/compatibility/MixinPlugin.java b/src/main/java/me/xmrvizzy/skyblocker/compatibility/MixinPlugin.java
new file mode 100644
index 00000000..c6fc1924
--- /dev/null
+++ b/src/main/java/me/xmrvizzy/skyblocker/compatibility/MixinPlugin.java
@@ -0,0 +1,52 @@
+package me.xmrvizzy.skyblocker.compatibility;
+
+import java.util.List;
+import java.util.Set;
+
+import org.objectweb.asm.tree.ClassNode;
+import org.spongepowered.asm.mixin.extensibility.IMixinConfigPlugin;
+import org.spongepowered.asm.mixin.extensibility.IMixinInfo;
+
+import net.fabricmc.loader.api.FabricLoader;
+
+public class MixinPlugin implements IMixinConfigPlugin {
+ private static final boolean OPTIFABRIC_LOADED = FabricLoader.getInstance().isModLoaded("optifabric");
+
+ @Override
+ public void onLoad(String mixinPackage) {
+ //Do nothing
+ }
+
+ @Override
+ public String getRefMapperConfig() {
+ return null;
+ }
+
+ @Override
+ public boolean shouldApplyMixin(String targetClassName, String mixinClassName) {
+ //OptiFabric Compatibility
+ if (mixinClassName.endsWith("WorldRendererMixin") && OPTIFABRIC_LOADED) return false;
+
+ return true;
+ }
+
+ @Override
+ public void acceptTargets(Set<String> myTargets, Set<String> otherTargets) {
+ //Do nothing
+ }
+
+ @Override
+ public List<String> getMixins() {
+ return null;
+ }
+
+ @Override
+ public void preApply(String targetClassName, ClassNode targetClass, String mixinClassName, IMixinInfo mixinInfo) {
+ //Do nothing
+ }
+
+ @Override
+ public void postApply(String targetClassName, ClassNode targetClass, String mixinClassName, IMixinInfo mixinInfo) {
+ //Do nothing
+ }
+}
diff --git a/src/main/resources/skyblocker.mixins.json b/src/main/resources/skyblocker.mixins.json
index 6ba7dc22..d2465761 100644
--- a/src/main/resources/skyblocker.mixins.json
+++ b/src/main/resources/skyblocker.mixins.json
@@ -1,6 +1,7 @@
{
"required": true,
"package": "me.xmrvizzy.skyblocker.mixin",
+ "plugin": "me.xmrvizzy.skyblocker.compatibility.MixinPlugin",
"compatibilityLevel": "JAVA_17",
"client": [
"ArmorTrimMixin",