Events
Implement Listener, annotate public non-static void methods that take one supported event, and register the listener.
package dev.example;
import dev.zernyth.api.event.EventHandler;
import dev.zernyth.api.event.EventPriority;
import dev.zernyth.api.event.Listener;
import dev.zernyth.api.event.PlayerChatEvent;
import dev.zernyth.api.event.PlayerJoinEvent;
import dev.zernyth.api.plugin.JavaPlugin;
public final class EventsPlugin extends JavaPlugin implements Listener {
@Override
public void onEnable() {
getServer().getPluginManager().registerEvents(this, this);
}
@EventHandler
public void onJoin(PlayerJoinEvent event) {
event.getPlayer().sendMessage("Welcome!");
}
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
public void onChat(PlayerChatEvent event) {
if (event.getMessage().isBlank()) event.setCancelled(true);
}
}Available events
| Event | Cancellable | Adds |
|---|---|---|
PlayerJoinEvent | No | |
PlayerQuitEvent | No | |
PlayerChatEvent | Yes | getMessage, setMessage |
PlayerMoveEvent | Yes | getFrom, getTo |
PlayerInteractEvent | Yes | getAction |
BlockBreakEvent | Yes | getBlockLocation |
BlockPlaceEvent | Yes | getBlockLocation |
Priorities
Handlers run in the order LOWEST, LOW, NORMAL, HIGH, HIGHEST, MONITOR. Writes at MONITOR are rejected.
Cancellation and chat changes apply immediately to the running native event. An exception in one listener does not stop the others. Event objects are only valid during the callback.