diff options
author | Anthony Hilyard <anthony.hilyard@gmail.com> | 2022-06-22 18:07:55 -0700 |
---|---|---|
committer | Anthony Hilyard <anthony.hilyard@gmail.com> | 2022-06-22 18:07:55 -0700 |
commit | 427f975d78b64ec4433e8e0542729feb0e618608 (patch) | |
tree | ec86c4767903f1bc1721485e9440b9004ad3043b /src/main/java/com/anthonyhilyard/iceberg/mixin/MixinConfig.java | |
parent | ee81f0ac1cb848609a755a875f5df0f5d51fa881 (diff) | |
download | Iceberg-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.java | 60 |
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 |