From 71446496d4a42dd901e97019ec34d38c6f7cf522 Mon Sep 17 00:00:00 2001 From: shedaniel Date: Sat, 7 May 2022 21:59:31 +0800 Subject: [PATCH] Fix #256 --- .../architectury/registry/registries/forge/RegistriesImpl.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/forge/src/main/java/dev/architectury/registry/registries/forge/RegistriesImpl.java b/forge/src/main/java/dev/architectury/registry/registries/forge/RegistriesImpl.java index 77daf25a..5306d96d 100644 --- a/forge/src/main/java/dev/architectury/registry/registries/forge/RegistriesImpl.java +++ b/forge/src/main/java/dev/architectury/registry/registries/forge/RegistriesImpl.java @@ -136,6 +136,7 @@ public class RegistriesImpl { } public static class RegistryProviderImpl implements Registries.RegistryProvider { + private static final Map>, Registrar> CUSTOM_REGS = new HashMap<>(); private final String modId; private final Supplier eventBus; private final Map>, Data> registry = new HashMap<>(); @@ -170,6 +171,7 @@ public class RegistriesImpl { if (registry == null) { Registry ts = (Registry) Registry.REGISTRY.get(registryKey.location()); if (ts == null) ts = (Registry) BuiltinRegistries.REGISTRY.get(registryKey.location()); + if (ts == null) ts = (Registry) RegistryProviderImpl.CUSTOM_REGS.get(registryKey); if (ts == null) { throw new IllegalArgumentException("Registry " + registryKey + " does not exist!"); } else { @@ -374,6 +376,7 @@ public class RegistriesImpl { registrar.onRegister(); }); provider.builders.add(entry); + RegistryProviderImpl.CUSTOM_REGS.put(registrar.key(), registrar); return registrar; }