File tree Expand file tree Collapse file tree
src/main/java/com/ventooth/beddium/asm Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -78,6 +78,7 @@ public String[] getASMTransformerClass() {
7878 if (mixinTweakClasses != null ) {
7979 if (!mixinTweakClasses .contains (ShareAsm .TWEAKER )) {
8080 mixinTweakClasses .add (ShareAsm .TWEAKER );
81+ Launch .blackboard .put (ShareAsm .TRANSFORMER , new PostMixinTransformers ());
8182 ShareAsm .log .debug ("Registered PostMixinTweaker" );
8283 }
8384 } else {
Original file line number Diff line number Diff line change 2323package com .ventooth .beddium .asm ;
2424
2525import lombok .NoArgsConstructor ;
26+ import lombok .SneakyThrows ;
27+ import lombok .val ;
2628
29+ import net .minecraft .launchwrapper .IClassTransformer ;
2730import net .minecraft .launchwrapper .ITweaker ;
2831import net .minecraft .launchwrapper .Launch ;
2932import net .minecraft .launchwrapper .LaunchClassLoader ;
3336
3437@ NoArgsConstructor
3538public final class PostMixinTweaker implements ITweaker {
39+ @ SneakyThrows
3640 @ Override
3741 public String [] getLaunchArguments () {
38- Launch .classLoader .registerTransformer (ShareAsm .TRANSFORMER );
42+ val transformers = (IClassTransformer ) Launch .blackboard .remove (ShareAsm .TRANSFORMER );
43+ if (transformers == null ) {
44+ throw new IllegalStateException ("Could not retrieve transformers from blackboard!" );
45+ }
46+ val tField = LaunchClassLoader .class .getDeclaredField ("transformers" );
47+ tField .setAccessible (true );
48+ val t = (List <IClassTransformer >)tField .get (Launch .classLoader );
49+ t .add (transformers );
3950 ShareAsm .log .debug ("Registered PostMixinTransformers" );
4051 return new String [0 ];
4152 }
You can’t perform that action at this time.
0 commit comments