← Back to Roadmap

Events

20 min

Listen to game events and react to player actions.

Event System

Events fire when things happen in the game. You can listen and react.

Basic Listener

java
public class MyEventListener implements Listener {

@EventHandler public void onPlayerConnect(PlayerConnectEvent event) { ServerPlayer player = event.getPlayer(); player.sendMessage(Component.text("Welcome to the server!")); } }

Registering Listeners

java
@Override
public void setup() {
    getServer().getEventManager()
        .registerListener(new MyEventListener());
}

Event Priority

Control the order listeners execute:

java
@EventHandler(priority = EventPriority.HIGH)
public void onChat(PlayerChatEvent event) {
    // Runs before NORMAL priority listeners
}

Priorities (low to high): LOWEST, LOW, NORMAL, HIGH, HIGHEST

Cancelling Events

Some events can be cancelled:

java
@EventHandler
public void onBlockBreak(BlockBreakEvent event) {
    if (isProtectedArea(event.getPosition())) {
        event.setCancelled(true);
        event.getPlayer().sendMessage(
            Component.text("You cannot break blocks here!")
        );
    }
}

Common Events

EventWhen it fires
PlayerConnectEventPlayer joins server
PlayerDisconnectEventPlayer leaves
PlayerChatEventPlayer sends chat
BlockBreakEventBlock is broken
BlockPlaceEventBlock is placed