Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

@Share doesn't save values for pseudo mixins on Neoforge #93

Open
kikugie opened this issue Aug 29, 2024 · 3 comments
Open

@Share doesn't save values for pseudo mixins on Neoforge #93

kikugie opened this issue Aug 29, 2024 · 3 comments

Comments

@kikugie
Copy link

kikugie commented Aug 29, 2024

The exact mixin in question: https://github.com/kikugie/elytra-trims/blob/kotlin/src/main/java/dev/kikugie/elytratrims/mixin/compat/render/ElytraSlotMixin.java

Building the mod without the ElytraSlot jar in the classpath results in a broken mixin, where the @Share value is not written.
With ElytraSlot added by modCompileOnly and no changes to the mixin class, the built mixin works.
This issue is exclusive to Neoforge from my testing, as the same mixin works fine on Fabric.

Bytecode of the broken mixin class:
ElytraSlotMixinBroken.txt

Bytecode of the working mixin class:
ElytraSlotMixinWorking.txt

Source .class files and jars:
Samples.zip

@LlamaLad7
Copy link
Owner

Can you send the exported target class with the "broken" mixin?

@kikugie
Copy link
Author

kikugie commented Aug 29, 2024

ElytraSlotLayer.zip

@LlamaLad7
Copy link
Owner

Try explicitly specifying the full lambda descriptor in your mixin

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants