Fabric API

Fabric API

106M Downloads

Mixins shadowing final fields should use @Final

Chocohead opened this issue ยท 2 comments

commented

A more general clean-up problem, but with a purpose too. With newer Java versions mutating a final field will crash, so it is important that those which are changed are annotated with @Mutable. Therefore it is only reasonable that all the final shadowed fields are annotated accordingly so those which are mutated are marked too to avoid crashing.

Don't have a list of which ones need it, but I do know MixinGameOptions#keysAll needs it at least as that crashes at launch.

commented

This was fixed in 1.17

commented

Related to the conventions discussion otherwise in #510 and #637