Jump to content

World Crashing Issue with Custom Modpack Updates 1.7.10


the-order

Recommended Posts

I currently have a custom modpack for 1.7.10 with an estimate 184 different mods. Game is running fine without crashes as normal. However, when updating a mod to a new version or adding a new mod, it will break a world that was previously saved on the modpack. This has happened with updating several different mods at different times which leads me to believe this is a forge problem, not mod related, but I could be wrong.

 

As a quick example I had a world working fine, no crashes. I updated one single mod, Plant Mega Pack, from 4.05 to 4.08. No major changes in the mod. Once this update was applied the world loaded, worked fine without issues. However, when closing the game and coming back this is where the issues start. The second time after loading the world forge will say that the mod loader detected that a backup level.dat file is being used. No previous errors or crashes happened prior to this. Clicking no will return to the menu, clicking yes will load the world and crash before being fully loaded.

 

The crash log for this says the following (java.lang.NullPointerException: Exception while updating neighbours).

 

I figured it was the mod, so I reverted back to the 4.05 version and restored a backup save from the day prior. However, now the same problem persists with the world, regardless of which version of the Plank Mega Pack mod is used. It will load the first time upon restoring any backup work without issues, but quitting and reloading will give the same level.dat error and crash upon loading.

 

Creating a new world works without any problems, no crashes, however, it makes running a modpack near impossible to keep a saved world when applying mod updates as this has occurred in several worlds for me. With 1.7.10 still being worked on there are several mod updates a week. In not all cases does it crash but simply change/shift the "IDs" for the blocks, example, I had one instance after adding a mod where all IC2 rubber trees changed to underground biomes blocks. New created worlds worked fine, but it only applied to previously generated worlds prior to me updating/add a mod to the pack.

 

This is leading me to believe it is a problem with how the block ids(I know they aren't IDs for 1.7) are assigned and how mods are loaded in. I would certainly appreciate any assistance is locating where this problem is happening. I have searched extensively online for this but unable to find a remedy.

 

I am using MultiMC launcher with forge 10.13.2.1231 on Java 7. I have tested on two different systems with the same error occurring. I am using Auromabackup for the saves to autobackup and I believe the only jar mods I am using are FPS plus and Fastcraft. These didn't seem to solve the problem upon removal.

 

Here are the forge logs for the various times I loaded the game.

 

First run after restoring backup(world works fines):

 

Client: https://gist.github.com/anonymous/bf9233e792691edc638c

Latest: https://gist.github.com/anonymous/7ab89e5f3ff28bc86d7a

 

Second run when states a backup level.dat is being used and crashes upon load:

 

Client: https://gist.github.com/anonymous/e1bffd0998c11a205cda

Latest: https://gist.github.com/anonymous/926fdedadbe5f29d0e96

 

Thank you for taking the time to read this rather long post. If any other logs or information is needed I will post.

 

Link to comment
Share on other sites

Caused by: java.lang.NullPointerException

at tmechworks.blocks.RedstoneMachine.func_149695_a(RedstoneMachine.java:306) ~[RedstoneMachine.class:?]

Seems RedstoneMachine is breaking.

 

As for the ID shifting, break it down to one or two mods and maybe i'll look at it.

ID Shifting should not happen unless modders do something stupid and register their blocks incorrectly.

As for ids shifting IN A WORLD, this will not happen unless you screw over your level.dat.

there is nothing we can do to stop you screwing up your level.dat.

And without that data we do not have a way to assign those old ids.

 

Looking at the code, and running tests it works just fine.

 

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Link to comment
Share on other sites

How could I be breaking the level.dat when I literally do nothing but log into the world and exit? I restore a backup, world loads, I literally look around for 5 seconds, don't place any blocks and quit. Upon exiting the game and reloading the same world it crashes with those second logs I posted.

 

So basically you are saying this issue is related to a particular mod that is not registering ids properly?

 

As I stated new worlds created work fine, can load and reload them without problems. It only presents a problem when ANY mod is updated or added to the pack AND a world created prior to updating/add said mod is loaded.

 

I know this is a problem relating to the level.dat file but I am trying to find where it is coming from.

Link to comment
Share on other sites

After hours of testing, removing mods, using different launchers I am no closer to figuring this out. Using the same world backup as mentioned in original post I removed all but 3-4 mods. Loading the backup world the first time it works fine just as before, even though all the blocks ids and items are removed from other mods. But loading up the world a second time, the block IDs will still shift causing crash problems.

 

Even with 95% of mods removed I still am unable to load/fix this world. Is this problem the world I am using and it's basically destroyed now? Is this damage irreversible due to damage caused by a mod previously used or could this be a forge problem?

 

Just for kicks I tried using this backup world on ATLauncher using the Solitarycraft mod pack (I used this as a base for my modpack), same problem happens there. It'll load up the first time (with missing blocks/items ids of course) and work, but loading the world a second time it shifts the IDs.

 

This leads me to believe something is happening when loading/saving the backup level.dat. Any further information or ideas would be helpful as I've spent hours trying to figure this out.

 

EDIT:

Doing some more testing it seems to be related with the number of mods installed and not the specific mods causing the problem. I removed several mods and tested by using the below steps.

 

(Mod A can be any particular mod that adds block IDs to the game)

 

1. Ran modpack with all desired mods (183)

2. Created flat map, saved, exited. Removed mod A from pack.

3. Loaded world back up, accepted that mod A's item IDs are missing. World loads, no issues. Exited world.

4. Loaded world back up again, FML states a backup level.dat is being used. When world loads, ALL block ids from mod A that were removed are shifted as well as many other mods block IDs. Can crash the world depending on how block IDs are changed.

 

Next steps (each mod set removed contained about 10-15 mods each)

 

1. Ran modpack each time with 2 different sets of mods removed. (Lets just say modset A and B) This was an attempt to see what specific mod caused the problem.

2. Ran with modset A removed, repeated above steps 2-4, same problem, IDs shift.

3. Ran with modset A and B removed, repeated above steps 2-4, finally solve the issue. World will load and not shift the IDs.

 

Based upon this trial it would seem a mod from modset B that I removed was the issue. However, re-adding in all the mods from modset A i removed while keeping modset B out of the pack and repeated the steps, the block IDs will again shift. This seems that the ID's will shift no matter what mods are installed so long as you have enough mods adding blocks and you remove one (mod with IDs) and load a world with missing IDs.

Link to comment
Share on other sites

From this behavior it appears that forge is not completely removing the mod that was taken out of the packs block ids from the world. Loading the world the first time after removing the mod works but when loading it a second time, it shifts the ids for the mod that was removed and they end getting replaced with blocks from another mod.

 

Example, using plant mega pack as the mod to remove, you make a world, there is a red flower block. Once you disable/remove the mod from the pack, load up the game, it will be gone. However, if you close and reload the world, it will change all the ids for mods installed and where that red flower WAS is now a block from another mod.

 

Is this standard behavior to save all block ids to a world even if they have been removed and not found? My guess is this is where my problem is coming from.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.