From 5ed74f2df49c93ed1617520a935078b59ad7e195 Mon Sep 17 00:00:00 2001 From: Linnea Gräf Date: Sun, 1 Sep 2024 22:21:19 +0200 Subject: Add per compat project event listeners [no changelog] --- src/main/java/moe/nea/firmament/init/MixinPlugin.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'src/main/java/moe/nea/firmament/init/MixinPlugin.java') diff --git a/src/main/java/moe/nea/firmament/init/MixinPlugin.java b/src/main/java/moe/nea/firmament/init/MixinPlugin.java index e7a02b5..61e8f14 100644 --- a/src/main/java/moe/nea/firmament/init/MixinPlugin.java +++ b/src/main/java/moe/nea/firmament/init/MixinPlugin.java @@ -7,16 +7,19 @@ import org.objectweb.asm.tree.ClassNode; import org.spongepowered.asm.mixin.extensibility.IMixinConfigPlugin; import org.spongepowered.asm.mixin.extensibility.IMixinInfo; +import java.util.ArrayList; import java.util.List; import java.util.Set; +import java.util.stream.Collectors; public class MixinPlugin implements IMixinConfigPlugin { AutoDiscoveryPlugin autoDiscoveryPlugin = new AutoDiscoveryPlugin(); - + public static String mixinPackage; @Override public void onLoad(String mixinPackage) { MixinExtrasBootstrap.init(); + MixinPlugin.mixinPackage = mixinPackage; autoDiscoveryPlugin.setMixinPackage(mixinPackage); } @@ -40,7 +43,8 @@ public class MixinPlugin implements IMixinConfigPlugin { @Override public List getMixins() { - return autoDiscoveryPlugin.getMixins(); + return autoDiscoveryPlugin.getMixins().stream().filter(it -> this.shouldApplyMixin(null, it)) + .toList(); } @Override @@ -48,8 +52,10 @@ public class MixinPlugin implements IMixinConfigPlugin { } + public static List appliedMixins = new ArrayList<>(); + @Override public void postApply(String targetClassName, ClassNode targetClass, String mixinClassName, IMixinInfo mixinInfo) { - + appliedMixins.add(mixinClassName); } } -- cgit