Another fix for registry substitutions. Closes #3212
This commit is contained in:
parent
a01bfc260a
commit
ec2977afc9
1 changed files with 8 additions and 1 deletions
|
@ -180,6 +180,7 @@ public class FMLControlledNamespacedRegistry<I extends IForgeRegistryEntry<I>> e
|
|||
this.persistentSubstitutions.clear();
|
||||
this.persistentSubstitutions.putAll(otherRegistry.getPersistentSubstitutions());
|
||||
this.activeSubstitutions.clear();
|
||||
this.substitutionOriginals.clear();
|
||||
this.dummiedLocations.clear();
|
||||
this.dummiedLocations.addAll(otherRegistry.dummiedLocations);
|
||||
|
||||
|
@ -188,7 +189,11 @@ public class FMLControlledNamespacedRegistry<I extends IForgeRegistryEntry<I>> e
|
|||
|
||||
for (I thing : otherRegistry.typeSafeIterable())
|
||||
{
|
||||
addObjectRaw(otherRegistry.getId(thing), otherRegistry.getNameForObject(thing), thing);
|
||||
ResourceLocation name = otherRegistry.getNameForObject(thing);
|
||||
if (otherRegistry.activeSubstitutions.containsKey(name)) // If this is subed, use the orig, the loop below will reinstate the sub.
|
||||
addObjectRaw(otherRegistry.getId(thing), name, otherRegistry.substitutionOriginals.get(name));
|
||||
else
|
||||
addObjectRaw(otherRegistry.getId(thing), name, thing);
|
||||
}
|
||||
for (ResourceLocation resloc : otherRegistry.activeSubstitutions.keySet())
|
||||
{
|
||||
|
@ -762,6 +767,8 @@ public class FMLControlledNamespacedRegistry<I extends IForgeRegistryEntry<I>> e
|
|||
FMLLog.fine("Fixed %s id mismatch %s: %d (init) -> %d (map).", registryName, itemName, currId, newId);
|
||||
remappedIds.put(itemName, new Integer[] {currId, newId});
|
||||
}
|
||||
if ("minecraft:stone".equals(itemName.toString()))
|
||||
System.currentTimeMillis();
|
||||
I obj = currentRegistry.getRaw(itemName);
|
||||
I sub = obj;
|
||||
// If we have an object in the originals set, we use that for initial adding - substitute activation will readd the substitute if neceessary later
|
||||
|
|
Loading…
Reference in a new issue