Hi,
I started Minecraft with my kids right when 1.9 came out. I set up a vanilla server and then 1.9.1 and 1.9.2 came out. I had to upgrade the server because the clients were auto upgraded to 1.9.2. I then found out about Forge and installed it with the installer on the server and the clients. I figured out how to choose a specific Minecraft version on the clients.
The world was working great on Forge 1826. I used the installer to install Forge 1846 but now I get an error about an unknown persistent registry type "minecraft:villagerprofessions".
I know Forge does not support downgrading sub-versions (1.9.2 -> 1.9), but, maybe it would be good to handle unknown persistent registry types by ignoring them and logging that fact.
Maybe use return instead of StartupQuery.abort(); in PersistentRegistryManager.
private static <T> void loadPersistentDataToStagingRegistry(boolean injectFrozenData, Map<ResourceLocation, Map<ResourceLocation, Integer[]>> remaps, LinkedHashMap<ResourceLocation, Map<ResourceLocation, Integer>> missing, Map.Entry<ResourceLocation, GameDataSnapshot.Entry> snapEntry, Class<T> regType)
{
ResourceLocation registryName = snapEntry.getKey();
//Translate old names
if ("fml:blocks".equals(registryName.toString())) registryName = PersistentRegistryManager.BLOCKS;
else if ("fml:items".equals(registryName.toString())) registryName = PersistentRegistryManager.ITEMS;
else if ("fmlgr:villagerprofessions".equals(registryName.toString())) registryName = VillagerRegistry.PROFESSIONS;
FMLControlledNamespacedRegistry<T> currentRegistry = PersistentRegistry.ACTIVE.getRegistry(registryName, regType);
if (currentRegistry == null)
{
FMLLog.severe("An unknown persistent registry type \"%s\" has been encountered. This Forge instance cannot understand it.", registryName);
StartupQuery.abort();
}
...
If there is a way for me to remove the registry manually, I would be happy to do it.
Log: https://gist.github.com/anonymous/9453650154d56474e3cd712d7c4932c6
Thank you for the work you do on Forge.