Система слушателей событий
Подписка слушателей при помощи функции:
@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