msmpExtension
inline fun <P : Any, R : Any, T : MsmpExtension> msmpExtension(registryName: String, crossinline factory: (MsmpClient, String, KSerializer<P>, KSerializer<R>) -> T, crossinline config: MsmpExtensionConfig<T>.() -> Unit = {}): ReadOnlyProperty<MsmpClient, T>
Registry for MSMP request extension.
This variant automatically injects registryName and the KSerializer for P and R into the factory.
Example:
public val MsmpClient.allowList: ArrayExtension<PlayerDto>
by msmpExtension("minecraft:allowlist", ::ArrayExtension)Content copied to clipboard
inline fun <T : MsmpExtension> msmpExtension(registryName: String, crossinline factory: (MsmpClient, String) -> T, crossinline config: MsmpExtensionConfig<T>.() -> Unit = {}): ReadOnlyProperty<MsmpClient, T>
Registry for MSMP request extension.
This variant automatically injects registryName into the factory.
Use this for extensions that don't use generic types.
Example:
public val MsmpClient.server: ServerExtension
by msmpExtension("minecraft:server", ::ServerExtension)Content copied to clipboard