Skip to content

Event listener

Register an event listener

Using the listen function

You can register an event listener by calling the following function anywhere you want.

listen<EventClass> {
    doSomething()
}

The event instance will be passed in as it, but you can change this:

listen<PlayerMoveEvent> { moveEvent ->
    moveEvent.player.kick(literalText("Do not move!"))
    broadcast("${moveEvent.player} moved :/")
}

The listen function returns the Listener instance, which allows you to perform operations on it later.

For example you could listen to a specific event temporarily:

val moveEventListener = listen<PlayerMoveEvent> {
    it.player.kick(literalText("Do not move!"))
}

// e.g. unregister the listener after some time
taskRunLater(20 * 5) {
    moveEventListener.unregister()
}

Register an existing Listener instance

There is an extension function which registers a Listener instance:

listenerInstance.register()

Unregister a Listener

Just call listenerInstance.unregister()