Skip to content
On this page
Common

DataComponentType

top.katton.api.registrycommon/src/main/kotlin/top/katton/api/registry/DataComponentType.kt
Registers a persistent (saved to disk) DataComponentType with hot-reload support.

registerNativePersistentDataComponentType

registerNativePersistentDataComponentTypeCommonFunction
kotlin
fun <T : Any> registerNativePersistentDataComponentType(id: String, registerMode: RegisterMode = RegisterMode.WORLD, codec: Codec<T>): KattonRegistry.KattonDataComponentTypeEntry

Registers a persistent (saved to disk) DataComponentType with hot-reload support.

Persistent components are serialized using their codec and saved with the item. Use this for data that must survive across save/load cycles.

Parameters

ParameterDescription
idComponent identifier (e.g., "mymod:custom_data")
registerModeRegistration mode (GLOBAL, WORLD, or RELOADABLE)
codecThe codec for serializing/deserializing the component value

Returns

The registered KattonDataComponentTypeEntry

registerNativePersistentDataComponentType

registerNativePersistentDataComponentTypeCommonFunction
kotlin
fun <T : Any> registerNativePersistentDataComponentType(id: Identifier, registerMode: RegisterMode = RegisterMode.WORLD, codec: Codec<T>): KattonRegistry.KattonDataComponentTypeEntry

Registers a persistent (saved to disk) DataComponentType with hot-reload support.

Parameters

ParameterDescription
idComponent identifier
registerModeRegistration mode
codecThe codec for serializing/deserializing the component value

Returns

The registered KattonDataComponentTypeEntry

registerNativeNetworkDataComponentType

registerNativeNetworkDataComponentTypeCommonFunction
kotlin
fun <T : Any> registerNativeNetworkDataComponentType(id: String, registerMode: RegisterMode = RegisterMode.WORLD, streamCodec: StreamCodec<*, T>): KattonRegistry.KattonDataComponentTypeEntry

Registers a network-synchronized DataComponentType with hot-reload support.

Network-synchronized components are sent to the client but NOT saved to disk. Use this for data that is computed at runtime (e.g., render-only state).

Parameters

ParameterDescription
idComponent identifier (e.g., "mymod:sync_data")
registerModeRegistration mode (GLOBAL, WORLD, or RELOADABLE)
streamCodecThe stream codec for network synchronization

Returns

The registered KattonDataComponentTypeEntry

registerNativeNetworkDataComponentType

registerNativeNetworkDataComponentTypeCommonFunction
kotlin
fun <T : Any> registerNativeNetworkDataComponentType(id: Identifier, registerMode: RegisterMode = RegisterMode.WORLD, streamCodec: StreamCodec<*, T>): KattonRegistry.KattonDataComponentTypeEntry

Registers a network-synchronized DataComponentType with hot-reload support.

Parameters

ParameterDescription
idComponent identifier
registerModeRegistration mode
streamCodecThe stream codec for network synchronization

Returns

The registered KattonDataComponentTypeEntry