From dcbdf0b594db180106e114b4387d93bb40ad55d2 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 24 Aug 2017 01:17:16 -0400 Subject: [PATCH] Support context on @Default! Hooray!!!! @Subcommand("list") @Default public void onFoo(CommandSender sender, @Default("1") Integer page) {} type stuff will now work with /cmd list 2 and /cmd 2 --- .../java/co/aikar/commands/BaseCommand.java | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/core/src/main/java/co/aikar/commands/BaseCommand.java b/core/src/main/java/co/aikar/commands/BaseCommand.java index c14f9084..14ce5eb4 100644 --- a/core/src/main/java/co/aikar/commands/BaseCommand.java +++ b/core/src/main/java/co/aikar/commands/BaseCommand.java @@ -309,16 +309,18 @@ public abstract class BaseCommand { try { CommandOperationContext commandContext = preCommandOperation(issuer, commandLabel, args); - if (args.length == 0) { - executeSubcommand(commandContext, DEFAULT, issuer); - return; + if (args.length > 0) { + CommandSearch cmd = findSubCommand(args); + if (cmd != null) { + execSubcommand = cmd.getCheckSub(); + final String[] execargs = Arrays.copyOfRange(args, cmd.argIndex, args.length); + executeCommand(commandContext, issuer, execargs, cmd.cmd); + return; + } } - CommandSearch cmd = findSubCommand(args); - if (cmd != null) { - execSubcommand = cmd.getCheckSub(); - final String[] execargs = Arrays.copyOfRange(args, cmd.argIndex, args.length); - executeCommand(commandContext, issuer, execargs, cmd.cmd); + if (subCommands.get(DEFAULT) != null) { + executeSubcommand(commandContext, DEFAULT, issuer, args); return; }