From 300077eb13fd9258cb9c697c7273e0aaeffde684 Mon Sep 17 00:00:00 2001 From: Jake Potrebic Date: Tue, 25 Feb 2025 20:00:59 -0800 Subject: [PATCH] make CustomArgumentType use parse(reader,source) --- .../brigadier/argument/VanillaArgumentProviderImpl.java | 5 +++++ .../brigadier/argument/WrappedArgumentCommandNode.java | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/paper-server/src/main/java/io/papermc/paper/command/brigadier/argument/VanillaArgumentProviderImpl.java b/paper-server/src/main/java/io/papermc/paper/command/brigadier/argument/VanillaArgumentProviderImpl.java index 3cfe3194269a..b41d4a1fc1d0 100644 --- a/paper-server/src/main/java/io/papermc/paper/command/brigadier/argument/VanillaArgumentProviderImpl.java +++ b/paper-server/src/main/java/io/papermc/paper/command/brigadier/argument/VanillaArgumentProviderImpl.java @@ -366,6 +366,11 @@ public P parse(final StringReader reader) throws CommandSyntaxException { return this.converter.convert(this.nmsBase.parse(reader)); } + @Override + public P parse(final StringReader reader, final S source) throws CommandSyntaxException { + return this.converter.convert(this.nmsBase.parse(reader, source)); + } + @Override public CompletableFuture listSuggestions(final CommandContext context, final SuggestionsBuilder builder) { return this.nmsBase.listSuggestions(context, builder); diff --git a/paper-server/src/main/java/io/papermc/paper/command/brigadier/argument/WrappedArgumentCommandNode.java b/paper-server/src/main/java/io/papermc/paper/command/brigadier/argument/WrappedArgumentCommandNode.java index c59bbd90fdf0..a66d907098d5 100644 --- a/paper-server/src/main/java/io/papermc/paper/command/brigadier/argument/WrappedArgumentCommandNode.java +++ b/paper-server/src/main/java/io/papermc/paper/command/brigadier/argument/WrappedArgumentCommandNode.java @@ -46,7 +46,7 @@ public WrappedArgumentCommandNode( @Override public void parse(final StringReader reader, final CommandContextBuilder contextBuilder) throws CommandSyntaxException { final int start = reader.getCursor(); - final API result = this.pureArgumentType.parse(reader); // Use the api argument parser + final API result = this.pureArgumentType.parse(reader, contextBuilder.getSource()); // Use the api argument parser final ParsedArgument parsed = new ParsedArgument<>(start, reader.getCursor(), result); // Return an API parsed argument instead. contextBuilder.withArgument(this.getName(), parsed);