When an error is thrown during the ID remap event, the world gets corrupted
Specifically, the error gets swallowed and suppressed, and the level.dat file gets deleted.
- create a world with multiple mods
- remove one mod
- load the world
- add that mod back
- load the world
- change a mod to throw an error during the remap event, change block/item mappings
- load the world; click "no"
The level.dat file will now be erased, and the backup level.dat file will be used in all future attempts to load the world; having an incorrect ID map
Correction: any successful remap will corrupt the world. The FMLMissingMappingsEvent just doesn't function in any kind of meaningful way.
Okay, there were ItemBlocks that I had removed during the restructure that were not remapping causing the registry to fail its consistency test because the failed items blocked the ID from being used (the ID that the blocks successfully remapped to); FML then reports that the backup level.dat is being used instead of the actual error that occurred.
The title is still correct in that errors that occur here will get swallowed, in addition to being misreported.
the original issue was just reproduced in testing w/ some of my mods
Still seems to be a issue, (merging one mod into pixelmon) http://pastebin.ubuntu.com/10706592/
Largely corrected by 12ccf9cf49b76140841cdc5a459422ae4781de1a. Unknown if mods throwing errors during the event will cause the same issue. @cpw
It shouldn't, but I'll check.. Probably need to repropogate the error from inside to outside..