Povstalec / StargateJourney

A repository for the Stargate Journey Minecraft Mod
44 stars 23 forks source link

[1.20.1] Crash generating/joining world (0.6.7) #20

Open jburrows82 opened 1 year ago

jburrows82 commented 1 year ago

java.lang.NullPointerException: Cannot invoke "net.povstalec.sgjourney.common.stargate.Galaxy.getDefaultSymbols()" because "defaultGalaxy" is null

crash-2023-10-03_02.14.40-server.txt

I get this error when combined with Terralith 2.4.7 (works fine on Terralith 2.4.6) and using Cyanide to pinpoint the error because otherwise it crashes and reports a Feature order cycle error naming Terralith + Biomes O Plenty.

Povstalec commented 1 year ago

Alright, I honestly have no idea why Terralith would be breaking sgjourney registries, but thanks for notifying me, I'll see if I can fix it by the time next version is out.

As a temporary fix, setting generate_random_solar_systems to false in common config should hopefully help get around this (if it's on an existing world, it might require deleting Stargate Network Settings, which I explain here)

jburrows82 commented 1 year ago

This crash has something to do with Cyanide messing up datapack loading. The feature order cycle error Terralith 2.4.7 is having is something new since their support is blowing up with it with various mod combinations. When a dev from their discord recommended Cyanide to further trackdown the erroring mod, I believe it exposed a corner case error in SGJ.

To provide an update:

Without Terralith/BoP loaded and disabling the mentioned config setting, I received a different error: java.lang.NullPointerException: Cannot invoke "net.povstalec.sgjourney.common.stargate.Galaxy.getType()" because "defaultGalaxy" is null

After disabling SGJ in my modpack, I discovered generated datapacks from mods weren't being loaded properly while using Cyanide. I disabled it that mod and loaded Stargate Journey, which didn't error out and my ores were properly generating (without Terralith, BoP etc). Downgrading Terralith to 2.4.6 and SGJ works fine.

Povstalec commented 1 year ago

java.lang.NullPointerException: Cannot invoke "net.povstalec.sgjourney.common.stargate.Galaxy.getType()" because "defaultGalaxy" is null

Actually that's the same error mentioned in the original crash log you sent, so there are no changes on that front.

Well, I guess you've solved why the registry wasn't present, although to be honest I have no idea if there's even anything I could do, since it's not an internal issue but rather another mod that's messing with datapack loading in general, which is normally handled by Forge events.