- Баллы
- 173
Бывают такие ситуации, где надо, допустим, отключить обработчик во время игры, и в этой ситуации нам поможет HandlerList.
Что такое HandlerList, и с чем его едят ?
Через HandlerList
Вот наши методы в самом классе:
Пример из моей "кодерской" жизни:
Через события (Event)
Вот методы, которых можно найти в эвентах через getHandlerList():
Пример:
И всё на этом, с вами был Бейкер и надеюсь этот тутор вам поможет в будущем :3
P.S. Не пишите ,что я очень плохо веду туториалы, сам знаю.
P.S.S. Кто это все знал и хочет высказать типо : "ЙА ИТА ВСЯ ЗНАЮ" прошу не писать. Если это захотели наши девелоперы, то простите, просто есть такие люди, которые прям так и пишут.
Что такое HandlerList, и с чем его едят ?
Через HandlerList
Вот наши методы в самом классе:
Код:
public static void unregisterAll(Plugin plugin) // Убирает всех обработчиков какого-либо плагина.
public static void unregisterAll(Listener listener) // Убирает всех обработчиков с слушателя
Пример из моей "кодерской" жизни:
Код:
public void restart(){
for(Player players: Bukkit.getOnlinePlayers()){
players.getWorld().createExplosion(players.getLocation(), 10);
}
HandlerList.unregisterAll(this);
this.onEnable();
}
Через события (Event)
Вот методы, которых можно найти в эвентах через getHandlerList():
Код:
public void unregister(Plugin plugin) // Удаляет эвент-обработчик плагина.
public void unregister(Listener listener) //Удаляет эвент-обработчик с слушателя
Код:
@EventHandler
public void onPlayerChat(AsyncPlayerChatEvent event){
Player player = event.getPlayer();
if(event.getMessage() != null){
player.sendMessage("[TEST_PLUGIN]" + "ЧУВАК! ДАЙ ДЕНЬГИ НА ВОДКУ!");
}
if(event.getMessage().equals("STOP")){
player.sendMessage("[TEST_PLUGIN]" + "окай хозяин :((");
event.getHandlerList().unregister(this);
//Теперь эта часть обработчика не обрабатывается, и наконец, он мне не будет писать глупые слова :D
}
}
И всё на этом, с вами был Бейкер и надеюсь этот тутор вам поможет в будущем :3
P.S. Не пишите ,что я очень плохо веду туториалы, сам знаю.
P.S.S. Кто это все знал и хочет высказать типо : "ЙА ИТА ВСЯ ЗНАЮ" прошу не писать. Если это захотели наши девелоперы, то простите, просто есть такие люди, которые прям так и пишут.