diff options
author | Aaron <51387595+AzureAaron@users.noreply.github.com> | 2023-09-05 19:45:40 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-05 19:45:40 -0400 |
commit | 3f2f7794556c1b8310dc7d4715d5247c02aa9fa8 (patch) | |
tree | dbf3f5c7efe281321477dcfb8f7190dec0f44fc9 | |
parent | 332464bb149086d6eb83354d9cdb187fccb82a47 (diff) | |
download | Skyblocker-3f2f7794556c1b8310dc7d4715d5247c02aa9fa8.tar.gz Skyblocker-3f2f7794556c1b8310dc7d4715d5247c02aa9fa8.tar.bz2 Skyblocker-3f2f7794556c1b8310dc7d4715d5247c02aa9fa8.zip |
OptiFabric Compatibility (#277)
-rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/compatibility/MixinPlugin.java | 52 | ||||
-rw-r--r-- | src/main/resources/skyblocker.mixins.json | 1 |
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", |