K-4U / Hydraulicraft

Entry for Modjam #3
Other
16 stars 9 forks source link

Upgrade fom Build 2.0.87 to 2.1.176 breaks ID Map of existing worlds #147

Closed walkerjonny closed 9 years ago

walkerjonny commented 9 years ago

Hi, when I try to do an upgrade from Build 2.0.87 (Release) straight to 2.1.176 or newer (Beta) I'm getting the following error message when I try to load an existing world. 2015-07-30 05_58_13-minecraft 1 7 10 The world cannot be loaded after closing that message. Please make sure to register your Block and Item IDs in a way that this doesn't cause an irreparable damage of the ID Map. Maybe the Forge guys can suggest you how to do this.

walkerjonny commented 9 years ago

I have seen that between the builds 160 and 168 you get rid of many ore blocks. That messes up existing worlds because there are now holes where those ores were generated. Is that really necessary?

K-4U commented 9 years ago

Still need to test this issue. However, i have not gotten rid of any ore blocks. I actually added a lot! Where did you find the ores i removed then?

walkerjonny commented 9 years ago

Ores like Lead and Copper just vanished. Here is what the log says at world loading:

[17:01:13] [Server thread/INFO]: This world was saved with mod HydCraft version 1.7.10-2.1.149 and it is now at version 1.7.10-2.1.164, things may not work well [17:01:13] [Server thread/INFO]: Injecting existing block and item data into this server instance [17:01:13] [Server thread/INFO]: Found a missing id from the world HydCraft:oreLead [17:01:13] [Server thread/INFO]: Found a missing id from the world HydCraft:oreCopper

[17:01:13] [Server thread/INFO]: Found a missing id from the world HydCraft:scubaHelmet

[17:01:13] [Server thread/INFO]: Found a missing id from the world HydCraft:scubaLegs [17:01:13] [Server thread/INFO]: Found a missing id from the world HydCraft:scubaBoots

[17:01:13] [Server thread/INFO]: Found a missing id from the world HydCraft:ingotLead

[17:01:13] [Server thread/INFO]: Found a missing id from the world HydCraft:oreCopper [17:01:13] [Server thread/INFO]: Found a missing id from the world HydCraft:ingotCopper

[17:01:13] [Server thread/INFO]: Found a missing id from the world HydCraft:scubaChest

[17:01:13] [Server thread/INFO]: Found a missing id from the world HydCraft:oreLead

[17:01:13] [Server thread/ERROR]: There are unidentified mappings in this world - we are going to attempt to process anyway [17:01:13] [Server thread/ERROR]: Unidentified block: HydCraft:oreLead, id 2284 [17:01:13] [Server thread/ERROR]: Unidentified block: HydCraft:oreCopper, id 2283 [17:01:13] [Server thread/ERROR]: Unidentified item: HydCraft:scubaHelmet, id 9128 [17:01:13] [Server thread/ERROR]: Unidentified item: HydCraft:scubaLegs, id 9124 [17:01:13] [Server thread/ERROR]: Unidentified item: HydCraft:scubaBoots, id 9127 [17:01:13] [Server thread/ERROR]: Unidentified item: HydCraft:ingotLead, id 7654 [17:01:13] [Server thread/ERROR]: Unidentified item: HydCraft:oreCopper, id 2283 [17:01:13] [Server thread/ERROR]: Unidentified item: HydCraft:ingotCopper, id 7652 [17:01:13] [Server thread/ERROR]: Unidentified item: HydCraft:scubaChest, id 9126 [17:01:13] [Server thread/ERROR]: Unidentified item: HydCraft:oreLead, id 2284

I'm checking newer buids now to see if oreLead and oreCopper will be added back again. Those blocks and items are getting lost somewhere between the builds 60 and 64. I'll keep you informed about my tests.

walkerjonny commented 9 years ago

So I switched over to build 208. That is no problem after switching to build 164 before. I left the Block and Item IDs that got lost blocked for now in the level.dat. Even with the newest build 208 the ore blocks for Lead and Copper did not come back. Well, I have Beachium, Lorenzium and Foxium but I haven't found any other ore block so far. It looks like they are getting disabled if any other mod adds them to the world regardless of what the config file says. Is that intended to be that way?

K-4U commented 9 years ago

Yes, the ores should be disabled if any other mod adds them. However it's weird that it leaves holes in the world.. I might remove this functionality if it becomes annoying or unstable.

K-4U commented 9 years ago

Can you tell me your modlist? And actually especially the mods that add copper and/or lead. When i tested this functionality in my dev env, it never actually triggered. Knowing which mods you use could really help me out with testing.

walkerjonny commented 9 years ago

OK, I'll post it soon

walkerjonny commented 9 years ago

I have many mods installed. Therefore I had to spend some time with tests to answer your question. Here is the list of mods that cause your Copper and Lead to disappear, maybe together with some other items and blocks:

Gregtech: Copper & Lead Forestry: Copper SimpleOres: Copper Flaxbeard’s Steam Power: Copper Bdew Generators: Copper & Lead Tinkers Construct: Copper & Lead Reika’s ElectriCraft: Copper & Lead

You should really check the code that you have changed between the builds 160 and 164. The reason lays somewhere there.

walkerjonny commented 9 years ago

Sorry, my fault regarding the build where the issue starts: It is exactly build 158. You have added there OreDictionary support for some ingots and ores. Maybe you also want to check the corresponding changes in k4lib build 47, too. You have added there some functions regarding OreDictionary support that you use in the HydrauliCraft build 158 and newer.