- Баллы
- 66
- Имя в Minecraft
- DakEnviy
Я прочитал про итераторы, вставил в свой код, и ничего не работает(team.remove(p); наверняка убирает игрока из redTeam. Если так, то изучайте итераторы.
Вот код:
Код:
Team team = TeamManager.getInstance().getTeam(p);
Team redTeam = TeamManager.getInstance().getTeam("Red", arena);
Team blueTeam = TeamManager.getInstance().getTeam("Blue", arena);
Iterator<Player> liRed = redTeam.getPlayers().iterator();
Iterator<Player> liBlue = blueTeam.getPlayers().iterator();
if (team == redTeam) {
team.setScore(team.getScore() + 1);
arena.sendMessage(MessageType.INFO, p.getName() + " сломал обсидиан! Счёт: " +
"Красные- " + redTeam.getScore() +
" Синие- " + blueTeam.getScore());
if (redTeam.getScore() == 3 && blueTeam.getScore() == 0) {
arena.sendMessage(MessageType.INFO, "Красная команда победила!");
while (liRed.hasNext()) {
Player redPlayer = liRed.next();
redPlayer.sendMessage(ChatColor.GREEN + "==============================");
redPlayer.sendMessage("Металиков заработано:");
redPlayer.sendMessage("");
redPlayer.sendMessage(ChatColor.GREEN + "+10 металиков" + ChatColor.RESET + " - За игру");
redPlayer.sendMessage(ChatColor.GREEN + "+10 металиков" + ChatColor.RESET + " - За победу");
econ.depositPlayer(redPlayer.getName(), 20);
if (redPlayer.hasPermission(vip)) {
econ.depositPlayer(redPlayer.getName(), 2);
redPlayer.sendMessage(ChatColor.GREEN + "+2 металиков" + ChatColor.RESET + " - За " + ChatColor.GOLD + "VIP");
}
if (redPlayer.hasPermission(ultra)) {
econ.depositPlayer(redPlayer.getName(), 5);
redPlayer.sendMessage(ChatColor.GREEN + "+5 металиков" + ChatColor.RESET + " - За " + ChatColor.DARK_PURPLE + "ULTRA");
}
if (redPlayer.hasPermission(hero)) {
econ.depositPlayer(redPlayer.getName(), 15);
redPlayer.sendMessage(ChatColor.GREEN + "+15 металиков" + ChatColor.RESET + " - За " + ChatColor.GREEN + "HERO");
}
redPlayer.sendMessage("");
redPlayer.sendMessage("Ваш баланс: " + ChatColor.GREEN + econ.getBalance(redPlayer.getName()));
redPlayer.sendMessage(ChatColor.GREEN + "==============================");
redTeam.setScore(0);
blueTeam.setScore(0);
arena.removePlayer(p);
team.remove(p);
if (KitManager.getInstance().getKit(p) != null) {
KitManager.getInstance().getKit(p).removeKit(p);
}
arena.restart();
redPlayer.remove();
}
while (liBlue.hasNext()) {
Player bluePlayer = liBlue.next();
bluePlayer.sendMessage(ChatColor.GREEN + "==============================");
bluePlayer.sendMessage("Металиков заработано:");
bluePlayer.sendMessage("");
bluePlayer.sendMessage(ChatColor.GREEN + "+10 металиков" + ChatColor.RESET + " - За игру");
econ.depositPlayer(bluePlayer.getName(), 10);
if (bluePlayer.hasPermission(vip)) {
econ.depositPlayer(bluePlayer.getName(), 2);
bluePlayer.sendMessage(ChatColor.GREEN + "+2 металиков" + ChatColor.RESET + " - За " + ChatColor.GOLD + "VIP");
}
if (bluePlayer.hasPermission(ultra)) {
econ.depositPlayer(bluePlayer.getName(), 5);
bluePlayer.sendMessage(ChatColor.GREEN + "+5 металиков" + ChatColor.RESET + " - За " + ChatColor.DARK_PURPLE + "ULTRA");
}
if (bluePlayer.hasPermission(hero)) {
econ.depositPlayer(bluePlayer.getName(), 15);
bluePlayer.sendMessage(ChatColor.GREEN + "+15 металиков" + ChatColor.RESET + " - За " + ChatColor.GREEN + "HERO");
}
bluePlayer.sendMessage("");
bluePlayer.sendMessage("Ваш баланс: " + ChatColor.GREEN + econ.getBalance(bluePlayer.getName()));
bluePlayer.sendMessage(ChatColor.GREEN + "==============================");
redTeam.setScore(0);
blueTeam.setScore(0);
arena.removePlayer(p);
team.remove(p);
if (KitManager.getInstance().getKit(p) != null) {
KitManager.getInstance().getKit(p).removeKit(p);
}
arena.restart();
bluePlayer.remove();
}
}