@Command( aliases = {"take"}, usage = "<target> <item[:data]> [amount]", desc = "Take an item", flags = "", min = 2, max = 3) @CommandPermissions({"commandbook.take.other"}) public void take(CommandContext args, CommandSender sender) throws CommandException { ItemStack item = null; int amt = config.defaultItemStackSize; Player target = null; // Two arguments: Player, item type if (args.argsLength() == 2) { target = PlayerUtil.matchSinglePlayer(sender, args.getString(0)); item = matchItem(sender, args.getString(1)); // Three arguments: Player, item type, and item amount } else if (args.argsLength() == 3) { target = PlayerUtil.matchSinglePlayer(sender, args.getString(0)); item = matchItem(sender, args.getString(1)); amt = args.getInteger(2); } if (item == null) { throw new CommandException("Something went wrong parsing the item info!"); } takeItem(sender, item, amt, target); }