You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It appears to be passing the accessor's method desc including the paramters, I believe it should just be the methods return value. My guess is this went untoiced with MCP as it does not handle the concept of field descriptors.
An Example
Note: All minecraft names are in yarn names
We can came across this issue with the following mixin.
The accessor is an innner interface to a parent mixin if that helps. I have tried with . and / package seperators to no avail, as well as removing the accessor target as its not needed here.
MappingProvider.getFieldMapping passes an invalid field discriptor to MappingProvider when using @Accessor
MappingProvider.getFieldMapping in some cases is passing an invalid MappingField.desc of
Lnet/minecraft/client/particle/ParticleManager$SimpleSpriteProvider;sprites:()Ljava/util/List;
The expected field desc should be:
Lnet/minecraft/client/particle/ParticleManager$SimpleSpriteProvider;sprites:Ljava/util/List;
Note the removal of the
()
A Possible Cause
After a bit of digging I believe this is happening here:
AnnotatedMixinElementHandlerAccessor.java#L297
It appears to be passing the accessor's method desc including the paramters, I believe it should just be the methods return value. My guess is this went untoiced with MCP as it does not handle the concept of field descriptors.
An Example
Note: All minecraft names are in yarn names
We can came across this issue with the following mixin.
The accessor is an innner interface to a parent mixin if that helps. I have tried with
.
and/
package seperators to no avail, as well as removing the accessor target as its not needed here.The target class (
ParticleManager.SimpleSpriteProvider
) looks something similar to this:Conclusion
fabric-mixin-compile-extensions could also strip the paremeters from the MappingField before looking up the obfuscated name.
Please dont hesisate to ask for more info if there is something I have missed. I am also in the sponge discord if thats easier.
The text was updated successfully, but these errors were encountered: