createMinecraftUiHost
Creates one owner-thread host for a printable-ASCII compatibility profile by atomically consuming a definition.
This overload never opens a font backend or discovers fonts from the operating system. A profile declaring resource fonts requires an overload accepting MinecraftFontBackendFactory. Missing-backend rejection occurs before definition transfer, so the caller may retry with that overload or close definition. Successful construction leaves the definition empty and transfers metadata and content to the new host.
Return
a distinct owner-thread host.
Parameters
the available one-shot definition.
complete immutable Minecraft assets with the compatibility glyph table, not a resource-font snapshot.
Throws
with "Resource fonts require a CPU font backend factory." when profile declares resource fonts.
when profile validation succeeds but definition was already transferred or closed.
Creates a compatibility-profile host with version-specific services by atomically consuming a definition.
This overload accepts the printable-ASCII glyph table and never opens or discovers a font backend. A profile declaring resource fonts requires the overload accepting both platform and MinecraftFontBackendFactory. Missing-backend rejection leaves definition and platform caller-owned, allowing a retry with the backend overload. Successful construction transfers platform to the host, which refreshes it before frames and closes it on every terminal path. This privileged overload is for a versioned runtime adapter; application code receives the resulting screen from that adapter instead.
Return
a distinct owner-thread host.
Parameters
the available one-shot definition.
complete immutable Minecraft assets with the compatibility glyph table, not a resource-font snapshot.
version-specific services transferred to the host.
Throws
with "Resource fonts require a CPU font backend factory." when profile declares resource fonts.
when profile validation succeeds but definition was already transferred or closed.
Creates an owner-thread host with independent native font ownership from a shareable resource snapshot.
Use this overload when profile declares resource fonts; compatibility glyph profiles are also accepted and do not invoke fontBackend. The backend factory is borrowed only during construction; the opened backend is closed after the tree on every terminal path. Backend initialization precedes definition transfer, so initialization failure leaves definition caller-owned for retry or close. Once transfer occurs, the definition remains consumed even if later host construction fails; an opened backend is released on failure. A factory whose open fails must release its own partially allocated resources before propagating the failure. No Minecraft classes, display, graphics context, or operating-system fonts are needed by a CPU backend.
Return
distinct owner-thread host.
Parameters
available one-shot definition consumed after successful font initialization.
immutable profile containing resource fonts or compatibility glyphs.
explicit factory for the target release's CPU font backend; no implicit backend lookup occurs.
Throws
when transfer or font initialization fails; opened native resources are released.
Creates a versioned host owning both its native font backend and platform services.
Resource-font profiles require this explicit backend overload; compatibility glyph profiles do not invoke fontBackend. A resource snapshot and its font settings stay pinned for this host's lifetime. Font initialization occurs before definition transfer; initialization failure leaves both definition and platform caller-owned. After transfer, later construction failure does not restore the definition, but releases an opened font backend. Tree disposal precedes font and platform release; construction failure leaves platform caller-owned. A factory whose open fails must release its own partially allocated resources before propagating the failure.
Return
distinct owner-thread host.
Parameters
available one-shot screen definition consumed after successful font initialization.
immutable UI and font resources.
version services transferred only when construction succeeds.
explicit factory opening an independent owner-thread backend; no implicit backend lookup occurs.
Throws
when transfer or font initialization fails; opened font resources are released.
Transfers a common UI definition and binds its callbacks to the adapter's public session.