From e84b5d983f02197f1069c267d12547e1870bb591 Mon Sep 17 00:00:00 2001 From: Daniel Naylor Date: Mon, 3 May 2021 15:32:34 +0100 Subject: [PATCH] Update impl for command interface renames --- SpongeAPI | 2 +- .../tree/builder/AbstractCommandTreeNode.java | 17 +-- .../tree/builder/AmountCommandTreeNode.java | 4 +- .../tree/builder/ArgumentCommandTreeNode.java | 9 +- .../tree/builder/BasicCommandTreeNode.java | 4 +- .../tree/builder/EntityCommandTreeNode.java | 4 +- .../tree/builder/RangeCommandTreeNode.java | 5 +- .../tree/builder/StringCommandTreeNode.java | 4 +- ...a => SpongeAmountCommandTreeNodeType.java} | 6 +- ...va => SpongeBasicCommandTreeNodeType.java} | 6 +- ...a => SpongeEntityCommandTreeNodeType.java} | 6 +- ...va => SpongeRangeCommandTreeNodeType.java} | 16 +-- ...a => SpongeStringCommandTreeNodeType.java} | 6 +- .../common/registry/SpongeRegistries.java | 4 +- .../registry/SpongeRegistryLoaders.java | 118 +++++++++--------- .../SuggestionProviders_WrapperMixin_API.java | 4 +- .../ClientSuggestionsRawCommandTest.java | 8 +- .../test/command/RawCommandTest.java | 15 +-- 18 files changed, 119 insertions(+), 119 deletions(-) rename src/main/java/org/spongepowered/common/command/registrar/tree/key/{SpongeAmountClientCompletionKey.java => SpongeAmountCommandTreeNodeType.java} (88%) rename src/main/java/org/spongepowered/common/command/registrar/tree/key/{SpongeBasicClientCompletionKey.java => SpongeBasicCommandTreeNodeType.java} (88%) rename src/main/java/org/spongepowered/common/command/registrar/tree/key/{SpongeEntityClientCompletionKey.java => SpongeEntityCommandTreeNodeType.java} (88%) rename src/main/java/org/spongepowered/common/command/registrar/tree/key/{SpongeRangeClientCompletionKey.java => SpongeRangeCommandTreeNodeType.java} (85%) rename src/main/java/org/spongepowered/common/command/registrar/tree/key/{SpongeStringClientCompletionKey.java => SpongeStringCommandTreeNodeType.java} (87%) diff --git a/SpongeAPI b/SpongeAPI index 114cbda3174..376460aea70 160000 --- a/SpongeAPI +++ b/SpongeAPI @@ -1 +1 @@ -Subproject commit 114cbda3174e1c93d1658ccbdccb52a3d98983ee +Subproject commit 376460aea705420ea3757bb33d6b06ce04a692df diff --git a/src/main/java/org/spongepowered/common/command/registrar/tree/builder/AbstractCommandTreeNode.java b/src/main/java/org/spongepowered/common/command/registrar/tree/builder/AbstractCommandTreeNode.java index 58ebfe47e9d..0e0fafdf43e 100644 --- a/src/main/java/org/spongepowered/common/command/registrar/tree/builder/AbstractCommandTreeNode.java +++ b/src/main/java/org/spongepowered/common/command/registrar/tree/builder/AbstractCommandTreeNode.java @@ -33,7 +33,7 @@ import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.Nullable; import org.spongepowered.api.command.CommandCause; -import org.spongepowered.api.command.registrar.tree.ClientSuggestionProvider; +import org.spongepowered.api.command.registrar.tree.CommandCompletionProvider; import org.spongepowered.api.command.registrar.tree.CommandTreeNode; import org.spongepowered.common.command.brigadier.tree.ForcedRedirectNode; @@ -50,7 +50,7 @@ public abstract class AbstractCommandTreeNode redirect = null; private @Nullable Map> children = null; private boolean executable = false; - private @Nullable ClientSuggestionProvider suggestionProvider = null; + private @Nullable CommandCompletionProvider completionProvider = null; private Predicate requirement = c -> true; public ImmutableMap> getChildren() { @@ -93,14 +93,14 @@ public abstract class AbstractCommandTreeNode suggestionProvider() { - return (SuggestionProvider) this.suggestionProvider; + return (SuggestionProvider) this.completionProvider; } - public @Nullable CommandTreeNode getRedirect() { + public @Nullable CommandTreeNode<@NonNull ?> getRedirect() { return this.redirect; } diff --git a/src/main/java/org/spongepowered/common/command/registrar/tree/builder/AmountCommandTreeNode.java b/src/main/java/org/spongepowered/common/command/registrar/tree/builder/AmountCommandTreeNode.java index cda0486cda6..4bfdc21e7c3 100644 --- a/src/main/java/org/spongepowered/common/command/registrar/tree/builder/AmountCommandTreeNode.java +++ b/src/main/java/org/spongepowered/common/command/registrar/tree/builder/AmountCommandTreeNode.java @@ -25,7 +25,7 @@ package org.spongepowered.common.command.registrar.tree.builder; import com.mojang.brigadier.arguments.ArgumentType; -import org.spongepowered.api.command.registrar.tree.ClientCompletionKey; +import org.spongepowered.api.command.registrar.tree.CommandTreeNodeType; import org.spongepowered.api.command.registrar.tree.CommandTreeNode; public final class AmountCommandTreeNode extends ArgumentCommandTreeNode implements CommandTreeNode.Amount { @@ -34,7 +34,7 @@ public final class AmountCommandTreeNode extends ArgumentCommandTreeNode ifMultiple; private boolean single; - public AmountCommandTreeNode(final ClientCompletionKey parameterType, + public AmountCommandTreeNode(final CommandTreeNodeType parameterType, final ArgumentType ifSingle, final ArgumentType ifMultiple) { super(parameterType); diff --git a/src/main/java/org/spongepowered/common/command/registrar/tree/builder/ArgumentCommandTreeNode.java b/src/main/java/org/spongepowered/common/command/registrar/tree/builder/ArgumentCommandTreeNode.java index 645316510f0..94f72ec3f6c 100644 --- a/src/main/java/org/spongepowered/common/command/registrar/tree/builder/ArgumentCommandTreeNode.java +++ b/src/main/java/org/spongepowered/common/command/registrar/tree/builder/ArgumentCommandTreeNode.java @@ -27,17 +27,16 @@ import com.mojang.brigadier.arguments.ArgumentType; import com.mojang.brigadier.tree.CommandNode; import net.minecraft.commands.SharedSuggestionProvider; -import net.minecraft.commands.synchronization.SuggestionProviders; -import org.spongepowered.api.command.registrar.tree.ClientCompletionKey; +import org.spongepowered.api.command.registrar.tree.CommandTreeNodeType; import org.spongepowered.api.command.registrar.tree.CommandTreeNode; import org.spongepowered.common.command.brigadier.tree.ForcedRedirectArgumentSuggestionNode; public abstract class ArgumentCommandTreeNode> extends AbstractCommandTreeNode> { - private final ClientCompletionKey parameterType; + private final CommandTreeNodeType parameterType; - public ArgumentCommandTreeNode(final ClientCompletionKey parameterType) { + public ArgumentCommandTreeNode(final CommandTreeNodeType parameterType) { this.parameterType = parameterType; } @@ -53,7 +52,7 @@ protected CommandNode createElement(final String nodeK protected abstract ArgumentType getArgumentType(); - public ClientCompletionKey getClientCompletionKey() { + public CommandTreeNodeType getClientCompletionKey() { return this.parameterType; } diff --git a/src/main/java/org/spongepowered/common/command/registrar/tree/builder/BasicCommandTreeNode.java b/src/main/java/org/spongepowered/common/command/registrar/tree/builder/BasicCommandTreeNode.java index a85e338b6a4..1548d6b8b22 100644 --- a/src/main/java/org/spongepowered/common/command/registrar/tree/builder/BasicCommandTreeNode.java +++ b/src/main/java/org/spongepowered/common/command/registrar/tree/builder/BasicCommandTreeNode.java @@ -25,14 +25,14 @@ package org.spongepowered.common.command.registrar.tree.builder; import com.mojang.brigadier.arguments.ArgumentType; -import org.spongepowered.api.command.registrar.tree.ClientCompletionKey; +import org.spongepowered.api.command.registrar.tree.CommandTreeNodeType; import org.spongepowered.api.command.registrar.tree.CommandTreeNode; public final class BasicCommandTreeNode extends ArgumentCommandTreeNode implements CommandTreeNode.Basic { private final ArgumentType type; - public BasicCommandTreeNode(final ClientCompletionKey parameterType, final ArgumentType type) { + public BasicCommandTreeNode(final CommandTreeNodeType parameterType, final ArgumentType type) { super(parameterType); this.type = type; } diff --git a/src/main/java/org/spongepowered/common/command/registrar/tree/builder/EntityCommandTreeNode.java b/src/main/java/org/spongepowered/common/command/registrar/tree/builder/EntityCommandTreeNode.java index 535b58b7ee6..1863fa523db 100644 --- a/src/main/java/org/spongepowered/common/command/registrar/tree/builder/EntityCommandTreeNode.java +++ b/src/main/java/org/spongepowered/common/command/registrar/tree/builder/EntityCommandTreeNode.java @@ -28,7 +28,7 @@ import net.minecraft.commands.arguments.EntityArgument; import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.Nullable; -import org.spongepowered.api.command.registrar.tree.ClientCompletionKey; +import org.spongepowered.api.command.registrar.tree.CommandTreeNodeType; import org.spongepowered.api.command.registrar.tree.CommandTreeNode; // TODO @@ -39,7 +39,7 @@ public final class EntityCommandTreeNode private boolean playersOnly = false; private boolean oneOnly = false; - public EntityCommandTreeNode(final @Nullable ClientCompletionKey parameterType) { + public EntityCommandTreeNode(final @Nullable CommandTreeNodeType parameterType) { super(parameterType); } diff --git a/src/main/java/org/spongepowered/common/command/registrar/tree/builder/RangeCommandTreeNode.java b/src/main/java/org/spongepowered/common/command/registrar/tree/builder/RangeCommandTreeNode.java index 1c8b461936f..5ace4398c5a 100644 --- a/src/main/java/org/spongepowered/common/command/registrar/tree/builder/RangeCommandTreeNode.java +++ b/src/main/java/org/spongepowered/common/command/registrar/tree/builder/RangeCommandTreeNode.java @@ -27,10 +27,9 @@ import com.mojang.brigadier.arguments.ArgumentType; import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.Nullable; -import org.spongepowered.api.command.registrar.tree.ClientCompletionKey; +import org.spongepowered.api.command.registrar.tree.CommandTreeNodeType; import org.spongepowered.api.command.registrar.tree.CommandTreeNode; -import java.util.Objects; import java.util.Optional; import java.util.function.BiFunction; @@ -44,7 +43,7 @@ public final class RangeCommandTreeNode private final BiFunction> typeCreator; public RangeCommandTreeNode( - final ClientCompletionKey> parameterType, + final CommandTreeNodeType> parameterType, final BiFunction> typeCreator, final T defaultMin, final T defaultMax) { diff --git a/src/main/java/org/spongepowered/common/command/registrar/tree/builder/StringCommandTreeNode.java b/src/main/java/org/spongepowered/common/command/registrar/tree/builder/StringCommandTreeNode.java index 71b80d6daae..905fc7f9267 100644 --- a/src/main/java/org/spongepowered/common/command/registrar/tree/builder/StringCommandTreeNode.java +++ b/src/main/java/org/spongepowered/common/command/registrar/tree/builder/StringCommandTreeNode.java @@ -27,14 +27,14 @@ import com.mojang.brigadier.arguments.ArgumentType; import com.mojang.brigadier.arguments.StringArgumentType; import org.checkerframework.checker.nullness.qual.NonNull; -import org.spongepowered.api.command.registrar.tree.ClientCompletionKey; +import org.spongepowered.api.command.registrar.tree.CommandTreeNodeType; import org.spongepowered.api.command.registrar.tree.CommandTreeNode; public final class StringCommandTreeNode extends ArgumentCommandTreeNode implements CommandTreeNode.StringParser { private Types type = Types.PHRASE; - public StringCommandTreeNode(final ClientCompletionKey<@NonNull StringParser> parameterType) { + public StringCommandTreeNode(final CommandTreeNodeType<@NonNull StringParser> parameterType) { super(parameterType); } diff --git a/src/main/java/org/spongepowered/common/command/registrar/tree/key/SpongeAmountClientCompletionKey.java b/src/main/java/org/spongepowered/common/command/registrar/tree/key/SpongeAmountCommandTreeNodeType.java similarity index 88% rename from src/main/java/org/spongepowered/common/command/registrar/tree/key/SpongeAmountClientCompletionKey.java rename to src/main/java/org/spongepowered/common/command/registrar/tree/key/SpongeAmountCommandTreeNodeType.java index adfb5c33a1f..ce643645240 100644 --- a/src/main/java/org/spongepowered/common/command/registrar/tree/key/SpongeAmountClientCompletionKey.java +++ b/src/main/java/org/spongepowered/common/command/registrar/tree/key/SpongeAmountCommandTreeNodeType.java @@ -27,17 +27,17 @@ import com.mojang.brigadier.arguments.ArgumentType; import org.checkerframework.checker.nullness.qual.NonNull; import org.spongepowered.api.ResourceKey; -import org.spongepowered.api.command.registrar.tree.ClientCompletionKey; +import org.spongepowered.api.command.registrar.tree.CommandTreeNodeType; import org.spongepowered.api.command.registrar.tree.CommandTreeNode; import org.spongepowered.common.AbstractResourceKeyed; import org.spongepowered.common.command.registrar.tree.builder.AmountCommandTreeNode; -public final class SpongeAmountClientCompletionKey extends AbstractResourceKeyed implements ClientCompletionKey { +public final class SpongeAmountCommandTreeNodeType extends AbstractResourceKeyed implements CommandTreeNodeType { private final ArgumentType ifSingle; private final ArgumentType ifMultiple; - public SpongeAmountClientCompletionKey(final ResourceKey key, final ArgumentType ifSingle, final ArgumentType ifMultiple) { + public SpongeAmountCommandTreeNodeType(final ResourceKey key, final ArgumentType ifSingle, final ArgumentType ifMultiple) { super(key); this.ifSingle = ifSingle; diff --git a/src/main/java/org/spongepowered/common/command/registrar/tree/key/SpongeBasicClientCompletionKey.java b/src/main/java/org/spongepowered/common/command/registrar/tree/key/SpongeBasicCommandTreeNodeType.java similarity index 88% rename from src/main/java/org/spongepowered/common/command/registrar/tree/key/SpongeBasicClientCompletionKey.java rename to src/main/java/org/spongepowered/common/command/registrar/tree/key/SpongeBasicCommandTreeNodeType.java index ea2de5e6c23..e6fead07a77 100644 --- a/src/main/java/org/spongepowered/common/command/registrar/tree/key/SpongeBasicClientCompletionKey.java +++ b/src/main/java/org/spongepowered/common/command/registrar/tree/key/SpongeBasicCommandTreeNodeType.java @@ -27,16 +27,16 @@ import com.mojang.brigadier.arguments.ArgumentType; import org.checkerframework.checker.nullness.qual.NonNull; import org.spongepowered.api.ResourceKey; -import org.spongepowered.api.command.registrar.tree.ClientCompletionKey; +import org.spongepowered.api.command.registrar.tree.CommandTreeNodeType; import org.spongepowered.api.command.registrar.tree.CommandTreeNode; import org.spongepowered.common.AbstractResourceKeyed; import org.spongepowered.common.command.registrar.tree.builder.BasicCommandTreeNode; -public final class SpongeBasicClientCompletionKey extends AbstractResourceKeyed implements ClientCompletionKey { +public final class SpongeBasicCommandTreeNodeType extends AbstractResourceKeyed implements CommandTreeNodeType { private final ArgumentType argumentType; - public SpongeBasicClientCompletionKey(final ResourceKey key, final ArgumentType argumentType) { + public SpongeBasicCommandTreeNodeType(final ResourceKey key, final ArgumentType argumentType) { super(key); this.argumentType = argumentType; diff --git a/src/main/java/org/spongepowered/common/command/registrar/tree/key/SpongeEntityClientCompletionKey.java b/src/main/java/org/spongepowered/common/command/registrar/tree/key/SpongeEntityCommandTreeNodeType.java similarity index 88% rename from src/main/java/org/spongepowered/common/command/registrar/tree/key/SpongeEntityClientCompletionKey.java rename to src/main/java/org/spongepowered/common/command/registrar/tree/key/SpongeEntityCommandTreeNodeType.java index 5598362332a..448663bbe52 100644 --- a/src/main/java/org/spongepowered/common/command/registrar/tree/key/SpongeEntityClientCompletionKey.java +++ b/src/main/java/org/spongepowered/common/command/registrar/tree/key/SpongeEntityCommandTreeNodeType.java @@ -26,15 +26,15 @@ import org.checkerframework.checker.nullness.qual.NonNull; import org.spongepowered.api.ResourceKey; -import org.spongepowered.api.command.registrar.tree.ClientCompletionKey; +import org.spongepowered.api.command.registrar.tree.CommandTreeNodeType; import org.spongepowered.api.command.registrar.tree.CommandTreeNode; import org.spongepowered.common.command.registrar.tree.builder.EntityCommandTreeNode; -public final class SpongeEntityClientCompletionKey implements ClientCompletionKey { +public final class SpongeEntityCommandTreeNodeType implements CommandTreeNodeType { private final ResourceKey key; - public SpongeEntityClientCompletionKey(final ResourceKey key) { + public SpongeEntityCommandTreeNodeType(final ResourceKey key) { this.key = key; } diff --git a/src/main/java/org/spongepowered/common/command/registrar/tree/key/SpongeRangeClientCompletionKey.java b/src/main/java/org/spongepowered/common/command/registrar/tree/key/SpongeRangeCommandTreeNodeType.java similarity index 85% rename from src/main/java/org/spongepowered/common/command/registrar/tree/key/SpongeRangeClientCompletionKey.java rename to src/main/java/org/spongepowered/common/command/registrar/tree/key/SpongeRangeCommandTreeNodeType.java index d2ed6ff525c..91edaa8de36 100644 --- a/src/main/java/org/spongepowered/common/command/registrar/tree/key/SpongeRangeClientCompletionKey.java +++ b/src/main/java/org/spongepowered/common/command/registrar/tree/key/SpongeRangeCommandTreeNodeType.java @@ -32,7 +32,7 @@ import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.Nullable; import org.spongepowered.api.ResourceKey; -import org.spongepowered.api.command.registrar.tree.ClientCompletionKey; +import org.spongepowered.api.command.registrar.tree.CommandTreeNodeType; import org.spongepowered.api.command.registrar.tree.CommandTreeNode; import org.spongepowered.common.AbstractResourceKeyed; import org.spongepowered.common.command.registrar.tree.builder.RangeCommandTreeNode; @@ -44,20 +44,20 @@ import net.minecraft.commands.synchronization.brigadier.IntegerArgumentSerializer; import net.minecraft.commands.synchronization.brigadier.LongArgumentSerializer; -public final class SpongeRangeClientCompletionKey extends AbstractResourceKeyed implements ClientCompletionKey> { +public final class SpongeRangeCommandTreeNodeType extends AbstractResourceKeyed implements CommandTreeNodeType> { - public static @Nullable SpongeRangeClientCompletionKey createFrom(final ResourceKey key, final ArgumentSerializer serializer) { + public static @Nullable SpongeRangeCommandTreeNodeType createFrom(final ResourceKey key, final ArgumentSerializer serializer) { if (serializer instanceof FloatArgumentSerializer) { - return new SpongeRangeClientCompletionKey<>(key, FloatArgumentType::floatArg, Float.MIN_VALUE, Float.MAX_VALUE); + return new SpongeRangeCommandTreeNodeType<>(key, FloatArgumentType::floatArg, Float.MIN_VALUE, Float.MAX_VALUE); } if (serializer instanceof DoubleArgumentSerializer) { - return new SpongeRangeClientCompletionKey<>(key, DoubleArgumentType::doubleArg, Double.MIN_VALUE, Double.MAX_VALUE); + return new SpongeRangeCommandTreeNodeType<>(key, DoubleArgumentType::doubleArg, Double.MIN_VALUE, Double.MAX_VALUE); } if (serializer instanceof IntegerArgumentSerializer) { - return new SpongeRangeClientCompletionKey<>(key, IntegerArgumentType::integer, Integer.MIN_VALUE, Integer.MAX_VALUE); + return new SpongeRangeCommandTreeNodeType<>(key, IntegerArgumentType::integer, Integer.MIN_VALUE, Integer.MAX_VALUE); } if (serializer instanceof LongArgumentSerializer) { - return new SpongeRangeClientCompletionKey<>(key, LongArgumentType::longArg, Long.MIN_VALUE, Long.MAX_VALUE); + return new SpongeRangeCommandTreeNodeType<>(key, LongArgumentType::longArg, Long.MIN_VALUE, Long.MAX_VALUE); } return null; } @@ -66,7 +66,7 @@ public final class SpongeRangeClientCompletionKey extends Abst private final N min; private final N max; - private SpongeRangeClientCompletionKey(final ResourceKey key, final BiFunction> typeCreator, final N min, final N max) { + private SpongeRangeCommandTreeNodeType(final ResourceKey key, final BiFunction> typeCreator, final N min, final N max) { super(key); this.typeCreator = typeCreator; diff --git a/src/main/java/org/spongepowered/common/command/registrar/tree/key/SpongeStringClientCompletionKey.java b/src/main/java/org/spongepowered/common/command/registrar/tree/key/SpongeStringCommandTreeNodeType.java similarity index 87% rename from src/main/java/org/spongepowered/common/command/registrar/tree/key/SpongeStringClientCompletionKey.java rename to src/main/java/org/spongepowered/common/command/registrar/tree/key/SpongeStringCommandTreeNodeType.java index c2db07f3de1..884d93bd90f 100644 --- a/src/main/java/org/spongepowered/common/command/registrar/tree/key/SpongeStringClientCompletionKey.java +++ b/src/main/java/org/spongepowered/common/command/registrar/tree/key/SpongeStringCommandTreeNodeType.java @@ -26,14 +26,14 @@ import org.checkerframework.checker.nullness.qual.NonNull; import org.spongepowered.api.ResourceKey; -import org.spongepowered.api.command.registrar.tree.ClientCompletionKey; +import org.spongepowered.api.command.registrar.tree.CommandTreeNodeType; import org.spongepowered.api.command.registrar.tree.CommandTreeNode; import org.spongepowered.common.AbstractResourceKeyed; import org.spongepowered.common.command.registrar.tree.builder.StringCommandTreeNode; -public final class SpongeStringClientCompletionKey extends AbstractResourceKeyed implements ClientCompletionKey { +public final class SpongeStringCommandTreeNodeType extends AbstractResourceKeyed implements CommandTreeNodeType { - public SpongeStringClientCompletionKey(final ResourceKey key) { + public SpongeStringCommandTreeNodeType(final ResourceKey key) { super(key); } diff --git a/src/main/java/org/spongepowered/common/registry/SpongeRegistries.java b/src/main/java/org/spongepowered/common/registry/SpongeRegistries.java index 05da6fba905..942b94c385a 100644 --- a/src/main/java/org/spongepowered/common/registry/SpongeRegistries.java +++ b/src/main/java/org/spongepowered/common/registry/SpongeRegistries.java @@ -39,9 +39,9 @@ public static void registerGlobalRegistries(final SpongeRegistryHolder holder) { holder.createRegistry(RegistryTypes.REGISTRY_KEYED_VALUE_PARAMETER, SpongeRegistryLoaders.valueParameter()); holder.createRegistry(RegistryTypes.CLICK_TYPE, SpongeRegistryLoaders.clickType()); holder.createRegistry(RegistryTypes.CAT_TYPE, SpongeRegistryLoaders.catType()); - holder.createRegistry(RegistryTypes.CLIENT_COMPLETION_KEY, SpongeRegistryLoaders.clientCompletionKey()); + holder.createRegistry(RegistryTypes.COMMAND_TREE_NODE_TYPE, SpongeRegistryLoaders.clientCompletionKey()); holder.createRegistry(RegistryTypes.CLIENT_COMPLETION_TYPE, SpongeRegistryLoaders.clientCompletionType()); - holder.createRegistry(RegistryTypes.CLIENT_SUGGESTION_PROVIDER, SpongeRegistryLoaders.clientSuggestionProvider()); + holder.createRegistry(RegistryTypes.COMMAND_COMPLETION_PROVIDER, SpongeRegistryLoaders.clientSuggestionProvider()); holder.createRegistry(RegistryTypes.COMMAND_REGISTRAR_TYPE, SpongeRegistryLoaders.commandRegistrarType(), true); holder.createRegistry(RegistryTypes.CURRENCY, (RegistryLoader) null, true); holder.createRegistry(RegistryTypes.DAMAGE_TYPE, SpongeRegistryLoaders.damageType()); diff --git a/src/main/java/org/spongepowered/common/registry/SpongeRegistryLoaders.java b/src/main/java/org/spongepowered/common/registry/SpongeRegistryLoaders.java index 56f1fc0f7a5..1b1e53d5034 100644 --- a/src/main/java/org/spongepowered/common/registry/SpongeRegistryLoaders.java +++ b/src/main/java/org/spongepowered/common/registry/SpongeRegistryLoaders.java @@ -72,10 +72,10 @@ import org.spongepowered.api.command.parameter.managed.operator.Operators; import org.spongepowered.api.command.parameter.managed.standard.ResourceKeyedValueParameters; import org.spongepowered.api.command.registrar.CommandRegistrarType; -import org.spongepowered.api.command.registrar.tree.ClientCompletionKey; -import org.spongepowered.api.command.registrar.tree.ClientCompletionKeys; -import org.spongepowered.api.command.registrar.tree.ClientSuggestionProvider; -import org.spongepowered.api.command.registrar.tree.ClientSuggestionProviders; +import org.spongepowered.api.command.registrar.tree.CommandTreeNodeType; +import org.spongepowered.api.command.registrar.tree.CommandTreeNodeTypes; +import org.spongepowered.api.command.registrar.tree.CommandCompletionProvider; +import org.spongepowered.api.command.registrar.tree.CommandCompletionProviders; import org.spongepowered.api.command.selector.SelectorSortAlgorithm; import org.spongepowered.api.command.selector.SelectorSortAlgorithms; import org.spongepowered.api.command.selector.SelectorType; @@ -206,11 +206,11 @@ import org.spongepowered.common.command.registrar.SpongeCommandRegistrarTypes; import org.spongepowered.common.command.registrar.SpongeParameterizedCommandRegistrar; import org.spongepowered.common.command.registrar.SpongeRawCommandRegistrar; -import org.spongepowered.common.command.registrar.tree.key.SpongeAmountClientCompletionKey; -import org.spongepowered.common.command.registrar.tree.key.SpongeBasicClientCompletionKey; -import org.spongepowered.common.command.registrar.tree.key.SpongeEntityClientCompletionKey; -import org.spongepowered.common.command.registrar.tree.key.SpongeRangeClientCompletionKey; -import org.spongepowered.common.command.registrar.tree.key.SpongeStringClientCompletionKey; +import org.spongepowered.common.command.registrar.tree.key.SpongeAmountCommandTreeNodeType; +import org.spongepowered.common.command.registrar.tree.key.SpongeBasicCommandTreeNodeType; +import org.spongepowered.common.command.registrar.tree.key.SpongeEntityCommandTreeNodeType; +import org.spongepowered.common.command.registrar.tree.key.SpongeRangeCommandTreeNodeType; +import org.spongepowered.common.command.registrar.tree.key.SpongeStringCommandTreeNodeType; import org.spongepowered.common.command.selector.SpongeSelectorSortAlgorithm; import org.spongepowered.common.command.selector.SpongeSelectorType; import org.spongepowered.common.data.nbt.validation.SpongeValidationType; @@ -430,53 +430,53 @@ public static RegistryLoader> clickType() { ))); } - public static RegistryLoader> clientCompletionKey() { + public static RegistryLoader> clientCompletionKey() { final Function> fn = key -> ((EmptyArgumentSerializerAccessor) ArgumentTypesAccessor.accessor$BY_NAME().get(key).accessor$serializer()).accessor$constructor().get(); return RegistryLoader.of(l -> { - l.add(ClientCompletionKeys.ANGLE, k -> new SpongeBasicClientCompletionKey(k, fn.apply(k))); - l.add(ClientCompletionKeys.BLOCK_POS, k -> new SpongeBasicClientCompletionKey(k, fn.apply(k))); - l.add(ClientCompletionKeys.BLOCK_PREDICATE, k -> new SpongeBasicClientCompletionKey(k, fn.apply(k))); - l.add(ClientCompletionKeys.BLOCK_STATE, k -> new SpongeBasicClientCompletionKey(k, fn.apply(k))); - l.add(ClientCompletionKeys.BOOL, k -> new SpongeBasicClientCompletionKey(k, fn.apply(k))); - l.add(ClientCompletionKeys.COLOR, k -> new SpongeBasicClientCompletionKey(k, fn.apply(k))); - l.add(ClientCompletionKeys.COLUMN_POS, k -> new SpongeBasicClientCompletionKey(k, fn.apply(k))); - l.add(ClientCompletionKeys.COMPONENT, k -> new SpongeBasicClientCompletionKey(k, fn.apply(k))); - l.add(ClientCompletionKeys.DIMENSION, k -> new SpongeBasicClientCompletionKey(k, fn.apply(k))); - l.add(ClientCompletionKeys.DOUBLE, k -> SpongeRangeClientCompletionKey.createFrom(k, new DoubleArgumentSerializer())); - l.add(ClientCompletionKeys.ENTITY, SpongeEntityClientCompletionKey::new); - l.add(ClientCompletionKeys.ENTITY_ANCHOR, k -> new SpongeBasicClientCompletionKey(k, fn.apply(k))); - l.add(ClientCompletionKeys.ENTITY_SUMMON, k -> new SpongeBasicClientCompletionKey(k, fn.apply(k))); - l.add(ClientCompletionKeys.FLOAT, k -> SpongeRangeClientCompletionKey.createFrom(k, new FloatArgumentSerializer())); - l.add(ClientCompletionKeys.FLOAT_RANGE, k -> new SpongeBasicClientCompletionKey(k, fn.apply(k))); - l.add(ClientCompletionKeys.FUNCTION, k -> new SpongeBasicClientCompletionKey(k, fn.apply(k))); - l.add(ClientCompletionKeys.GAME_PROFILE, k -> new SpongeBasicClientCompletionKey(k, fn.apply(k))); - l.add(ClientCompletionKeys.INTEGER, k -> SpongeRangeClientCompletionKey.createFrom(k, new IntegerArgumentSerializer())); - l.add(ClientCompletionKeys.INT_RANGE, k -> new SpongeBasicClientCompletionKey(k, fn.apply(k))); - l.add(ClientCompletionKeys.ITEM_ENCHANTMENT, k -> new SpongeBasicClientCompletionKey(k, fn.apply(k))); - l.add(ClientCompletionKeys.ITEM_PREDICATE, k -> new SpongeBasicClientCompletionKey(k, fn.apply(k))); - l.add(ClientCompletionKeys.ITEM_SLOT, k -> new SpongeBasicClientCompletionKey(k, fn.apply(k))); - l.add(ClientCompletionKeys.ITEM_STACK, k -> new SpongeBasicClientCompletionKey(k, fn.apply(k))); - l.add(ClientCompletionKeys.LONG, k -> SpongeRangeClientCompletionKey.createFrom(k, new LongArgumentSerializer())); - l.add(ClientCompletionKeys.MESSAGE, k -> new SpongeBasicClientCompletionKey(k, fn.apply(k))); - l.add(ClientCompletionKeys.MOB_EFFECT, k -> new SpongeBasicClientCompletionKey(k, fn.apply(k))); - l.add(ClientCompletionKeys.NBT_COMPOUND_TAG, k -> new SpongeBasicClientCompletionKey(k, fn.apply(k))); - l.add(ClientCompletionKeys.NBT_PATH, k -> new SpongeBasicClientCompletionKey(k, fn.apply(k))); - l.add(ClientCompletionKeys.NBT_TAG, k -> new SpongeBasicClientCompletionKey(k, fn.apply(k))); - l.add(ClientCompletionKeys.OBJECTIVE, k -> new SpongeBasicClientCompletionKey(k, fn.apply(k))); - l.add(ClientCompletionKeys.OBJECTIVE_CRITERIA, k -> new SpongeBasicClientCompletionKey(k, fn.apply(k))); - l.add(ClientCompletionKeys.OPERATION, k -> new SpongeBasicClientCompletionKey(k, fn.apply(k))); - l.add(ClientCompletionKeys.PARTICLE, k -> new SpongeBasicClientCompletionKey(k, fn.apply(k))); - l.add(ClientCompletionKeys.RESOURCE_LOCATION, k -> new SpongeBasicClientCompletionKey(k, fn.apply(k))); - l.add(ClientCompletionKeys.ROTATION, k -> new SpongeBasicClientCompletionKey(k, fn.apply(k))); - l.add(ClientCompletionKeys.SCORE_HOLDER, k -> new SpongeAmountClientCompletionKey(k, ScoreHolderArgument.scoreHolder(), ScoreHolderArgument.scoreHolders())); - l.add(ClientCompletionKeys.SCOREBOARD_SLOT, k -> new SpongeBasicClientCompletionKey(k, fn.apply(k))); - l.add(ClientCompletionKeys.STRING, SpongeStringClientCompletionKey::new); - l.add(ClientCompletionKeys.SWIZZLE, k -> new SpongeBasicClientCompletionKey(k, fn.apply(k))); - l.add(ClientCompletionKeys.TEAM, k -> new SpongeBasicClientCompletionKey(k, fn.apply(k))); - l.add(ClientCompletionKeys.TIME, k -> new SpongeBasicClientCompletionKey(k, fn.apply(k))); - l.add(ClientCompletionKeys.UUID, k -> new SpongeBasicClientCompletionKey(k, fn.apply(k))); - l.add(ClientCompletionKeys.VEC2, k -> new SpongeBasicClientCompletionKey(k, fn.apply(k))); - l.add(ClientCompletionKeys.VEC3, k -> new SpongeBasicClientCompletionKey(k, fn.apply(k))); + l.add(CommandTreeNodeTypes.ANGLE, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k))); + l.add(CommandTreeNodeTypes.BLOCK_POS, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k))); + l.add(CommandTreeNodeTypes.BLOCK_PREDICATE, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k))); + l.add(CommandTreeNodeTypes.BLOCK_STATE, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k))); + l.add(CommandTreeNodeTypes.BOOL, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k))); + l.add(CommandTreeNodeTypes.COLOR, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k))); + l.add(CommandTreeNodeTypes.COLUMN_POS, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k))); + l.add(CommandTreeNodeTypes.COMPONENT, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k))); + l.add(CommandTreeNodeTypes.DIMENSION, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k))); + l.add(CommandTreeNodeTypes.DOUBLE, k -> SpongeRangeCommandTreeNodeType.createFrom(k, new DoubleArgumentSerializer())); + l.add(CommandTreeNodeTypes.ENTITY, SpongeEntityCommandTreeNodeType::new); + l.add(CommandTreeNodeTypes.ENTITY_ANCHOR, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k))); + l.add(CommandTreeNodeTypes.ENTITY_SUMMON, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k))); + l.add(CommandTreeNodeTypes.FLOAT, k -> SpongeRangeCommandTreeNodeType.createFrom(k, new FloatArgumentSerializer())); + l.add(CommandTreeNodeTypes.FLOAT_RANGE, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k))); + l.add(CommandTreeNodeTypes.FUNCTION, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k))); + l.add(CommandTreeNodeTypes.GAME_PROFILE, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k))); + l.add(CommandTreeNodeTypes.INTEGER, k -> SpongeRangeCommandTreeNodeType.createFrom(k, new IntegerArgumentSerializer())); + l.add(CommandTreeNodeTypes.INT_RANGE, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k))); + l.add(CommandTreeNodeTypes.ITEM_ENCHANTMENT, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k))); + l.add(CommandTreeNodeTypes.ITEM_PREDICATE, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k))); + l.add(CommandTreeNodeTypes.ITEM_SLOT, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k))); + l.add(CommandTreeNodeTypes.ITEM_STACK, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k))); + l.add(CommandTreeNodeTypes.LONG, k -> SpongeRangeCommandTreeNodeType.createFrom(k, new LongArgumentSerializer())); + l.add(CommandTreeNodeTypes.MESSAGE, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k))); + l.add(CommandTreeNodeTypes.MOB_EFFECT, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k))); + l.add(CommandTreeNodeTypes.NBT_COMPOUND_TAG, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k))); + l.add(CommandTreeNodeTypes.NBT_PATH, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k))); + l.add(CommandTreeNodeTypes.NBT_TAG, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k))); + l.add(CommandTreeNodeTypes.OBJECTIVE, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k))); + l.add(CommandTreeNodeTypes.OBJECTIVE_CRITERIA, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k))); + l.add(CommandTreeNodeTypes.OPERATION, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k))); + l.add(CommandTreeNodeTypes.PARTICLE, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k))); + l.add(CommandTreeNodeTypes.RESOURCE_LOCATION, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k))); + l.add(CommandTreeNodeTypes.ROTATION, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k))); + l.add(CommandTreeNodeTypes.SCORE_HOLDER, k -> new SpongeAmountCommandTreeNodeType(k, ScoreHolderArgument.scoreHolder(), ScoreHolderArgument.scoreHolders())); + l.add(CommandTreeNodeTypes.SCOREBOARD_SLOT, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k))); + l.add(CommandTreeNodeTypes.STRING, SpongeStringCommandTreeNodeType::new); + l.add(CommandTreeNodeTypes.SWIZZLE, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k))); + l.add(CommandTreeNodeTypes.TEAM, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k))); + l.add(CommandTreeNodeTypes.TIME, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k))); + l.add(CommandTreeNodeTypes.UUID, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k))); + l.add(CommandTreeNodeTypes.VEC2, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k))); + l.add(CommandTreeNodeTypes.VEC3, k -> new SpongeBasicCommandTreeNodeType(k, fn.apply(k))); }); } @@ -491,12 +491,12 @@ public static RegistryLoader clientCompletionType() { }); } - public static RegistryLoader clientSuggestionProvider() { + public static RegistryLoader clientSuggestionProvider() { return RegistryLoader.of(l -> { - l.add(ClientSuggestionProviders.ALL_RECIPES, k -> (ClientSuggestionProvider) SuggestionProviders.ALL_RECIPES); - l.add(ClientSuggestionProviders.AVAILABLE_BIOMES, k -> (ClientSuggestionProvider) SuggestionProviders.AVAILABLE_BIOMES); - l.add(ClientSuggestionProviders.AVAILABLE_SOUNDS, k -> (ClientSuggestionProvider) SuggestionProviders.AVAILABLE_SOUNDS); - l.add(ClientSuggestionProviders.SUMMONABLE_ENTITIES, k -> (ClientSuggestionProvider) SuggestionProviders.SUMMONABLE_ENTITIES); + l.add(CommandCompletionProviders.ALL_RECIPES, k -> (CommandCompletionProvider) SuggestionProviders.ALL_RECIPES); + l.add(CommandCompletionProviders.AVAILABLE_BIOMES, k -> (CommandCompletionProvider) SuggestionProviders.AVAILABLE_BIOMES); + l.add(CommandCompletionProviders.AVAILABLE_SOUNDS, k -> (CommandCompletionProvider) SuggestionProviders.AVAILABLE_SOUNDS); + l.add(CommandCompletionProviders.SUMMONABLE_ENTITIES, k -> (CommandCompletionProvider) SuggestionProviders.SUMMONABLE_ENTITIES); }); } diff --git a/src/mixins/java/org/spongepowered/common/mixin/api/mcp/commands/synchronization/SuggestionProviders_WrapperMixin_API.java b/src/mixins/java/org/spongepowered/common/mixin/api/mcp/commands/synchronization/SuggestionProviders_WrapperMixin_API.java index c1e412256ba..8d67479fc2a 100644 --- a/src/mixins/java/org/spongepowered/common/mixin/api/mcp/commands/synchronization/SuggestionProviders_WrapperMixin_API.java +++ b/src/mixins/java/org/spongepowered/common/mixin/api/mcp/commands/synchronization/SuggestionProviders_WrapperMixin_API.java @@ -33,7 +33,7 @@ import org.checkerframework.checker.nullness.qual.NonNull; import org.spongepowered.api.command.CommandCompletion; import org.spongepowered.api.command.parameter.CommandContext; -import org.spongepowered.api.command.registrar.tree.ClientSuggestionProvider; +import org.spongepowered.api.command.registrar.tree.CommandCompletionProvider; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.common.command.SpongeCommandCompletion; @@ -44,7 +44,7 @@ import java.util.stream.Collectors; @Mixin(SuggestionProviders.Wrapper.class) -public abstract class SuggestionProviders_WrapperMixin_API implements ClientSuggestionProvider { +public abstract class SuggestionProviders_WrapperMixin_API implements CommandCompletionProvider { // @formatter:off @Shadow public abstract CompletableFuture shadow$getSuggestions( diff --git a/testplugins/src/main/java/org/spongepowered/test/command/ClientSuggestionsRawCommandTest.java b/testplugins/src/main/java/org/spongepowered/test/command/ClientSuggestionsRawCommandTest.java index abcf51e8d8d..2a649cf9b59 100644 --- a/testplugins/src/main/java/org/spongepowered/test/command/ClientSuggestionsRawCommandTest.java +++ b/testplugins/src/main/java/org/spongepowered/test/command/ClientSuggestionsRawCommandTest.java @@ -34,8 +34,8 @@ import org.spongepowered.api.command.CommandResult; import org.spongepowered.api.command.exception.CommandException; import org.spongepowered.api.command.parameter.ArgumentReader; -import org.spongepowered.api.command.registrar.tree.ClientCompletionKeys; -import org.spongepowered.api.command.registrar.tree.ClientSuggestionProviders; +import org.spongepowered.api.command.registrar.tree.CommandTreeNodeTypes; +import org.spongepowered.api.command.registrar.tree.CommandCompletionProviders; import org.spongepowered.api.command.registrar.tree.CommandTreeNode; import java.util.Collections; @@ -79,9 +79,9 @@ public boolean canExecute(@NonNull final CommandCause cause) { @Override public CommandTreeNode.Root commandTree() { return CommandTreeNode.root() - .child("s1", ClientCompletionKeys.RESOURCE_LOCATION.get().createNode() + .child("s1", CommandTreeNodeTypes.RESOURCE_LOCATION.get().createNode() .executable() - .suggestions(ClientSuggestionProviders.ALL_RECIPES)); + .completions(CommandCompletionProviders.ALL_RECIPES)); } } diff --git a/testplugins/src/main/java/org/spongepowered/test/command/RawCommandTest.java b/testplugins/src/main/java/org/spongepowered/test/command/RawCommandTest.java index 79359ab0f2a..222eba34bef 100644 --- a/testplugins/src/main/java/org/spongepowered/test/command/RawCommandTest.java +++ b/testplugins/src/main/java/org/spongepowered/test/command/RawCommandTest.java @@ -24,7 +24,6 @@ */ package org.spongepowered.test.command; -import com.google.common.collect.ImmutableList; import net.kyori.adventure.identity.Identity; import net.kyori.adventure.text.Component; import org.checkerframework.checker.nullness.qual.NonNull; @@ -34,8 +33,8 @@ import org.spongepowered.api.command.CommandResult; import org.spongepowered.api.command.exception.CommandException; import org.spongepowered.api.command.parameter.ArgumentReader; -import org.spongepowered.api.command.registrar.tree.ClientCompletionKeys; import org.spongepowered.api.command.registrar.tree.CommandTreeNode; +import org.spongepowered.api.command.registrar.tree.CommandTreeNodeTypes; import java.util.Arrays; import java.util.List; @@ -45,7 +44,7 @@ public class RawCommandTest implements Command.Raw { - private final List suggestions = Arrays.asList("eggs", "bacon", "spam") + private final List completions = Arrays.asList("eggs", "bacon", "spam") .stream() .map(CommandCompletion::of) .collect(Collectors.toList()); @@ -63,7 +62,7 @@ public CommandResult process(final @NonNull CommandCause cause, final ArgumentRe @Override public List complete(final @NonNull CommandCause cause, final ArgumentReader.@NonNull Mutable arguments) throws CommandException { if (arguments.remaining().endsWith(" ")) { - return this.suggestions; + return this.completions; } String word = ""; @@ -72,7 +71,7 @@ public List complete(final @NonNull CommandCause cause, final arguments.skipWhitespace(); } final String finalWord = word; - return this.suggestions.stream().filter(x -> x.completion().startsWith(finalWord.toLowerCase(Locale.ROOT))).collect(Collectors.toList()); + return this.completions.stream().filter(x -> x.completion().startsWith(finalWord.toLowerCase(Locale.ROOT))).collect(Collectors.toList()); } @Override @@ -100,10 +99,12 @@ public Component usage(@NonNull final CommandCause cause) { @Override public CommandTreeNode.@NonNull Root commandTree() { - final CommandTreeNode.Argument firstStringKey = ClientCompletionKeys.STRING.get().createNode().customSuggestions().executable(); + final CommandTreeNode.Argument firstStringKey = CommandTreeNodeTypes.STRING.get().createNode() + .customCompletions().executable(); final CommandTreeNode.Argument secondStringKey = - ClientCompletionKeys.STRING.get().createNode().customSuggestions().executable().redirect(firstStringKey); + CommandTreeNodeTypes.STRING.get().createNode().customCompletions().executable().redirect(firstStringKey); firstStringKey.child("s2", secondStringKey); return CommandTreeNode.root().executable().child("s1", firstStringKey); } + }