Skip to content
On this page
通用

ManagedEvents

top.katton.api.event.managedcommon/src/main/kotlin/top/katton/api/event/managed/ManagedEvents.kt
Managed event listener handle returned to scripts when registering a native listener. 注册原生事件监听器后返回给脚本的托管监听器句柄。

ManagedEventHandle

ManagedEventHandle通用数据类
kotlin
data class ManagedEventHandle( val id: Long, val eventClass: Class<*> )

Managed event listener handle returned to scripts when registering a native listener. 注册原生事件监听器后返回给脚本的托管监听器句柄。

ManagedListenerProvider

ManagedListenerProvider通用接口
kotlin
interface ManagedListenerProvider

Platform 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 作用域需要显式注销或在全局清理时移除。

provider

provider通用属性
kotlin
@Volatile
@JvmField
@Volatile @JvmField var provider: ManagedListenerProvider?

Active managed-listener provider installed by the current platform. Paper currently initializes this from PaperManagedEvents.initialize().

registerEvent

registerEvent通用函数
kotlin
inline fun <reified T : Any> registerEvent(priority: Int = 2, ignoreCancelled: Boolean = false, handler: (T) -> Unit): ManagedEventHandle

Register 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.

参数

参数说明
TNative event type, for example org.bukkit.event.player.PlayerMoveEvent.
priorityEvent priority. Paper uses 0=LOWEST, 1=LOW, 2=NORMAL, 3=HIGH, 4=HIGHEST, 5=MONITOR.
ignoreCancelledWhen true, cancelled events are ignored when the platform supports that behavior.
handlerCallback invoked with the native event instance.

返回值

Handle that can be passed to [unregisterEvent].

unregisterEvent

unregisterEvent通用函数
kotlin
fun unregisterEvent(handle: ManagedEventHandle)

Unregister a listener previously created by [registerEvent].

clearManagedByScope

clearManagedByScope通用函数
kotlin
fun clearManagedByScope(scope: ScriptPackScope)

Clear all managed listeners registered under [scope]. Called from [top.katton.Katton.clearWorldAndServerEvents].

clearAllManaged

clearAllManaged通用函数
kotlin
fun clearAllManaged()

Clear every managed listener from the active provider. Used during full shutdown or global cleanup.