Skip to content

Releases: Chocohead/Fabric-ASM

The New Age One

13 Feb 20:04
Compare
Choose a tag to compare

The first release supporting (and thus depending on a minimum of) Fabric Loader 0.7. Therefore also being designed for Mixin 0.8. Feature identical to 1.9.1 although with two important notes which likely make existing code incompatible:

ASM Lib Shift

Mixin no longer repackages ASM, thus the standard imports can finally be used in preference to the Mixin ones. Care should be taken to not leave any dangling references given Mixin's remaining stub implementation will crash at runtime.

Early Risers load from Entry Points

Although not a Loader 0.7 change, now that it is the minimum version Early Risers can be loaded as entry points now rather than requiring to be custom JSON entries. The old system also works, but using entry points is preferred. The required changes should be minimal.

The Quite Creative One

12 Dec 03:33
Compare
Choose a tag to compare

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.

The Weller Tested One

09 Oct 22:26
Compare
Choose a tag to compare

Fixes a range of method stack related possible problems extending enums. Slightly reduces memory pressure when extending enums which use the default (Enum inherited) constructor. Also adds a Mod Menu icon as inspired from #3 and PR'd from #4.

Example mod is heavily expanded compared to previous versions and now accounts for a wider array of possible enum constructors. Dev time remapping has switched to Fabric Loader's MappingResolver so now needs at least 0.4.3 to run, running in production and the normal jar remain needing at least 0.4.0.

The Well Tested One

01 Oct 00:47
Compare
Choose a tag to compare
The Well Tested One Pre-release
Pre-release

Fixes a range of method stack related possible problems extending enums. Slightly reduces memory pressure when extending enums which use the default (Enum inherited) constructor. Also adds a Mod Menu icon as inspired from #3 and PR'd from #4.

Example mod is heavily expanded compared to previous versions and now accounts for a wider array of possible enum constructors. Dev time remapping has switched to Fabric Loader's MappingResolver so now needs at least 0.4.3 to run, running in production and the normal jar remain needing at least 0.4.0.

The Socially Helpful One

22 May 14:51
Compare
Choose a tag to compare

Adds the ability to add new URLs onto the classpath without having to copy the technique used. Best time to use it is in an early riser if it is wanted to both be done early and always succeed. Is also definitely the backing for OptiSine now too.

Still includes the standard runtime mod and proof of concept example mod. Example mod is unchanged compared to v1.4 besides requiring at least v1.6 of the standard runtime.

The Socially Acceptable One

21 May 20:20
Compare
Choose a tag to compare

Allows transforming interfaces now that Fabric's Mixin fork allows doing so. Appears to be the backing for OptiSine now too.

Still includes the standard runtime mod and proof of concept example mod. Example mod is unchanged compared to v1.4 besides requiring at least v1.5 of the standard runtime.

The Rogue One

18 Apr 17:21
Compare
Choose a tag to compare

Includes standard runtime mod and proof of concept example mod. Remember to mod responsibly with your new found power.