Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Сделай переменную и меняй её после того, как событие случилось. Также в евенте сделай проверку на стандартное значение переменнойКод:Bukkit.getPluginManager().registerEvents(new dev(), this);
Код:@EventHandler public void OnPlayerAttack(EntityDamageByEntityEvent e) { if(e.getEntity() instanceof Player && e.getDamager() instanceof Player) { Bukkit.dispatchCommand(Bukkit.getConsoleSender(),"kick "+e.getEntity().getName()+" был кикнут администратором"); e.getDamager().sendMessage(ChatColor.YELLOW + "Вы успешно кикнули данного игрока"); e.setCancelled(true); }
Ну и где он повторяется у тебя? Этот ивент работает только при дамаге ентити.Код:Bukkit.getPluginManager().registerEvents(new dev(), this);
Код:@EventHandler public void OnPlayerAttack(EntityDamageByEntityEvent e) { if(e.getEntity() instanceof Player && e.getDamager() instanceof Player) { Bukkit.dispatchCommand(Bukkit.getConsoleSender(),"kick "+e.getEntity().getName()+" был кикнут администратором"); e.getDamager().sendMessage(ChatColor.YELLOW + "Вы успешно кикнули данного игрока"); e.setCancelled(true); }
Это так не работает, вставляй свои условия в обработчик ивента.Мне нужно чтобы он один раз проверил на дамаг от энтити и больше не проверял
И не используй dispatchCommand, если есть метод уже, костылиКод:Bukkit.getPluginManager().registerEvents(new dev(), this);
Код:@EventHandler public void OnPlayerAttack(EntityDamageByEntityEvent e) { if(e.getEntity() instanceof Player && e.getDamager() instanceof Player) { Bukkit.dispatchCommand(Bukkit.getConsoleSender(),"kick "+e.getEntity().getName()+" был кикнут администратором"); e.getDamager().sendMessage(ChatColor.YELLOW + "Вы успешно кикнули данного игрока"); e.setCancelled(true); }
Так создай статический булеан и делай по нему проверку.Короче мне надо чтобы можно было включать и выключать функцию кика при ударе
public static boolean kickAttack = false;
@EventHandler
void onDamageByEntity(EntityDamageByEntityEvent e) {
if (kickAttack) {
//TODO
}
}
Кому-то видимо нужно подучить элементарное ООПСмотри вот как я могу сделать чтобы командой можно менять с true на false?
В методе onCommand меняй и все, в чем проблема?Смотри вот как я могу сделать чтобы командой можно менять с true на false?
private static boolean flag = false;Смотри вот как я могу сделать чтобы командой можно менять с true на false?
Могу сейчас ошибаться, а перед названием поля тут не нужно писать имя класса?private static boolean flag = false;
public static void toggle() {
flag = !flag;
}
Вставляй это в команду и вызывай метод toggle(), а в слушателе поставь проверку.
ГОВНОКОД! Делай все по разным классам.Как сделать сразу 2 обработчика команд в одном классе? Просто у меня вылезает ошибка когда я пытаюсь это сделать
Никак.Как сделать сразу 2 обработчика команд в одном классе? Просто у меня вылезает ошибка когда я пытаюсь это сделать
Вероятно ты путаешь присвоение значений и создание переменной. При создании переменной нужно явно указывать его тип, что и было показано в моем примере выше, когда я создал статический булиан... это же основы java..c
Могу сейчас ошибаться, а перед названием поля тут не нужно писать имя класса?
Используй код который я дал выше.Появилась проблема - мне надо чтобы при вводе команды вызывался ивент. Но находится обработчик команды не в главном классе.
new TwoClass(this)а как передать ссылку на главный класс?