Skip to content

DrainPlayerFromWorldEvent

Package: com.hypixel.hytale.server.core.event.events.player Implements: IEvent<String> Cancellable: No

Dispatched when a player leaves a world. This event fires during world transfers and as part of the disconnect sequence. The world and transform fields are mutable, allowing listeners to override the destination world and the player’s position/rotation when they arrive.

Because the key type is String, this event supports keyed dispatch. Listeners can register for a specific key or use registerGlobal() to receive all dispatches.

FieldTypeAccessorMutableNotes
holderHolder<EntityStore>getHolder()NoThe entity holder for the player leaving the world.
worldWorldgetWorld()YesThe world context. Mutable — can be overridden to control destination.
transformTransformgetTransform()YesThe player’s position and rotation. Mutable — can be overridden to control where the player appears next.
  • Dispatched by World.drainPlayer() (line 941) via eventBus.dispatchFor() using keyed dispatch when a player leaves a world.
// Listen globally for all world departures
getEventRegistry().registerGlobal(DrainPlayerFromWorldEvent.class, event -> {
World world = event.getWorld();
Transform transform = event.getTransform();
// Handle player leaving a world
});
  • AddPlayerToWorldEvent — the counterpart event fired when a player enters a world. This event and AddPlayerToWorldEvent are inverses.
  • PlayerDisconnectEvent — this event may fire before PlayerDisconnectEvent during the disconnect sequence.