aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron <51387595+AzureAaron@users.noreply.github.com>2023-09-05 19:45:40 -0400
committerGitHub <noreply@github.com>2023-09-05 19:45:40 -0400
commit3f2f7794556c1b8310dc7d4715d5247c02aa9fa8 (patch)
treedbf3f5c7efe281321477dcfb8f7190dec0f44fc9
parent332464bb149086d6eb83354d9cdb187fccb82a47 (diff)
downloadSkyblocker-3f2f7794556c1b8310dc7d4715d5247c02aa9fa8.tar.gz
Skyblocker-3f2f7794556c1b8310dc7d4715d5247c02aa9fa8.tar.bz2
Skyblocker-3f2f7794556c1b8310dc7d4715d5247c02aa9fa8.zip
OptiFabric Compatibility (#277)
-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",