Divine Journey 2

Divine Journey 2

636k Downloads

[Known Issue] Immersive Engineering loadEntities NullPointerException

Atricos opened this issue ยท 0 comments

commented

Description:

Upon entering the world or a chunk with an Immersive Engineering machine, the game crashes. When loading up the world again, it keeps crashing and it's impossible to get back into the world.

Caused by:

An Immersive Engineering machine and all included tile entities got corrupted. It's likely because the machine was built on a chunk border, and half of the machine has been loaded for significantly more time than the other.

The reason this can't fully be fixed:
Immersive Engineering 1.12.2 is no longer receiving any updates, see here:
https://github.com/BluSunrize/ImmersiveEngineering/labels .
(Even though a lot of people seem to have this issue, examples here: BluSunrize/ImmersiveEngineering#2672 )

Workaround / Fix:

  1. Don't build Immersive Engineering machines on chunk borders.

  2. Okay - you're clearly here because you have built one on a chunk border. In that case the best solution is to load up a backup from the backups folder, then either go into the Chunk with the machine and disassemble it, or if you keep crashing when entering the chunk, even when loading from the backup, then keep reading the next point.

  3. If you can get into the world without loading the chunk containing the corrupted machine, use /cofh killall (this requires admin level permissions). It removes all tile entities (even from unloaded chunks), so ones that you wouldn't even want to remove. Might be overkill.

  4. Remove Immersive Engineering from the pack, load it up, open your world, then add back the mod. (Though you might need to remove more mods that require Immersive Engineering first. Typically these are AgriCraft, AgriCraft Integration & Mystical Agriaddons.) This will (obviously) remove all blocks, entities and tile entities that come from those mods.

  5. If you think the previous points were too much, well, you're in for a treat - it's time to use MCEdit and NBTExplorer to remove the corrupted tile entities.
    5/a) First load up your Minecraft world with MCEdit 2, find your machine (if you can't see much/anything, try to highlight a large area to figure out where you are).
    5/b) Once you found the machine, click Inspect Chunk. Now MCEdit 2 is still pretty buggy, so it can't correctly remove the Immersive tile entities, so this is where NBTExplorer comes in.
    5/c) Remember the chunk position(s) of the corrupted machine(s). These can be read from here:
    image
    5/d) Open NBTExplorer. Click the topleft button to open a file. Look for saves/*worldname* in Singleplayer, or the world folder in Multiplayer. If all the affected machines are in the Overworld, then open the region folder. Otherwise a DIM.../region folder. (To find the correct dimension ID, check the list here: https://github.com/Divine-Journey-2/main/blob/main/README.md). You might need to look through multiple region files before you find the right chunk coordinate pair. This is the value MCEdit shows, not the first column:
    image
    5/e) Once you found the correct chunk, open it and open Level, then Tile Entities.
    image
    5/f) Look for any entry that reads id: immersiveengineering:.... These usually have the same number of entries (although with this method you can easily miss some files).
    5/g) Press the Delete key on all of these folders (where it says some number of ... entries).
    5/h) Click on Save at the top.
    5/i) Reload your world. If it still crashes, you missed some machines. Good luck!