From 1f0cb412d267ed555571824010f29cdf17961995 Mon Sep 17 00:00:00 2001 From: Pyrofab Date: Mon, 12 Feb 2024 14:20:04 +0100 Subject: [PATCH] Fix /reload not handling dialogue additions or removals --- .../blabber/impl/common/BlabberRegistrar.java | 2 +- .../blabber/impl/common/DialogueRegistry.java | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/ladysnake/blabber/impl/common/BlabberRegistrar.java b/src/main/java/org/ladysnake/blabber/impl/common/BlabberRegistrar.java index d197f23..2958499 100644 --- a/src/main/java/org/ladysnake/blabber/impl/common/BlabberRegistrar.java +++ b/src/main/java/org/ladysnake/blabber/impl/common/BlabberRegistrar.java @@ -63,7 +63,7 @@ public final class BlabberRegistrar implements EntityComponentInitializer { ).buildAndRegister(); public static final SuggestionProvider ALL_DIALOGUES = SuggestionProviders.register( Blabber.id("available_dialogues"), - (context, builder) -> CommandSource.suggestIdentifiers(DialogueRegistry.getIds(), builder) + (context, builder) -> CommandSource.suggestIdentifiers(context.getSource() instanceof ServerCommandSource ? DialogueRegistry.getIds() : DialogueRegistry.getClientIds(), builder) ); public static void init() { diff --git a/src/main/java/org/ladysnake/blabber/impl/common/DialogueRegistry.java b/src/main/java/org/ladysnake/blabber/impl/common/DialogueRegistry.java index 8f71d02..e631a24 100644 --- a/src/main/java/org/ladysnake/blabber/impl/common/DialogueRegistry.java +++ b/src/main/java/org/ladysnake/blabber/impl/common/DialogueRegistry.java @@ -19,7 +19,6 @@ import net.minecraft.util.Identifier; import org.jetbrains.annotations.ApiStatus; -import org.jetbrains.annotations.Nullable; import org.ladysnake.blabber.impl.common.model.DialogueTemplate; import java.util.Map; @@ -37,11 +36,15 @@ */ public final class DialogueRegistry { - private static @Nullable Set clientDialogueIds = null; + private static Set clientDialogueIds = Set.of(); private static Map entries = Map.of(); + public static Set getClientIds() { + return clientDialogueIds; + } + public static Set getIds() { - return clientDialogueIds == null ? entries.keySet() : clientDialogueIds; + return entries.keySet(); } public static Optional getOrEmpty(Identifier id) { @@ -57,7 +60,7 @@ static void setEntries(Map newEntries) { } @ApiStatus.Internal // highly internal - public static void setClientIds(@Nullable Set dialogueIds) { + public static void setClientIds(Set dialogueIds) { clientDialogueIds = dialogueIds; } }