data class ManagedEventHandle( val id: Long, val eventClass: Class<*> )Managed event listener handle — returned to scripts when registering a native listener. Can be used to manually unregister the listener before reload.
data class ManagedEventHandle( val id: Long, val eventClass: Class<*> )Managed event listener handle — returned to scripts when registering a native listener. Can be used to manually unregister the listener before reload.
interface ManagedListenerProviderPlatform-provided implementation of managed event listener registry. Each platform (Paper, Fabric, NeoForge) sets [provider] during initialization.
Managed listeners are automatically cleaned up on reload (GLOBAL scope persists, WORLD/SERVER_CACHE scope is cleared, all listeners cleared on full reload).
@Volatile
@JvmField
@Volatile @JvmField var provider: ManagedListenerProvider?Platform sets this during initialization (e.g., PaperManagedEvents.initialize()). Must be set before any script calls [registerEvent].
inline fun <reified T : Any> registerEvent(priority: Int = 2, ignoreCancelled: Boolean = false, handler: (T) -> Unit): ManagedEventHandleRegister a managed native event listener.
The listener is automatically cleaned up on /katton reload for WORLD/SERVER_CACHE scopes. GLOBAL scope listeners persist across reloads until manually [unregisterEvent]ed.
| Parameter | Description |
|---|---|
T | The native event class (e.g., org.bukkit.event.player.PlayerMoveEvent) |
priority | Event priority (0=LOWEST, 1=LOW, 2=NORMAL, 3=HIGH, 4=HIGHEST, 5=MONITOR) |
ignoreCancelled | If true, the handler is not called for cancelled events |
handler | The callback receiving the typed event |
A handle that can be used with [unregisterEvent] to manually remove the listener
fun unregisterEvent(handle: ManagedEventHandle)Manually unregister a managed listener created by [registerEvent].
fun clearManagedByScope(scope: ScriptPackScope)Unregister all managed listeners registered under [scope]. Called by [top.katton.Katton.clearWorldAndServerEvents].
fun clearAllManaged()Unregister ALL managed listeners. Called on full reload or server shutdown.