Crash with mods that use Mixin
WenXin20 opened this issue ยท 6 comments
Environment And Mod Information:
Minecraft v1.15.2
Forge v31.2.36
Doggy Talents v2.0.0.0
Mixin Bootstrap v1.0.4
- Java Version: 8
- Operating System (OS): Windows
Logs
Issue Description:
- The game crashes almost immediately on launch, most likely because I have several mods which uses mixin are installed, one of which is Biomes You'll Go.
- It will crash when loaded on the client or server.
Steps to reproduce:
- Install Mixin Bootstrap & a mod that uses it, such as Biomes You'll Go.
- Launch the game
- Crash
I have tried a variety of forge versions with Doggy Talents v2.0.0.0, Mixin Bootstrap v1.0.4 and byg-1.0.11 and can not reproduce, I do access transform the function that says causes the crash but unlikely I am doing anything wrong.
Could you try updating forge to latest version as Mixin Bootstrap is now longer required as Mixin is packaged directly with forge
It still crashes me. I took a closer look at the log, and it looks like the crash is happening when Performant is installed along with Doggy Talents.
[14:25:15] [main/FATAL]: Mixin apply failed performant.mixins.json:entity.EntityMixin -> net.minecraft.entity.Entity: org.spongepowered.asm.mixin.transformer.throwables.InvalidMixinException PRIVATE @Overwrite method func_209511_p in performant.mixins.json:entity.EntityMixin cannot reduce visibiliy of PUBLIC target method
Yes I can reproduce now, it is a bad interaction between forge access transformers and mixins. Not sure of the best fix but I think there are a few options
- Since the function I want to call is a simple one I could just replicate the call it makes (func_209511_p is isInRain)
- Use reflection instead of an access transformer
- I could ask the author of Performant to change the method they are trying to mixin to be public
I think I will go with the first option
Fix is now available in 1.15.2-2.0.0.1