aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/anthonyhilyard/iceberg/mixin/MixinConfig.java
diff options
context:
space:
mode:
authorAnthony Hilyard <anthony.hilyard@gmail.com>2022-06-22 18:07:55 -0700
committerAnthony Hilyard <anthony.hilyard@gmail.com>2022-06-22 18:07:55 -0700
commit427f975d78b64ec4433e8e0542729feb0e618608 (patch)
treeec86c4767903f1bc1721485e9440b9004ad3043b /src/main/java/com/anthonyhilyard/iceberg/mixin/MixinConfig.java
parentee81f0ac1cb848609a755a875f5df0f5d51fa881 (diff)
downloadIceberg-427f975d78b64ec4433e8e0542729feb0e618608.tar.gz
Iceberg-427f975d78b64ec4433e8e0542729feb0e618608.tar.bz2
Iceberg-427f975d78b64ec4433e8e0542729feb0e618608.zip
Added support for Configured to IcebergConfig.
Diffstat (limited to 'src/main/java/com/anthonyhilyard/iceberg/mixin/MixinConfig.java')
-rw-r--r--src/main/java/com/anthonyhilyard/iceberg/mixin/MixinConfig.java60
1 files changed, 60 insertions, 0 deletions
diff --git a/src/main/java/com/anthonyhilyard/iceberg/mixin/MixinConfig.java b/src/main/java/com/anthonyhilyard/iceberg/mixin/MixinConfig.java
new file mode 100644
index 0000000..566843c
--- /dev/null
+++ b/src/main/java/com/anthonyhilyard/iceberg/mixin/MixinConfig.java
@@ -0,0 +1,60 @@
+package com.anthonyhilyard.iceberg.mixin;
+
+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.minecraftforge.fml.loading.FMLLoader;
+import net.minecraftforge.fml.loading.LoadingModList;
+import net.minecraftforge.fml.loading.moddiscovery.ModInfo;
+
+public class MixinConfig implements IMixinConfigPlugin
+{
+ private LoadingModList loadingModList = null;
+
+ @Override
+ public void onLoad(String mixinPackage) { }
+
+ @Override
+ public String getRefMapperConfig() { return null; }
+
+ @Override
+ public boolean shouldApplyMixin(String targetClassName, String mixinClassName)
+ {
+ if (mixinClassName.toLowerCase().contains("configured"))
+ {
+ if (loadingModList == null)
+ {
+ loadingModList = FMLLoader.getLoadingModList();
+ }
+
+ // Check if Config Menus for Forge is available.
+ for (ModInfo modInfo : loadingModList.getMods())
+ {
+ // If configured is present, load the mixin.
+ if (modInfo.getModId().equals("configured"))
+ {
+ return true;
+ }
+ }
+
+ return false;
+ }
+ return true;
+ }
+
+ @Override
+ public void acceptTargets(Set<String> myTargets, Set<String> otherTargets) { }
+
+ @Override
+ public List<String> getMixins() { return null; }
+
+ @Override
+ public void preApply(String targetClassName, ClassNode targetClass, String mixinClassName, IMixinInfo mixinInfo) { }
+
+ @Override
+ public void postApply(String targetClassName, ClassNode targetClass, String mixinClassName, IMixinInfo mixinInfo) { }
+} \ No newline at end of file