Skip to content

Commit f733569

Browse files
committed
Merge branch 'master' into master-java8
2 parents 8e7e002 + 270b6cb commit f733569

2 files changed

Lines changed: 13 additions & 1 deletion

File tree

src/main/java/com/ventooth/beddium/asm/CoreLoadingPlugin.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff 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 {

src/main/java/com/ventooth/beddium/asm/PostMixinTweaker.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,10 @@
2323
package com.ventooth.beddium.asm;
2424

2525
import lombok.NoArgsConstructor;
26+
import lombok.SneakyThrows;
27+
import lombok.val;
2628

29+
import net.minecraft.launchwrapper.IClassTransformer;
2730
import net.minecraft.launchwrapper.ITweaker;
2831
import net.minecraft.launchwrapper.Launch;
2932
import net.minecraft.launchwrapper.LaunchClassLoader;
@@ -33,9 +36,17 @@
3336

3437
@NoArgsConstructor
3538
public 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
}

0 commit comments

Comments
 (0)