Комманда выполняется столько же раз сколько и игроков на сервере, как исправить? Вот код.
Java:
@Override
public void execute(CommandSender commandSender, String[] args) {
if(!(commandSender instanceof ProxiedPlayer))
{
commandSender.sendMessage("§cЭта комманда только для игроков!");
return;
}
for(ProxiedPlayer player : Main.getInstance().getProxy().getPlayers())
{
if(args.length > 1)
{
if(args[0].equalsIgnoreCase(player.getDisplayName()))
{
StringBuilder stringBuilder = new StringBuilder();
String target = args[0];
args[0] = "";
for(String arg : args)
{
stringBuilder.append(arg).append(" ");
}
String newString = stringBuilder.toString();
commandSender.sendMessage("§7Жалоба на игрока §8" + target + "§7 отправлена!");
for(ProxiedPlayer players : Main.getInstance().getProxy().getPlayers())
{
if(players.hasPermission("ZendeX.Admin") || players.hasPermission("ZendeX.Owner") || players.hasPermission("ZendeX.Mod") || players.hasPermission("ZendeX.Helper") || players.hasPermission("ZendeX.JrHelper"))
{
players.sendMessage("§cМодерация §8| §7" + Rank(commandSender) + " " +commandSender.getName() + "§7 подал жалобу на §7" + Rank(player) + " " + player.getName() + "§7 за§f" + newString);
}
}
} else
{
commandSender.sendMessage("§cИгрока не существует!");
}
}else
{
commandSender.sendMessages("§cИспользуйте: /report (Nickname) (Reason)");
}
}
}