package eu.midnightdust.cullleaves; import eu.midnightdust.lib.util.PlatformFunctions; import org.objectweb.asm.tree.ClassNode; import org.spongepowered.asm.mixin.extensibility.IMixinConfigPlugin; import org.spongepowered.asm.mixin.extensibility.IMixinInfo; import java.util.List; import java.util.Set; public class CullLeavesMixinPlugin implements IMixinConfigPlugin { private String mixinPackage; @Override public void onLoad(String mixinPackage) { this.mixinPackage = mixinPackage + "."; } @Override public boolean shouldApplyMixin(String targetClassName, String mixinClassName) { final String mixinName = mixinClassName.substring(this.mixinPackage.length()); if (mixinName.indexOf('.') < 0) return true; return PlatformFunctions.isModLoaded(mixinName.substring(0, mixinName.indexOf('.'))); } @Override public List getMixins() { return null; } @Override public String getRefMapperConfig() { return null; } @Override public void acceptTargets(Set myTargets, Set otherTargets) {} @Override public void preApply(String targetClassName, ClassNode targetClass, String mixinClassName, IMixinInfo mixinInfo) {} @Override public void postApply(String targetClassName, ClassNode targetClass, String mixinClassName, IMixinInfo mixinInfo) {} }