Skip to content

Commit 76db13b

Browse files
Big-Iron-CheemsWide-Cat
authored andcommitted
Refactor MixinPlugin to remove unsafe usage and instantiate Asm.Transformer directly
At some point the constructor wasn't empty, this patch is no longer needed.
1 parent 078f5f2 commit 76db13b

1 file changed

Lines changed: 2 additions & 8 deletions

File tree

src/main/java/meteordevelopment/meteorclient/MixinPlugin.java

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
import org.spongepowered.asm.mixin.extensibility.IMixinConfigPlugin;
1212
import org.spongepowered.asm.mixin.extensibility.IMixinInfo;
1313
import org.spongepowered.asm.mixin.transformer.IMixinTransformer;
14-
import sun.misc.Unsafe;
1514

1615
import java.lang.reflect.Field;
1716
import java.util.List;
@@ -48,20 +47,15 @@ public void onLoad(String mixinPackage) {
4847
Field mixinTransformerField = delegateClass.getDeclaredField("mixinTransformer");
4948
mixinTransformerField.setAccessible(true);
5049

51-
// Get unsafe
52-
Field unsafeField = Unsafe.class.getDeclaredField("theUnsafe");
53-
unsafeField.setAccessible(true);
54-
Unsafe unsafe = (Unsafe) unsafeField.get(null);
55-
5650
// Create Asm
5751
Asm.init();
5852

5953
// Change delegate
60-
Asm.Transformer mixinTransformer = (Asm.Transformer) unsafe.allocateInstance(Asm.Transformer.class);
54+
Asm.Transformer mixinTransformer = new Asm.Transformer();
6155
mixinTransformer.delegate = (IMixinTransformer) mixinTransformerField.get(delegate);
6256

6357
mixinTransformerField.set(delegate, mixinTransformer);
64-
} catch (NoSuchFieldException | IllegalAccessException | InstantiationException e) {
58+
} catch (NoSuchFieldException | IllegalAccessException e) {
6559
e.printStackTrace();
6660
}
6761

0 commit comments

Comments
 (0)