File tree Expand file tree Collapse file tree
src/main/java/com/falsepattern/falsetweaks/asm Expand file tree Collapse file tree Original file line number Diff line number Diff line change 3737import org .spongepowered .asm .launch .GlobalProperties ;
3838import org .spongepowered .asm .service .mojang .MixinServiceLaunchWrapper ;
3939
40- import net .minecraft .launchwrapper .Launch ;
41- import net .minecraft .launchwrapper .LaunchClassLoader ;
40+ import net .minecraft .launchwrapper .IClassTransformer ;
4241
4342import java .util .List ;
4443import java .util .Map ;
@@ -77,12 +76,14 @@ private static void pleaseDontBreakMyThreadedRendering() {
7776 } catch (Throwable ignored ) {}
7877 }
7978
79+ static IClassTransformer FIELD_HACK_TF ;
80+
8081 @ Override
8182 public String [] getASMTransformerClass () {
82-
8383 val mixinTweakClasses = GlobalProperties .<List <String >>get (MixinServiceLaunchWrapper .BLACKBOARD_KEY_TWEAKCLASSES );
8484 if (mixinTweakClasses != null ) {
85- mixinTweakClasses .add (Tags .ROOT_PKG + ".asm.MixinCompatHackTweaker" );
85+ FIELD_HACK_TF = new FalseTweaksFieldHackTransformer ();
86+ mixinTweakClasses .add (MixinCompatHackTweaker .class .getName ());
8687 }
8788 return new String []{Tags .ROOT_PKG + ".asm.FalseTweaksTransformer" };
8889 }
Original file line number Diff line number Diff line change 2323
2424package com .falsepattern .falsetweaks .asm ;
2525
26- import com .falsepattern .falsetweaks .Tags ;
26+ import lombok .SneakyThrows ;
27+ import lombok .val ;
2728
29+ import net .minecraft .launchwrapper .IClassTransformer ;
2830import net .minecraft .launchwrapper .ITweaker ;
2931import net .minecraft .launchwrapper .Launch ;
3032import net .minecraft .launchwrapper .LaunchClassLoader ;
@@ -49,8 +51,12 @@ public String getLaunchTarget() {
4951 }
5052
5153 @ Override
54+ @ SneakyThrows
5255 public String [] getLaunchArguments () {
53- Launch .classLoader .registerTransformer (Tags .ROOT_PKG + ".asm.FalseTweaksFieldHackTransformer" );
56+ val f = LaunchClassLoader .class .getDeclaredField ("transformers" );
57+ f .setAccessible (true );
58+ val transformers = (List <IClassTransformer >) f .get (Launch .classLoader );
59+ transformers .add (CoreLoadingPlugin .FIELD_HACK_TF );
5460 return new String [0 ];
5561 }
5662}
You can’t perform that action at this time.
0 commit comments