예제 #1
0
  @Override
  public final boolean onCommand(
      final CommandSender sender, final Command cmd, final String label, final String[] args) {
    if (!cmd.getName().equalsIgnoreCase("giveall")) return false;
    if (!(sender instanceof Player)) {
      sender.sendMessage(
          ChatColor.BOLD.toString() + ChatColor.DARK_RED + "Du musst ein Spieler sein");
      return true;
    }
    if (args.length != 1) {
      sender.sendMessage(
          ChatColor.BOLD
              + "Verwendung: "
              + ChatColor.RESET
              + ChatColor.DARK_RED
              + "/Giveall <Menge>");
      return true;
    }
    try {
      if (Integer.parseInt(args[0]) < 1) {
        sender.sendMessage(ChatColor.DARK_RED + "Menge muss über 0 sein");
        return true;
      }
    } catch (NumberFormatException ex) {
      sender.sendMessage(
          ChatColor.BOLD
              + "Verwendung: "
              + ChatColor.RESET
              + ChatColor.DARK_RED
              + "/Giveall <Menge>");
      return true;
    }
    final Player p = (Player) sender;
    if (p.getItemInHand() == null || p.getItemInHand().getType() == Material.AIR) {
      p.sendMessage(
          ChatColor.BOLD.toString() + ChatColor.DARK_RED + "Du musst ein Item in der Hand halten!");
      return true;
    }
    final ItemStack is = p.getItemInHand().clone();
    is.setAmount(Integer.parseInt(args[0]));

    final BaseComponent[] broadcastMessage = getBaseComponentMessage(p, is);
    if (broadcastMessage != null) Bukkit.spigot().broadcast(broadcastMessage);

    for (final Player player : Bukkit.getOnlinePlayers()) player.getInventory().addItem(is);
    return true;
  }