From 8a1c1d7e533cdec0ffbe8c1740b6ad28fd4eeb28 Mon Sep 17 00:00:00 2001 From: sciwhiz12 Date: Sun, 5 Jun 2022 22:45:14 +0800 Subject: [PATCH] [1.18] Fix tags command suggestion to include dynamic registries (#8638) Manually entering the names of dynamic registries work as expected. The suggestions for registries didn't include dynamic registries because they queried the static registries rather than querying all registries from the server's `RegistryAccess` (which includes both static registries and dynamic registries). --- .../net/minecraftforge/server/command/TagsCommand.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/minecraftforge/server/command/TagsCommand.java b/src/main/java/net/minecraftforge/server/command/TagsCommand.java index 44b3ef31c2..bef602563b 100644 --- a/src/main/java/net/minecraftforge/server/command/TagsCommand.java +++ b/src/main/java/net/minecraftforge/server/command/TagsCommand.java @@ -24,6 +24,7 @@ import net.minecraft.commands.arguments.ResourceLocationArgument; import net.minecraft.core.Holder; import net.minecraft.core.HolderSet; import net.minecraft.core.Registry; +import net.minecraft.core.RegistryAccess; import net.minecraft.network.chat.ClickEvent; import net.minecraft.network.chat.ComponentUtils; import net.minecraft.network.chat.HoverEvent; @@ -232,8 +233,11 @@ class TagsCommand private static CompletableFuture suggestRegistries(final CommandContext ctx, final SuggestionsBuilder builder) { - ctx.getSource().suggestRegistryElements(Registry.REGISTRY, - SharedSuggestionProvider.ElementSuggestionType.ELEMENTS, builder); + ctx.getSource().registryAccess().registries() + .map(RegistryAccess.RegistryEntry::key) + .map(ResourceKey::location) + .map(ResourceLocation::toString) + .forEach(builder::suggest); return builder.buildFuture(); }