From 1071e7c226a7cab743cc32020158f8598e1281e1 Mon Sep 17 00:00:00 2001 From: Jesse Boyd Date: Thu, 14 Nov 2019 17:24:10 +0000 Subject: [PATCH] Print help on invalid arg --- .../extension/platform/PlatformCommandManager.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/PlatformCommandManager.java b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/PlatformCommandManager.java index 3aa95b99b..9ef4e4d0d 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/PlatformCommandManager.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/PlatformCommandManager.java @@ -107,6 +107,7 @@ import com.sk89q.worldedit.command.argument.ZonedDateTimeConverter; import com.sk89q.worldedit.command.util.CommandPermissions; import com.sk89q.worldedit.command.util.CommandQueuedCondition; import com.sk89q.worldedit.command.util.PermissionCondition; +import com.sk89q.worldedit.command.util.PrintCommandHelp; import com.sk89q.worldedit.command.util.SubCommandPermissionCondition; import com.sk89q.worldedit.entity.Entity; import com.sk89q.worldedit.entity.Player; @@ -704,7 +705,6 @@ public final class PlatformCommandManager { exceptionConverter.convert(next); next = next.getCause(); } while (next != null); - throw t; } } catch (ConditionFailedException e) { @@ -734,6 +734,8 @@ public final class PlatformCommandManager { .color(TextColor.RED) .append(e.getRichMessage()) .build()); + List argList = parseArgs(event.getArguments()).map(Substring::getSubstring).collect(Collectors.toList()); + printUsage(actor, argList); } catch (Throwable t) { handleUnknownException(actor, t); } finally { @@ -775,6 +777,11 @@ public final class PlatformCommandManager { event.setCancelled(true); } + private void printUsage(Actor actor, List arguments) { + PrintCommandHelp.help(arguments, 0, false, + getCommandManager(), actor, "//help"); + } + private MemoizingValueAccess initializeInjectedValues(Arguments arguments, Actor tmp) { InjectedValueStore store = MapBackedValueStore.create(); Actor actor = wrapActor(tmp, store);