From what I can gather, Forge now auto-assigns block and item ids per world, as opposed to consulting config files like it used to. This unfortunately has a strange side effect for a person like me who uses data across multiple worlds(I clone Noppes' Custom NPCs across all of my worlds, and store custom-made items in my NEI Save for use in other worlds): This data is no longer compatible across different worlds. If I try to load this kind of data in a different world, it ends up scrambled: What becomes a mighty sword in World A is now a piece of toast in World B.
I noticed this with previous builds of Forge 1.7.10, and it was particularly egregious at the time: Any time a new world is created, it used a different ID map, and any time I installed mods that add new content, it messed up the existing ID maps for currently existing worlds. (My memory is hazy at this point, but that it was what I remember; this kind of bug is particularly hard to troubleshoot and analyze, since it requires me booting Minecraft and observing behavior a mind-numbing number of times.)
But luckily, updating to build 1231, like Noppes told me to, partially fixed the problem. Now, new ID maps are created when I install new mods AND create new worlds, and not when I did either, like in previous builds. For example, I'll install mod set A, and create Worlds A and B. Worlds A and B are using ID Map 1(That's apparently what NEI calls them). Now I'll install mod set B, and load Worlds A and B. Worlds A and B still use ID Map 1, and as such, I can transfer structures, inventories, and CustomNPCs across these two worlds... but NOW, when I create world C, Minecraft creates a new ID Map, and as such, the content created in worlds A and B cannot be imported to world C, or else the items/blocks are scrambled.
(My issue seems to be similar to http://www.minecraftforge.net/forum/index.php/topic,24418.0.html)
In theory, this should not really be a problem for most people, since what happens in a world tends to stay in a world. After all, why would it matter if the IDs are different in two different worlds? For a normal modded user, as long as items still retain their identity when the world is loaded, everything is fine.(This is arguably a great strength of the new 1.7.10 system; changing Block/item ids manually no longer ruins existing worlds) But for some people like me, who import Items and structures across multiple worlds, it gets annoying when your Assault Rifle becomes a twig.
I faintly remember someone saying that modders and plugin makers shouldn't be using the antiquated Item/Block ID system anymore, and should be using Paths(I.E. Instead of 116, use minecraft:enchanting_table instead.). Common sense dictates that if mods/plugins that saved data saved them as paths, my problem wouldn't be a problem anymore; "Thaumcraft.Wand.Excavation" may be ID# 4321 in worlds A and B, but it's ID# 5428 in worlds C and D... but "Thaumcraft.Wand.Excavation" is "Thaumcraft.Wand.Excavation" regardless of whether its world A, B, C, or D.
I suggested this to Noppes, but he replied...
I'm ultimately grasping at straws here, though. Is this a side-effect of Forge's 1.7.10 system? Should Modders start using paths instead of ID's? Is this a bug or a feature? Or perhaps its all just a bug in my particular installation? I'd really just like to start importing my crap between worlds. I don't care in what method this gets resolved.
FML Log File(I assume this is it)