Skip to main content

PlayerEvents

PlayerEvents posts callbacks around player actions. Each callback receives an event object; access the player with event.entity.

Lifecycle

MethodWhen
loggedIn { event -> ... }A player joins.
postLoggedIn { ... }After the login handling finishes.
loggedOut { ... }A player leaves.
postLoggedOut { ... }After the logout handling finishes.
respawned { ... }A player respawns.

Per tick

MethodWhen
tick { event -> ... }Every tick for each player.
postTick { ... }After the per-player tick handling.

Interaction

MethodWhen
chat { ... }A player sends a chat message.
advancement { ... }A player earns an advancement.
chestOpened / chestClosedA player opens or closes a container.

The post* variants run after the engine's own handling of the same event.

Example

PlayerEvents.loggedIn { event ->
def player = event.entity as ServerPlayer
player.sendSystemMessage(Component.literal("Welcome back!"))
}