Avoid addons should be able to use mixins.
How?
Injecting
1. Mixing into Minecraft: plugin-based each-class 'preApply' hooking
The first method of implementing mixin support is:
- making a powershell/gradle/groovy script to generate an empty mixin class for each minecraft class
- creating a mixin plugin that changes minecraft classes in the
preApply hook, which is possible because of §1
2. Mixing into everything: well, that depends
Stealing the instrumentation object is not possible, as it's not present in production environments. There's a rare chance it's present in a dev one, too. (It's only present when the mixin hotswapper is used.)
So, what can I do? Well...:
-
NeoForge: coremods
not sure how to make them but they exist
-
Quilt: loader plugins
they're quite simple
-
Fabric & Sponge & Paper: relaunching the game magically
yeah... i don't wanna elaborate further
Transforming
1. Figuring out a way with the already-present SpongePowered Mixin framework
I tried looking at fabric code before but it's so bad istg
My fancy alpha mixin remake :D
Avoid addons should be able to use mixins.
How?
Injecting
1. Mixing into Minecraft: plugin-based each-class 'preApply' hooking
The first method of implementing mixin support is:
preApplyhook, which is possible because of §12. Mixing into everything: well, that depends
Stealing the instrumentation object is not possible, as it's not present in production environments. There's a rare chance it's present in a dev one, too. (It's only present when the mixin hotswapper is used.)
So, what can I do? Well...:
NeoForge: coremods
not sure how to make them but they exist
Quilt: loader plugins
they're quite simple
Fabric & Sponge & Paper: relaunching the game magically
yeah... i don't wanna elaborate further
Transforming
1. Figuring out a way with the already-present SpongePowered Mixin framework
I tried looking at fabric code before but it's so bad istg
2. Using Tedge-Mixin
My fancy alpha mixin remake :D