Что вы можете сделать, это создать список, содержащий имена игроков, которые уже использовали наборы
List<String> players = new ArrayList<String>();
Тогда всякий раз, когда они используют эту команду, вы проверяете, если игрок находится в списке
boolean isInList = players.contain(yourPlayer.getName());
вы можете проверить, что при обращении с этой командой
if (isInList) {
player.sendMessage("You must die to use this again!");
return true; //To commandExecutor
}
Если игрок не находится в списке, добавьте его в список и дать комплект
players.add(yourPlayer.getName());
//Give the kit
Всякий раз, когда игрок умирает, вы должны попытаться удалить его имя из списка.
@EventHandler
public void onDeath(PlayerDeathEvent e) {
//Remove player from the list
}
Обратите внимание, что внутри onCommand
, у вас есть следующие атрибуты команды: CommandSender sender, Command cmd, String label, String[] args
.
Аргумент отправитель может быть ваш плеер, и вы можете проверить, что на
if (sender instanceof Player) {
Player commandPlayer = (Player) sender;
}
Ницца! Как получить этот список в других классах? – MucaP
Слишком много ложки, но хороший ответ. Как раз в один момент, лучше получить доступ к списку с помощью методов, чем только через статическую переменную. – Kerooker