diff --git a/src/main/java/gollorum/signpost/blockpartdata/types/renderers/BlockPartWaystoneUpdateListener.java b/src/main/java/gollorum/signpost/blockpartdata/types/renderers/BlockPartWaystoneUpdateListener.java index 444b96a2..38a4d452 100644 --- a/src/main/java/gollorum/signpost/blockpartdata/types/renderers/BlockPartWaystoneUpdateListener.java +++ b/src/main/java/gollorum/signpost/blockpartdata/types/renderers/BlockPartWaystoneUpdateListener.java @@ -13,7 +13,12 @@ public final class BlockPartWaystoneUpdateListener { private static BlockPartWaystoneUpdateListener instance; - public static BlockPartWaystoneUpdateListener getInstance() { return instance; } + public static BlockPartWaystoneUpdateListener getInstance() { + if (instance == null) { + instance = new BlockPartWaystoneUpdateListener(); + } + return instance; + } private final WeakHashMap, BiConsumer, WaystoneUpdatedEvent>> listeners = new WeakHashMap<>(); @@ -25,7 +30,7 @@ private BlockPartWaystoneUpdateListener(){} public static void initialize() { WaystoneLibrary.onInitializeDo.addListener(lib -> { - instance = new BlockPartWaystoneUpdateListener(); + instance = getInstance(); lib.updateEventDispatcher.addListener(event -> { for (Map.Entry, BiConsumer, WaystoneUpdatedEvent>> entry : instance.listeners.entrySet().stream().toList()) entry.getValue().accept(entry.getKey(), event);