NuclearCraft

NuclearCraft

31M Downloads

Nuclearcraft 2.10 causes a crash on loading with Applied Energistics 2

Mattsingen opened this issue ยท 16 comments

commented

After updating from version 2.9e to 2.10 I get the crash in pastebin. I have tried reverting all other mods that I updated and found that going back to nuclearcraft 2.9e was the only thing that solved this crash.

https://pastebin.com/TqSQRHyH

commented

A solution I found was to change the default config in AE2 for I:storageDimensionID

Not sure what mod is at fault but one of them is not assigning dimensions in a way that works well with other mods.

commented

closed by misstake

commented

I have the same issue with it as well.

It seems that the new Nuclear Wasteland biome is creating Dimension 2 before AE causing the conflict. Dim 2 should not be used as it has been used by AE2 for a long time.

There is nothing in the Nuclearcraft config file for adjusting the new dimension that I can find. I did try deleting the config file.

Also there these errors in the log
[main/DEBUG] [FML/]: Unable to lookup nuclearcraft:nuclear_wasteland for public static nc.worldgen.biome.BiomeNuclearWasteland nc.worldgen.biome.NCBiomes.NUCLEAR_WASTELAND. This means the object wasn't registered. It's likely just mod options.
[main/WARN] [FML/]: No types have been added to Biome nuclearcraft:nuclear_wasteland, types have been assigned on a best-effort guess: [PLAINS, HOT]

commented

Ok, I may have a fix, but to be sure, could I send you this test jar? I've basically just changed the time that the NC dimension is registered, and that should stop the issue. I would change the AE storage dimension number back to 2 and see if the crash occurs again.

Basically, when the game loads, Forge does not know anything about your saved worlds, or even the server world - it just knows about its list of numbers corresponding to the registered dimension IDs. I was registering my dimension before AE, so NC was registering its dimension ID as 2 as it had not been taken up by AE yet.

commented

There is nothing in the Nuclearcraft config file for adjusting the new dimension that I can find.

Perhaps I should add a config option that allows the NC dimension to be specified manually, but at the moment, NC will check through all of the integers from 2 upwards and wait until it finds one that hasn't been used. The problem was that I was registering the dimension at Initialization, while AE registers its dimension in Post-Init.

commented

The best approach is probably to search for a free id during postInit for the first time, so other mods have a change to register their own existing ones. Then save it to your config and use it afterwards for preInit to avoid another mod overwriting it somehow. But still not perfect as long as forge does not persist their mappings somehow.

We did that before the spatial rework in 1.12, not sure why it changed. Maybe it had some other issues like serialising our undefined value. I will look into splitting it again for rv6. Yet it is just a workaround, which cannot really guarantee to not break again somehow.

commented

NuclearCraft-2.10a--1.12.2.jar still crashes.

Crash Report

_
net.minecraftforge.fml.common.LoaderExceptionModCrash: Caught exception from Applied Energistics 2 (appliedenergistics2)
Caused by: java.lang.IllegalArgumentException: Failed to register dimension for id 2, One is already registered
_

Must still be befor AE2 is setting up its storage dim.

Would be a good if you reserved a specific ID and had a setting in the config for changing it.
Most mods reserve dim such as Compact Machines -144, Deep Dark -11325, Mining World 6, EU2 Quarry Dim -9999, & Twilight Forest 7

commented

Hmm, that is a little bizarre. I actually basically just did what yueh suggested above, but perhaps I should just register the dimension to a specific ID, like 4598 or something. Now... hopefully this will work - it really should :P

commented

OK launching now,

I am not sure but it crashed after Post Int (Somewere in stage 6/7 I think )

OK That works fine.

commented

It still crashed?

commented

No not at all.

I mean that the previous version crashed after Postinitilisation

commented

Ah, ok - yeh, it would have done, when AE tried to register its dimension. Well, at least that's sorted now - thanks :)

commented

Yep new dim in 4598 in my testing world. ๐Ÿฅ‡

Lots of missing entries in the craft tweaker scripts now tho :)

commented

Yes, that's very possible - the recipe removal methods had their names changed as there are now two for each machine. You can now remove recipes by specifying either the input or output ingredients.

commented

Just in case, vanilla dimension ids are limited to a byte (-128 to 127). Forge should have patched it, but I have no idea to which extent. Thus there might be some edge cases still expecting a byte.

commented

Ok, thanks - good to know :)