- Баллы
- 76
- Имя в Minecraft
- _Andoroid_
Вообщем есть код:
Когда я прописал команду /console on меня добавило в List spies.
Когда я пропишу эту команду ещ1 раз, мне вывоит что консоль уже включена и к консль серева выводит 0 а потом 1. Тоесть в методе onCommand размер spies = 1, а одновременно в sendCommandInfo = 0.
Как исправить?
Код:
public static List<Player> spies = new ArrayList<>();
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if(command.getName().equalsIgnoreCase("console")) {
if (args[0].equalsIgnoreCase("on")) {
if (!spies.contains(player)) {
spies.add(player); //Внимательно тут (пункт 1)
player.sendMessage("§f[§6CONSOLE§f] §aКонсоль успешно включена!");
} else {
Bukkit.getLogger().info(Integer.toString(spies.size()));
player.sendMessage("§f[§6CONSOLE§f] §aВы уже включили консоль!");
}
return true;
}
return false;
}
@EventHandler
public void sendCommandInfo(PlayerCommandPreprocessEvent event) {
Player player = event.getPlayer();
Bukkit.getLogger().info(Integer.toString(spies.size())); //Тут тоже внимательно (пункт 2)
for (Player p : spies) {
p.sendMessage("§f[§6CONSOLE§f] §2§l" + event.getPlayer().getDisplayName() + "§7 использовал команду: §3" + event.getMessage());
}
}
}
Когда я прописал команду /console on меня добавило в List spies.
Когда я пропишу эту команду ещ1 раз, мне вывоит что консоль уже включена и к консль серева выводит 0 а потом 1. Тоесть в методе onCommand размер spies = 1, а одновременно в sendCommandInfo = 0.
Как исправить?
Последнее редактирование: