Вопрос как сделать чтобы при написании команды 1-ый раз, 2-ой раз она не выполнялась!?

sleinexxx

Пользователь
Сообщения
69
хочу написсать плагин как на вайме, нa секретную комманду vime.
Как сделать что бы при написании команды vime 1-ый раз она выполнялась, а 2-ой раз нет?
вот код:
private Main plugin;

public vimecommand (Main plugin) {
this.plugin = plugin;
plugin.getCommand("Vime").setExecutor(this);
}


public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
if(!(sender instanceof Player)) {
sender.sendMessage("This command only player!");
return true;
}

Player p = (Player) sender;
if(p.hasPermission("vime.use")) {
p.sendMessage(ChatColor.RED + " ADMIN ");
p.sendMessage("");
p.sendMessage(ChatColor.GRAY + "Ты нашел секретную комманду!");
p.sendMessage(ChatColor.GRAY + "Тебе было начислено: " + ChatColor.GREEN + "50exp");
p.giveExp(50);
return true;
} else {
p.sendMessage(ChatColor.RED + "Ты не имеешь прав на использование этой комманды!");
}
return false;
}

}
 
Во первых, не создавать несколько одинаковых тем.
Во вторых, запиши куда-нибудь игроков, вводивших команду. В БД, YML, JSON, XML, без разницы, хоть в TXT файл. Тебе нужно просто проверять, есть ли игрок в некотором списке, а список нужно хранить.

Java:
Set<String> playerList = //получаем список, например, при старте плагина

//...
    if (!playerList.contains(player.getName())) {
        //добавляем опыт и т.д.
        playerList.add(player.getName());
    }
//...

Не забудь потом сохранить свой список.
 
Во первых, не создавать несколько одинаковых тем.
Во вторых, запиши куда-нибудь игроков, вводивших команду. В БД, YML, JSON, XML, без разницы, хоть в TXT файл. Тебе нужно просто проверять, есть ли игрок в некотором списке, а список нужно хранить.

Java:
Set<String> playerList = //получаем список, например, при старте плагина

//...
    if (!playerList.contains(player.getName())) {
        //добавляем опыт и т.д.
        playerList.add(player.getName());
    }
//...

Не забудь потом сохранить свой список.
А как создать сам список? я прост ниче не знаю?
 
Ну у тебя например есть условный players.txt.
Создаешь список Set<String> playerList = new HashSet<>();, далее, построчно считаешь из файла ники и добавляешь их в этот список playerList.add(ник);, ничего сложного.
 
Ну у тебя например есть условный players.txt.
Создаешь список Set<String> playerList = new HashSet<>();, далее, построчно считаешь из файла ники и добавляешь их в этот список playerList.add(ник);, ничего сложного.
Щас попробую

q20w26a,
а players создавать в самом проекте или в src, или в папке где главный класс? Set<String> playerList = new HashSet<>(); писать нужно в главный класс или в класс самой комманды? а вот это куда playerList.add(ник); ????????
 
Последнее редактирование:
Советую выучить Java.

Файл с игроками можно создать кодом.
И я же выше показал, как добавлять игроков в список
Привет, такой вопрос. Я добавляю список игроков в файл, удаляю их с помощью .replaceAll, но если ник будет qwe123 и qwe123456, то от них останется 456, как этого избежать? Пробовал config.set("nick", null) не получается
 
Советую выучить Java.

Файл с игроками можно создать кодом.
И я же выше показал, как добавлять игроков в список
Ну вроде полусилось, комманда после 2 раза не работает, а значит номрально. И где посоветушь выучить мне нормально java?
 
Ты теперь при выключении плагина сохраняй в файл свой список, или уже сделал?

где посоветушь выучить мне нормально java?

Никогда не думал что посоветую, но посмотри Youtube. Есть еще Metaint, бесплатные лекции на Javarush (тут скорее дополнительная информация), ну и Шилдт - руководство Java для начинающих. Еще Вводный курс в Java 8, Хорстман, 2014. Тут расскажут про лямбды, функциональное программирование (оно немного не такое), JavaFX, Stream API и еще пару прикольных штук.
Объединено

Привет, такой вопрос. Я добавляю список игроков в файл, удаляю их с помощью .replaceAll, но если ник будет qwe123 и qwe123456, то от них останется 456, как этого избежать? Пробовал config.set("nick", null) не получается
А зачем replaceAll?
 
Ты теперь при выключении плагина сохраняй в файл свой список, или уже сделал?



Никогда не думал что посоветую, но посмотри Youtube. Есть еще Metaint, бесплатные лекции на Javarush (тут скорее дополнительная информация), ну и Шилдт - руководство Java для начинающих. Еще Вводный курс в Java 8, Хорстман, 2014. Тут расскажут про лямбды, функциональное программирование (оно немного не такое), JavaFX, Stream API и еще пару прикольных штук.
Объединено


А зачем replaceAll?
ок, попробую
 
Назад
Сверху Снизу