throw new CommandUsageException("Too few arguments.", getUsage(args, level, cmd)); throw new CommandUsageException("Too many arguments.", getUsage(args, level, cmd)); for (char flag : context.getFlags()) { if (!newFlags.contains(flag)) { throw new CommandUsageException("Unknown flag: " + flag, getUsage(args, level, cmd));
@Override public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { try { Actor actor = wrapCommandSender(sender); try { commands.execute(cmd.getName(), args, actor, actor); } catch (Throwable t) { Throwable next = t; do { WorldGuard.getInstance().getExceptionConverter().convert(next); next = next.getCause(); } while (next != null); throw t; } } catch (CommandPermissionsException e) { sender.sendMessage(ChatColor.RED + "You don't have permission."); } catch (MissingNestedCommandException e) { sender.sendMessage(ChatColor.RED + e.getUsage()); } catch (CommandUsageException e) { sender.sendMessage(ChatColor.RED + e.getMessage()); sender.sendMessage(ChatColor.RED + e.getUsage()); } catch (WrappedCommandException e) { sender.sendMessage(ChatColor.RED + e.getCause().getMessage()); } catch (CommandException e) { sender.sendMessage(ChatColor.RED + e.getMessage()); } return true; }
throw new CommandUsageException("Too few arguments.", getUsage(args, level, cmd)); throw new CommandUsageException("Too many arguments.", getUsage(args, level, cmd)); for (char flag : context.getFlags()) { if (!newFlags.contains(flag)) { throw new CommandUsageException("Unknown flag: " + flag, getUsage(args, level, cmd)); } else if (e.getCause() instanceof CommandException) { if(e.getCause() instanceof CommandUsageException) { ((CommandUsageException) e.getCause()).offerUsage(getUsage(args, argsCount, method.getAnnotation(Command.class)));
/** * Called on a command. */ @Override public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) { try { commands.execute(cmd.getName(), args, sender, sender); } catch (CommandPermissionsException e) { sender.sendMessage(ChatColor.RED + "You don't have permission."); } catch (MissingNestedCommandException e) { sender.sendMessage(ChatColor.RED + e.getUsage()); } catch (CommandUsageException e) { sender.sendMessage(ChatColor.RED + e.getMessage()); sender.sendMessage(ChatColor.RED + e.getUsage()); } catch (WrappedCommandException e) { if (e.getCause() instanceof NumberFormatException) { sender.sendMessage(ChatColor.RED + "Number expected, string received instead."); } else { sender.sendMessage(ChatColor.RED + "An error has occurred. See console."); e.printStackTrace(); } } catch (CommandException e) { sender.sendMessage(ChatColor.RED + e.getMessage()); } return true; }
/** * Return the argument at the given index as a String. * @throws CommandException if the argument is missing */ public String string(int index) throws CommandException { if(index >= parsedArgs.size()) { throw new CommandUsageException("Missing argument"); } return getString(index); }
public String string(int start, int end) throws CommandException { if(start >= parsedArgs.size() || end >= parsedArgs.size()) { throw new CommandUsageException("Missing argument"); } return getString(start, end); }
/** * Return the rest of the command line, starting at the given argument index. * * Any flags that appear after the given index are included in the result. * * @throws CommandException if the argument is missing */ public String joinedStrings(int initialIndex) throws CommandException { if(initialIndex >= originalArgIndices.size()) { throw new CommandUsageException("Missing argument"); } return getJoinedStrings(initialIndex); }