The Twilight Forest

The Twilight Forest

143M Downloads

the crash between exotic birds and twilight forest

zkycat opened this issue ยท 8 comments

commented

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:

  1. 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

commented

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.

commented

@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.

commented

it only stopped working for the newest version of twilight forest since before that it worked perfectly so somthing changed to cause an issue

commented

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.

commented

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.

commented

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

commented

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.

commented

I can confirm that the game loads as it's supposed to without a crash when using Twilight Forest 3.8.654 and Exotic Birds 2.0.1

This issue appears to be resolved.