Skip to content

The Quite Creative One

Compare
Choose a tag to compare
@Chocohead Chocohead released this 12 Dec 03:33
· 23 commits to master since this release

The final feature filled release until v2.0 which will introduce Fabric Loader 0.7 support (and therefore Mixin 0.8).

Adds support for explicit class transformers which replace enough to run before any other Mixins. Called class replacers, although they don't necessarily have to replace everything, they act the same as any other class transformer with the caveat that only one can be defined for any given class. Designed drastic changes like binary patches which would otherwise squish anything and everything that came before them.

Also adds support for subclassing enums. This allows not only finally being able to extend abstract enums, but also allows arbitrarily overriding enum methods in any added values. Subclasses are defined as they would be at the source level in the same package as the enum itself, so only private methods need an access transformer if they are wanted to be used/overriden. A complex but powerful feature even compared to extending enums normally.

Finally, support is added for exporting generated classes. Before there was no way of seeing what was produced from defining new classes from a byte array, now they are exported according to Mixin's export debug flag (including class filtering).

As always, the release still includes the standard runtime mod and proof of concept example mod. The example mod has gained a pair of examples extending both a test enum, and a real one from Minecraft (EnchantmentTarget), meaning it definitely requires at least v1.9.1 of the standard runtime.