data class ManagedEventHandle( val id: Long, val eventClass: Class<*> )Managed event listener handle returned to scripts when registering a native listener. 注册原生事件监听器后返回给脚本的托管监听器句柄。
data class ManagedEventHandle( val id: Long, val eventClass: Class<*> )Managed event listener handle returned to scripts when registering a native listener. 注册原生事件监听器后返回给脚本的托管监听器句柄。
interface ManagedListenerProviderPlatform bridge for managed native event listeners. Paper, Fabric, and NeoForge can provide their own implementation through [provider]. Implementations track scope and environment so integrated client and server listeners can reload independently.
事件会按脚本所有者和作用域记录。WORLD/SERVER_CACHE 作用域会在重载或清理时自动移除, GLOBAL 作用域需要显式注销或在全局清理时移除。
@Volatile
@JvmField
@Volatile @JvmField var provider: ManagedListenerProvider?Active managed-listener provider installed by the current platform. Paper currently initializes this from PaperManagedEvents.initialize().
inline fun <reified T : Any> registerEvent(priority: Int = 2, ignoreCancelled: Boolean = false, handler: (T) -> Unit): ManagedEventHandleRegister a native platform event listener from script code.
Listeners in WORLD/SERVER_CACHE scope are cleaned up during /katton reload. GLOBAL listeners stay active until [unregisterEvent] or a full managed cleanup removes them.
| Parameter | Description |
|---|---|
T | Native event type, for example org.bukkit.event.player.PlayerMoveEvent. |
priority | Event priority. Paper uses 0=LOWEST, 1=LOW, 2=NORMAL, 3=HIGH, 4=HIGHEST, 5=MONITOR. |
ignoreCancelled | When true, cancelled events are ignored when the platform supports that behavior. |
handler | Callback invoked with the native event instance. |
Handle that can be passed to [unregisterEvent].
fun unregisterEvent(handle: ManagedEventHandle)Unregister a listener previously created by [registerEvent].
fun clearManagedByScope(scope: ScriptPackScope)Clear all managed listeners registered under [scope]. Called from [top.katton.Katton.clearWorldAndServerEvents].
fun clearAllManaged()Clear every managed listener from the active provider. Used during full shutdown or global cleanup.