Skip to content
On this page
Fabric

FabricManagedEvents

top.katton.api.event.managedfabric/src/main/kotlin/top/katton/api/event/managed/FabricManagedEvents.kt
Fabric implementation of [ManagedListenerProvider].

FabricManagedEvents

FabricManagedEventsFabricObject
kotlin
object FabricManagedEvents

Fabric implementation of [ManagedListenerProvider].

Fabric's event system ([Event]) does not support individual callback unregistration. To work around this, each managed listener wraps the user callback in a dynamic proxy with an active flag. On reload, all WORLD/SERVER_CACHE-scoped wrappers are deactivated.

Initialized once in [KattonFabric.onInitialize] via [initialize].

registerFabricEvent

registerFabricEventFabricFunction
kotlin
fun <T : Any> registerFabricEvent(event: Event<T>, callback: T): ManagedEventHandle

Register a managed Fabric-native event listener.

Fabric events are callback-based and don't support individual unregistration. Managed listeners use a dynamic proxy wrapper with an active flag — on reload, all WORLD/SERVER_CACHE-scoped wrappers are deactivated.

Usage:

kotlin
registerFabricEvent(ServerTickEvents.START_SERVER_TICK, ServerTickEvents.StartTick { server ->
// handler
})

Parameters

ParameterDescription
eventThe Fabric event object to register on
callbackThe functional interface callback

Returns

A handle for manual unregistration

unregisterFabricEvent

unregisterFabricEventFabricFunction
kotlin
fun unregisterFabricEvent(handle: ManagedEventHandle)

Manually unregister a managed Fabric listener created by [registerFabricEvent].