Skip to content
ZERNYTH.

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

EventCancellableAdds
PlayerJoinEventNo
PlayerQuitEventNo
PlayerChatEventYesgetMessage, setMessage
PlayerMoveEventYesgetFrom, getTo
PlayerInteractEventYesgetAction
BlockBreakEventYesgetBlockLocation
BlockPlaceEventYesgetBlockLocation

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.

Was this page helpful?