There is no need for the offset to be anything but a compile-time constant, so I have made it so here. I also renamed the constant to include your mod's name; it is worth noting that anything declared in a mixin class is copied into the target. So currently your mixin has been copying an ambiguous offset field into the class.
ModifyArg is much less intrusive; your code has no intention of modifying x and z so there is no reason to capture them with a Redirect.
I would also strongly recommend using domain naming conventions for your code to ensure it is unique and identifiable. In this case, the current package doesn't even relate to this mod. Following standard conventions, the group/package for this mod should ideally be com.github.gnembon.chatup.
There is no need for the offset to be anything but a compile-time constant, so I have made it so here. I also renamed the constant to include your mod's name; it is worth noting that anything declared in a mixin class is copied into the target. So currently your mixin has been copying an ambiguous
offset
field into the class.ModifyArg
is much less intrusive; your code has no intention of modifyingx
andz
so there is no reason to capture them with aRedirect
.I would also strongly recommend using domain naming conventions for your code to ensure it is unique and identifiable. In this case, the current package doesn't even relate to this mod. Following standard conventions, the group/package for this mod should ideally be
com.github.gnembon.chatup
.