From 907389bd6b46436358c982a60c941add79ba447e Mon Sep 17 00:00:00 2001 From: shedaniel Date: Tue, 9 Jan 2024 22:16:10 +0900 Subject: [PATCH] Simply NeoForge registrar eventbus --- .../registries/forge/RegistrarManagerImpl.java | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/neoforge/src/main/java/dev/architectury/registry/registries/forge/RegistrarManagerImpl.java b/neoforge/src/main/java/dev/architectury/registry/registries/forge/RegistrarManagerImpl.java index e51de44a..ec3bc9c2 100644 --- a/neoforge/src/main/java/dev/architectury/registry/registries/forge/RegistrarManagerImpl.java +++ b/neoforge/src/main/java/dev/architectury/registry/registries/forge/RegistrarManagerImpl.java @@ -37,7 +37,6 @@ import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; import net.neoforged.bus.api.EventPriority; -import net.neoforged.bus.api.IEventBus; import net.neoforged.bus.api.SubscribeEvent; import net.neoforged.neoforge.registries.NewRegistryEvent; import net.neoforged.neoforge.registries.RegisterEvent; @@ -101,7 +100,6 @@ public String toString() { public static class RegistryProviderImpl implements RegistrarManager.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<>(); private final Multimap>, Consumer>> listeners = HashMultimap.create(); @@ -110,23 +108,11 @@ public static class RegistryProviderImpl implements RegistrarManager.RegistryPro public RegistryProviderImpl(String modId) { this.modId = modId; - this.eventBus = Suppliers.memoize(() -> { - IEventBus eventBus = EventBusesHooksImpl.getModEventBus(modId).orElseThrow(() -> new IllegalStateException("Can't get event bus for mod '" + modId + "' because it was not registered!")); - eventBus.register(new EventListener()); - return eventBus; - }); - } - - private void updateEventBus() { - synchronized (eventBus) { - // Make sure that the eventbus is setup - this.eventBus.get(); - } + EventBusesHooksImpl.getModEventBus(modId).get().register(new EventListener()); } @Override public Registrar get(ResourceKey> registryKey) { - updateEventBus(); Registry registry = (Registry) BuiltInRegistries.REGISTRY.get(registryKey.location()); if (registry != null) { return get(registry); @@ -138,7 +124,6 @@ public Registrar get(ResourceKey> registryKey) { @Override public Registrar get(Registry registry) { - updateEventBus(); return new RegistrarImpl<>(modId, this.registry, registry); }