From 66357b8adb88ea71e4ba29350b8fb188ea548069 Mon Sep 17 00:00:00 2001 From: dordsor21 Date: Tue, 16 Nov 2021 12:49:54 +0000 Subject: [PATCH] Fix RichParser assuming it should be used if its prefix is short than, and contained by, the input --- .../core/extension/factory/parser/RichParser.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/worldedit-core/src/main/java/com/fastasyncworldedit/core/extension/factory/parser/RichParser.java b/worldedit-core/src/main/java/com/fastasyncworldedit/core/extension/factory/parser/RichParser.java index 76ef9c463..617143495 100644 --- a/worldedit-core/src/main/java/com/fastasyncworldedit/core/extension/factory/parser/RichParser.java +++ b/worldedit-core/src/main/java/com/fastasyncworldedit/core/extension/factory/parser/RichParser.java @@ -100,11 +100,14 @@ public abstract class RichParser extends InputParser implements AliasedPar @Override public E parseFromInput(String input, ParserContext context) throws InputParseException { + int i = input.indexOf('['); + // Rich parser requires arguments, else, it should not be used + if (i == -1) { + return null; + } + String inputPrefix = input.substring(0, i); for (String prefix : this.prefixes) { - if (!input.startsWith(prefix)) { - continue; - } - if (input.length() < prefix.length()) { + if (!inputPrefix.equals(prefix)) { continue; } String[] arguments = extractArguments(input.substring(prefix.length()), true);