Posted November 29, 20168 yr If I have a mod with an ID that isn't all lowercase, when I port it to 1.11 (and have to change its mod ID to be all lowercase), how do I keep old worlds from losing all existed modded blocks? At https://github.com/MinecraftForge/MinecraftForge/pull/3122#issuecomment-239571965, Lex mentioned that you should write migration handlers for this, but I'm not sure what these are and Google isn't particularly helpful.
November 29, 20168 yr First of all, modded worlds often don't work well when ported to new versions. Block IDs can be completely scrambled (e.g. what were placed as a mod's blocks may appear as newly added vanilla blocks). Therefore, my first recommendation is to leave each modded world in whatever MC version created it. That said, there's an optional main mod class event after postInit that is designed to remap unresolved names. I think this is what you're supposed to use to replace all of the old names in a world with your new names. Jump to the declaration of the post initialization event and then look around for the other events declared nearby. PS: Mixed case mod IDs have been problematic for a long time. How did you get away with one? [Don't answer. That's just a rhetorical question.] The debugger is a powerful and necessary tool in any IDE, so learn how to use it. You'll be able to tell us more and get better help here if you investigate your runtime problems in the debugger before posting.
November 30, 20168 yr Take a look at the information Mcjty compiled on his wiki for using his "CompatLayer." Here's the wiki link. He shows an example of how to use an event to remap your resource paths
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.