PaperUiProvider

Installed runtime boundary. The provider validates native ownership before evaluating factories or operations. Player calls require Paper's primary thread or the player's Folia region; execution-owner entry belongs here.

Functions

Link copied to clipboard
abstract fun capabilities(player: Player): UiClientCapabilities?

Returns detached negotiated support, or null while unavailable.

Link copied to clipboard
abstract fun <T> execute(player: Player, operation: () -> T): T

Enters an already-owned player's UI context without scheduling work or granting native region ownership.

Link copied to clipboard
abstract fun open(ownerPlugin: Plugin, player: Player, definition: () -> UiDefinition): UiSession

Creates and transfers one definition under the player's execution owner after validating native access.

Link copied to clipboard
abstract fun register(ownerPlugin: Plugin, type: ProjectionType)

Registers an exact plugin-owned projection schema for subsequent negotiations.