55
66package meteordevelopment .meteorclient ;
77
8- import meteordevelopment .meteorclient .asm .Asm ;
98import net .fabricmc .loader .api .FabricLoader ;
109import org .objectweb .asm .tree .ClassNode ;
1110import org .spongepowered .asm .mixin .extensibility .IMixinConfigPlugin ;
1211import org .spongepowered .asm .mixin .extensibility .IMixinInfo ;
13- import org .spongepowered .asm .mixin .transformer .IMixinTransformer ;
1412
15- import java .lang .reflect .Field ;
1613import java .util .List ;
1714import java .util .Set ;
1815
@@ -32,33 +29,6 @@ public class MixinPlugin implements IMixinConfigPlugin {
3229 public void onLoad (String mixinPackage ) {
3330 if (loaded ) return ;
3431
35- try {
36- // Get class loader
37- ClassLoader classLoader = Thread .currentThread ().getContextClassLoader ();
38- Class <?> classLoaderClass = classLoader .getClass ();
39-
40- // Get delegate
41- Field delegateField = classLoaderClass .getDeclaredField ("delegate" );
42- delegateField .setAccessible (true );
43- Object delegate = delegateField .get (classLoader );
44- Class <?> delegateClass = delegate .getClass ();
45-
46- // Get mixinTransformer field
47- Field mixinTransformerField = delegateClass .getDeclaredField ("mixinTransformer" );
48- mixinTransformerField .setAccessible (true );
49-
50- // Create Asm
51- Asm .init ();
52-
53- // Change delegate
54- Asm .Transformer mixinTransformer = new Asm .Transformer ();
55- mixinTransformer .delegate = (IMixinTransformer ) mixinTransformerField .get (delegate );
56-
57- mixinTransformerField .set (delegate , mixinTransformer );
58- } catch (NoSuchFieldException | IllegalAccessException e ) {
59- MeteorClient .LOG .error ("Error loading the mixin plugin" , e );
60- }
61-
6232 isIndigoPresent = FabricLoader .getInstance ().isModLoaded ("fabric-renderer-indigo" );
6333 isOriginsPresent = FabricLoader .getInstance ().isModLoaded ("origins" );
6434 isSodiumPresent = FabricLoader .getInstance ().isModLoaded ("sodium" );
@@ -78,20 +48,15 @@ public String getRefMapperConfig() {
7848 public boolean shouldApplyMixin (String targetClassName , String mixinClassName ) {
7949 if (!mixinClassName .startsWith (mixinPackage )) {
8050 throw new RuntimeException ("Mixin " + mixinClassName + " is not in the mixin package" );
81- }
82- else if (mixinClassName .endsWith ("PlayerEntityRendererMixin" )) {
51+ } else if (mixinClassName .endsWith ("PlayerEntityRendererMixin" )) {
8352 return !isOriginsPresent ;
84- }
85- else if (mixinClassName .startsWith (mixinPackage + ".sodium" )) {
53+ } else if (mixinClassName .startsWith (mixinPackage + ".sodium" )) {
8654 return isSodiumPresent ;
87- }
88- else if (mixinClassName .startsWith (mixinPackage + ".indigo" )) {
55+ } else if (mixinClassName .startsWith (mixinPackage + ".indigo" )) {
8956 return isIndigoPresent ;
90- }
91- else if (mixinClassName .startsWith (mixinPackage + ".lithium" )) {
57+ } else if (mixinClassName .startsWith (mixinPackage + ".lithium" )) {
9258 return isLithiumPresent ;
93- }
94- else if (mixinClassName .startsWith (mixinPackage + ".viafabricplus" )) {
59+ } else if (mixinClassName .startsWith (mixinPackage + ".viafabricplus" )) {
9560 return isVFPPresent ;
9661 }
9762
@@ -100,16 +65,19 @@ else if (mixinClassName.startsWith(mixinPackage + ".viafabricplus")) {
10065 }
10166
10267 @ Override
103- public void acceptTargets (Set <String > myTargets , Set <String > otherTargets ) {}
68+ public void acceptTargets (Set <String > myTargets , Set <String > otherTargets ) {
69+ }
10470
10571 @ Override
10672 public List <String > getMixins () {
10773 return null ;
10874 }
10975
11076 @ Override
111- public void preApply (String targetClassName , ClassNode targetClass , String mixinClassName , IMixinInfo mixinInfo ) {}
77+ public void preApply (String targetClassName , ClassNode targetClass , String mixinClassName , IMixinInfo mixinInfo ) {
78+ }
11279
11380 @ Override
114- public void postApply (String targetClassName , ClassNode targetClass , String mixinClassName , IMixinInfo mixinInfo ) {}
81+ public void postApply (String targetClassName , ClassNode targetClass , String mixinClassName , IMixinInfo mixinInfo ) {
82+ }
11583}
0 commit comments