UI Option Dialogue
A spoken line with choices under it. The player aims at one and clicks.
A dialogue with choices IS a view. It is opened through the same machinery a menu uses, so the cursor, the hover highlight, the click and the hold on the player all come from one implementation rather than a second copy of it. That also settles what the player may do while it is on screen: they stay in front of whoever is speaking and cannot walk away mid-sentence.
Configuration
| Field | What it does |
|---|---|
text | The line, typed out letter by letter. Supports placeholders. |
duration | How long the typing takes. Zero shows the line at once. |
style | The ui_dialogue_style it takes. Leave empty for the server's own. |
portrait | Picture drawn beside the speaker's name, for instance portrait_aldric. |
options | The choices offered. |
timer | Cancels the dialogue when it runs out. Zero for no countdown. |
cancelTriggers | Fired when the countdown cancels the dialogue. |
sound | Played once as the line appears. |
One choice
| Field | What it does |
|---|---|
text | What the choice says. |
tooltip | Shown beside the screen while the cursor rests on it. |
criteria | What the player must meet to take it. It is drawn either way. |
lockedReason | Shown instead of the tooltip while it cannot be taken. |
hideWhenLocked | Hide it entirely instead of showing it locked. |
modifiers | Applied when it is taken. |
triggers | Fired when it is taken. |
A locked choice is still shown
This is the deliberate difference from a chat dialogue, and the reason the entry exists.
A chat renderer filters out choices the player cannot take, so a player never learns that a door
exists. Here the criteria decide whether a choice can be taken, not whether it is drawn: a
locked choice appears dimmed, carrying lockedReason in place of its tooltip, and a click on it is
refused rather than ignored.
An author who genuinely wants a choice hidden says so with hideWhenLocked.
Two columns
The house style spreads the choices into two columns, one on each side of the speaker. The cursor reaches a choice by turning the head, so piling ten of them into one corner asks the player to look away from the person talking; two columns halve that travel and double what fits without scrolling.
That is a property of the style, not of this entry — a dialogue is written for what it says.
[!NOTE] Markup is stripped. GUI space renders through a font, not through a chat component. A MiniMessage tag left in a choice would be drawn literally, so tags are removed before the text reaches the grid. Colour a choice through the style's palettes instead.