Closed Darkpixel797 closed 11 months ago
Odd. Apparently this error happens if you @Overwrite
a method that also has an access transformer. In this case Alfheim changes BlockButton#func_150042_a
to be public, but the same thing would happen if any other mod did it, even EFR itself. So it's a general incompatibility between mixins and ATs.
I should probably stop being lazy and properly rewrite this mixin anyways.
The overwrites were an incredibly fragile approach, some of these could be a simple inject at head.
It turns out this can be easily fixed by adding an option to the mixin config json, which reduces the error to a warning. I pushed it because I don't see any downside, assuming you weren't intending to use overwrites to reduce visibility for some reason.
It should fix any similar issues in other mixins even if you end up rewriting this one.
I don't consider this a "fix" because theoretically it will silently break the mixin, if it breaks just one function that could produce potentially unwanted results. So imo this is still an issue. All that does is make the mixin silently fail, right?
I'm in the process of rewriting it to properly use injectors, and heading to bed. Will be done tomorrow Either way spamming overwrites on everything was incredibly lazy of me so even if this actually allows the mixin to work I'm redoing it anyways.
It doesn't break the mixin, it gets applied, only the visibility of the overwritten method won't match what you declared in the mixin class.
The warning looks like this:
Static binding violation: PRIVATE @Overwrite method func_150042_a in mixins.etfuturum.json:floorceilbutton.MixinBlockButton from mod etfuturum cannot reduce visibiliy of PUBLIC target method, visibility will be upgraded.
Oh nice Still rewriting the button mixin because it's bad lol
[ ] I use a translator application to post this issue.
[ ] This is a crash. Please upload, Pastebin, Gist or copypaste the whole crash report along with this issue.
[X] This is a mod incompatibility. If I do this in vanilla Forge with only Et Futurum Requiem installed, it works normally.
Et-Futurum-Requiem 2.5.1 (crashed on 2.4.6 with same error before updating)
Game fails to start. No idea what mod is incompatible with EFR, the log just complains that it can't apply the floorcielbutton mixin from EFR. The only other mod the log mentions is COFHCore but removing it does nothing, the game fails to start with the same error. Disabling the floor and ceiling buttons option in the config allows the game to launch.
Mod list (Ignore the status letters before the mod this is from a seperate unrelated crash I caused to get the names of all the mods):
Log: