diff --git a/src/main/java/net/minecraftforge/fml/common/Loader.java b/src/main/java/net/minecraftforge/fml/common/Loader.java index 8759e1fdb6..4bca3c0933 100644 --- a/src/main/java/net/minecraftforge/fml/common/Loader.java +++ b/src/main/java/net/minecraftforge/fml/common/Loader.java @@ -979,7 +979,7 @@ public class Loader } } - return PersistentRegistryManager.processIdRematches(missingMappings.values(), isLocalWorld, remapBlocks, remapItems); + return PersistentRegistryManager.processIdRematches(missingMappings.values(), isLocalWorld, missingBlocks, missingItems, remapBlocks, remapItems); } public void fireRemapEvent(Map remapBlocks, Map remapItems, boolean isFreezing) diff --git a/src/main/java/net/minecraftforge/fml/common/registry/PersistentRegistryManager.java b/src/main/java/net/minecraftforge/fml/common/registry/PersistentRegistryManager.java index 2e57d44d84..5696d4f620 100644 --- a/src/main/java/net/minecraftforge/fml/common/registry/PersistentRegistryManager.java +++ b/src/main/java/net/minecraftforge/fml/common/registry/PersistentRegistryManager.java @@ -370,7 +370,7 @@ public class PersistentRegistryManager forAllRegistries(PersistentRegistry.FROZEN, ValidateRegistryFunction.OPERATION); } - public static List processIdRematches(Iterable missedMappings, boolean isLocalWorld, Map remapBlocks, Map remapItems) + public static List processIdRematches(Iterable missedMappings, boolean isLocalWorld, Map missingBlocks, Map missingItems, Map remapBlocks, Map remapItems) { List failed = Lists.newArrayList(); List ignored = Lists.newArrayList(); @@ -395,6 +395,7 @@ public class PersistentRegistryManager newName = active.getRegistry(BLOCKS, Block.class).getNameForObject((Block)remap.getTarget()); FMLLog.fine("The Block %s is being remapped to %s.", remap.name, newName); + missingBlocks.remove(new ResourceLocation(remap.name)); newId = staging.getRegistry(BLOCKS, Block.class).add(remap.id, newName, (Block)remap.getTarget()); staging.getRegistry(BLOCKS, Block.class).addAlias(remap.resourceLocation, newName); } @@ -404,6 +405,7 @@ public class PersistentRegistryManager newName = active.getRegistry(ITEMS, Item.class).getNameForObject((Item)remap.getTarget()); FMLLog.fine("The Item %s is being remapped to %s.", remap.name, newName); + missingItems.remove(new ResourceLocation(remap.name)); newId = staging.getRegistry(ITEMS, Item.class).add(remap.id, newName, (Item)remap.getTarget()); staging.getRegistry(ITEMS, Item.class).addAlias(remap.resourceLocation, newName); }