Skip to Content
ДокументацияСоздание слушателей

Система слушателей событий

Подписка слушателей при помощи функции:

@Override public void onEnable() { this.getServer().getEventBus().subscribe(PlayerJoinEvent.class, event -> { event.setJoinMessage(TextFormat.DARK_GREEN + event.getPlayer().getName() + " joined the game!"); }); this.getServer().getEventBus().subscribe(PlayerQuitEvent.class, event -> { event.setQuitMessage(TextFormat.DARK_GREEN + event.getPlayer().getName() + " left the game!"); }); }

Подписка слушателей во всем классе:

Для высокопроизводительных плагинов используйте обработчики событий через функцию.

import cn.nukkit.event.EventHandler; import cn.nukkit.event.player.PlayerJoinEvent; import cn.nukkit.event.player.PlayerQuitEvent; public class PlayerEventListener { @EventHandler public void onPlayerJoin(PlayerJoinEvent event) { event.setJoinMessage(TextFormat.DARK_GREEN + event.getPlayer().getName() + " joined the game!"); } @EventHandler public void onPlayerJoin(PlayerQuitEvent event) { event.setQuitMessage(TextFormat.DARK_GREEN + event.getPlayer().getName() + " left the game!"); } }
@Override public void onEnable() { this.getServer().getEventBus().subscribe(new PlayerEventListener()); }

Устаревшая система слушателей событий

Данная система обработчиков событий устарела и больше не поддерживается. Однако вы по-прежнему можете использовать плагины, работающие с этой системой.

Подписка слушателей при помощи функции:

@Override public void onEnable() { this.getServer().getPluginManager().subscribeEvent(PlayerJoinEvent.class, event -> { event.setJoinMessage(TextFormat.DARK_GREEN + event.getPlayer().getName() + " joined the game!"); }, this); this.getServer().getPluginManager().subscribeEvent(PlayerQuitEvent.class, event -> { event.setQuitMessage(TextFormat.DARK_GREEN + event.getPlayer().getName() + " left the game!"); }, this); }

Подписка слушателей во всем классе:

import cn.nukkit.event.EventHandler; import cn.nukkit.event.player.PlayerJoinEvent; import cn.nukkit.event.player.PlayerQuitEvent; public class EventListener implements Listener { @EventHandler public void onPlayerJoin(PlayerJoinEvent event) { event.setJoinMessage(TextFormat.DARK_GREEN + event.getPlayer().getName() + " joined the game!"); } @EventHandler public void onPlayerLeave(PlayerQuitEvent event) { event.setQuitMessage(TextFormat.DARK_GREEN + event.getPlayer().getName() + " left the game!"); } }
@Override public void onEnable() { this.getServer().getPluginManager().registerEvents(new EventListener(), this); }
Last updated on