the crash between exotic birds and twilight forest
zkycat opened this issue ยท 8 comments
Forge version: 1.12.2-14.23.4.2705
Twilight Forest version: 3.8.652
Link to crash log: https://gist.github.com/zkycat/5b40dbff529719378e83302b3605a148
Steps to reproduce:
- have twilight forest and the exotic birds mod in th emod folder and load minecraft
What I expected to happen:
it to load
What happened instead:
crashed
Singleplayer 1.12.2 Forge 2705
twilightforest-1.12.2-3.7.424-universal
Exotic+Birds+1.12.2-1.4.1
Sorry to say that, but I would like to have more info on that crash plz! Myself I'm actually using [...] and so far It is just working fine!
IF I'm reading this, I may create an issue later on, but I wanna make sure first if someone else earn similar problem.
@alxcool, you are using an outdated version of Twilight Forest, so it may not be causing the same issue.
From what I'm gathering from the crash log, it's giving a null where it shouldn't, specifically for the Shields. Also, from what I have seen with Exotic Birds, the issue is likely to be on their side.
it only stopped working for the newest version of twilight forest since before that it worked perfectly so somthing changed to cause an issue
Bug was introduced when we added capabilities, for the wand of fortification. It's on their end but we've since added safety checks (6a4f5ef) on our end however this also means the shield effect wont work on those entities from Exotic Birds.
The crash is because we're trying to attach our shield capability to an entity, but the shield capability hasn't been registered yet, so it's still null.
While we can catch this, the underlying cause of the issue is that the other mod is running this code too early.
Currently, they're registering their enities from pre-init:
at pavocado.exoticbirds.init.ExoticbirdsEntities.registerEntity(ExoticbirdsEntities.java:56)
at pavocado.exoticbirds.init.ExoticbirdsEntities.register(ExoticbirdsEntities.java:46)
at pavocado.exoticbirds.init.ExoticbirdsMod.preInit(ExoticbirdsMod.java:47)
Moving to the proper event will fix this issue, but a bigger concern here is that they're creating new entity instances at registration time:
at pavocado.exoticbirds.entity.Birds.EntityBird.<init>(EntityBird.java:39)
at pavocado.exoticbirds.entity.Birds.EntityCassowary.<init>(EntityCassowary.java:48)
at pavocado.exoticbirds.init.EnumBirdTypes.<clinit>(EnumBirdTypes.java:42)
As this can cause issues for other mods too, I think it's important that it's fixed on their end.
I'd bet that it's on Exotic Birds' end based on this issue on his curseforge page:
https://minecraft.curseforge.com/projects/exotic-birds/issues/16
To anyone who plans on using Exotic Birds and Twilight Forest (3.8.654) together:
Can you try to use Exotic Birds (2.0.1), as it had been released very recently, and according to the issue on Exotic Birds, it may have been resolved.