diff --git a/fabric/src/main/java/dev/architectury/registry/registries/fabric/RegistrarManagerImpl.java b/fabric/src/main/java/dev/architectury/registry/registries/fabric/RegistrarManagerImpl.java index bf0851ba6..6dba527c9 100644 --- a/fabric/src/main/java/dev/architectury/registry/registries/fabric/RegistrarManagerImpl.java +++ b/fabric/src/main/java/dev/architectury/registry/registries/fabric/RegistrarManagerImpl.java @@ -207,7 +207,14 @@ public String toString() { @Override public RegistrySupplier register(ResourceLocation id, Supplier supplier) { - Registry.register(delegate, id, supplier.get()); + var reference = supplier.get(); + if (contains(id)) { + var rawId = getRawId(get(id)); + Registry.registerMapping((Registry) delegate, rawId, id.toString(), reference); + } else { + Registry.register(delegate, id, supplier.get()); + } + return (RegistrySupplier) delegate(id); }