← Back to Roadmap
Events
20 minListen 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
| Event | When it fires |
|---|---|
| PlayerConnectEvent | Player joins server |
| PlayerDisconnectEvent | Player leaves |
| PlayerChatEvent | Player sends chat |
| BlockBreakEvent | Block is broken |
| BlockPlaceEvent | Block is placed |