Skip to main content

Paper Dialog

Display a customizable dialog

Fields

FieldTypeDefaultDescription
messageVar<String>—Lines of text displayed in the dialog body.PlaceholdersMulti-line
bodyItemVar<Item>—Item showcased in the dialog body (empty for none).
buttonsList<DialogButtonConfig>empty—Variants:action_buttonboolean_buttonmultiple_choice_buttonnumber_range_buttontext_input_buttontrigger_button
action_button (3)
FieldTypeDefaultDescription
labelVar<String>—Text displayed on the button.Placeholders
commandVar<String>—Command executed when the button is clicked.Placeholders
asOpVar<Boolean>falseWhether to execute the command as OP.
boolean_button (8)
FieldTypeDefaultDescription
labelVar<String>—Label displayed next to the toggle.Placeholders
keyVar<String>DialogKey.BOOLEAN.keyKey used to insert the value in the command. Default: 'boolean'.Placeholders
initialVar<Boolean>false—
onTrueVar<String>—Value inserted in the command when the toggle is true.Placeholders
onFalseVar<String>—Value inserted in the command when the toggle is false.Placeholders
commandVar<String>—Command template executed when the confirmation button is clicked. Use $(<key>) to insert the value.Placeholders
asOpVar<Boolean>falseWhether to execute the command as OP.
buttonLabelVar<String>OKLabel for the confirmation button.Placeholders
multiple_choice_button (6)
FieldTypeDefaultDescription
labelVar<String>—Label displayed above the options.Placeholders
keyVar<String>DialogKey.CHOICE.keyKey used to insert the selected option in the command. Default: 'choice'.Placeholders
optionsVar<String>—Comma separated options. Append * to mark the initial option.Placeholders
commandVar<String>—Command template executed when the confirmation button is clicked. Use $(<key>) to insert the selected option.Placeholders
asOpVar<Boolean>falseWhether to execute the command as OP.
buttonLabelVar<String>OKLabel for the confirmation button.Placeholders
number_range_button (9)
FieldTypeDefaultDescription
labelVar<String>—Label displayed above the slider.Placeholders
keyVar<String>DialogKey.VALUE.keyKey used to insert the value in the command. Default: 'value'.Placeholders
startVar<Int>0—
endVar<Int>0—
initialVar<Int>MIN_VALUE—
stepVar<Int>1—
commandVar<String>—Command template executed when the confirmation button is clicked. Use $(<key>) to insert the value.Placeholders
asOpVar<Boolean>falseWhether to execute the command as OP.
buttonLabelVar<String>OKLabel for the confirmation button.Placeholders
text_input_button (11)
FieldTypeDefaultDescription
labelVar<String>—Label displayed above the text input.Placeholders
keyVar<String>DialogKey.INPUT.keyKey used to insert the value in the command. Default: 'input'.Placeholders
commandVar<String>—Command template executed when the confirmation button is clicked. Use $(<key>) to insert the value.Placeholders
asOpVar<Boolean>falseWhether to execute the command as OP.
buttonLabelVar<String>OKLabel for the confirmation button.Placeholders
widthVar<Int>200—
labelVisibleVar<Boolean>true—
initialVar<String>——
maxLengthVar<Int>256—
maxLinesVar<Int>0—
heightVar<Int>0—
trigger_button (2)
FieldTypeDefaultDescription
labelVar<String>—Text displayed on the button.Placeholders
triggersList<Ref<TriggerableEntry>>emptyEntries triggered when the button is clicked.
exitButtonExitButtonConfig——
ExitButtonConfig (3)
FieldTypeDefaultDescription
labelVar<String>—Text displayed on the exit button.Placeholders
commandVar<String>—Command executed when the exit button is clicked.Placeholders
asOpVar<Boolean>falseWhether to execute the command as OP.
showExitButtonVar<Boolean>trueWhether to display the exit button.Placeholders
columnsVar<Int>1Number of columns to display.Placeholders
dialogTypeDialogDisplayTypeMULTI_ACTIONWindow layout: button grid, yes/no confirmation, or single-button notice.
afterActionDialogCloseBehaviourCLOSEWhat happens client-side after clicking a button.Values:CLOSENONEWAIT_FOR_RESPONSE
Common TypeWriter fields (criteria, modifiers, triggers, displayName)
FieldTypeDefaultDescription
criteriaList<Criteria>empty—
modifiersList<Modifier>empty—
triggersList<Ref<TriggerableEntry>>empty—
displayNameVar<String>—Custom display name for the dialog title.Placeholders

How to use it​

Build the whole window in this one entry.

  1. Set displayName (title), message (body text, several lines allowed) and optionally bodyItem.
  2. Pick dialogType: MULTI_ACTION (grid with columns), CONFIRMATION (first button = yes, exit button = no) or NOTICE (one button).
  3. Add buttons in buttons. Choose a type for each: action, trigger, text input, boolean, multiple choice or number range.
  4. Configure exitButton. It is shown when showExitButton is on, and always in CONFIRMATION mode. With an empty command, it just closes the dialog.
  5. Choose afterAction: CLOSE, NONE (stay open) or WAIT_FOR_RESPONSE.

Commands run as the clicking player (as OP for the duration of the command when asOp is on). In a command, $(key) is replaced by the value of the input with that key. A trigger button fires its triggers for the player, so you can continue a quest sequence from a click without any command.

See the main page for the full table of button types and layouts.