Use linked collections to stabilize order when adding new registry entries.
This commit is contained in:
parent
8c68731838
commit
9bbfbd5479
1 changed files with 8 additions and 2 deletions
|
@ -680,6 +680,9 @@ public class GameData
|
|||
|
||||
for (ResourceLocation s : missingRegs)
|
||||
text.append(s).append("\n");
|
||||
|
||||
LOGGER.warn(REGISTRIES, header);
|
||||
LOGGER.warn(REGISTRIES, text.toString());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -692,7 +695,7 @@ public class GameData
|
|||
{
|
||||
final Class<? extends IForgeRegistryEntry> clazz = RegistryManager.ACTIVE.getSuperType(key);
|
||||
remaps.put(key, Maps.newLinkedHashMap());
|
||||
missing.put(key, Maps.newHashMap());
|
||||
missing.put(key, Maps.newLinkedHashMap());
|
||||
loadPersistentDataToStagingRegistry(RegistryManager.ACTIVE, STAGING, remaps.get(key), missing.get(key), key, value, clazz);
|
||||
});
|
||||
|
||||
|
@ -769,6 +772,9 @@ public class GameData
|
|||
entries.stream().sorted((o1, o2) -> o1.compareNamespaced(o2)).forEach(rl -> buf.append(" ").append(rl).append("\n"));
|
||||
buf.append("\n");
|
||||
});
|
||||
|
||||
LOGGER.warn(REGISTRIES, header);
|
||||
LOGGER.warn(REGISTRIES, buf.toString());
|
||||
}
|
||||
|
||||
if (!defaulted.isEmpty())
|
||||
|
@ -861,7 +867,7 @@ public class GameData
|
|||
{
|
||||
ForgeRegistry<T> frozen = RegistryManager.FROZEN.getRegistry(name);
|
||||
ForgeRegistry<T> newRegistry = STAGING.getRegistry(name, RegistryManager.FROZEN);
|
||||
Map<ResourceLocation, Integer> _new = Maps.newHashMap();
|
||||
Map<ResourceLocation, Integer> _new = Maps.newLinkedHashMap();
|
||||
frozen.getKeys().stream().filter(key -> !newRegistry.containsKey(key)).forEach(key -> _new.put(key, frozen.getID(key)));
|
||||
newRegistry.loadIds(_new, frozen.getOverrideOwners(), Maps.newLinkedHashMap(), remaps, frozen, name);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue