Dexter Studio
Home›DexDialog›Menus & Editor
DexDialog · Menus

Menus & Editor

Every file in menus/ is one menu. main.yml is the one the ESC button opens. Edit them in game or in YAML — both write the same files.

The in-game editor

/dexdialog editor (permission dexdialog.editor). The first admin to join after installing gets a clickable link to it.

1
Pick a menuOr + New menu from a template: Warps, Shop, Rules page, Socials / links, Staff tools, or empty.
2
Click the button you want to changeYou see the menu exactly as players do.
3
Change it in plain wordsText, what happens when clicked, the command, its position — or pick what it opens from a list of every menu, settings page and leaderboard.
4
Done — it's liveSaved instantly. Undo takes back any of the last 20 changes per file.

You can also copy a button or a whole menu, edit the heading and text in one box, and Try it. Settings pages and leaderboards have the same editor.

A menu file

title: "&fDonut SMP"        # button text on the ESC screen + menu header
columns: 2
can-close-with-escape: true
after-action: close             # close | none | wait_for_response
gui:                             # chest fallback for old clients
  rows: 4
  title: "&8Donut SMP"
buttons:
  - label: "&fHomes"
    tooltip: "&7Open your homes"
    action: run_command
    value: "homes"
    gui: { slot: 10, material: RED_BED }
  - label: "&fFriends"
    action: run_command
    value: "friend"
    requires-plugin: DexFriends   # hidden unless DexFriends is installed

Button actions

actionvalue
run_commandCommand run as the player, no slash — homes
console_commandCommand run from console — give %player% diamond 1
open_menuA file name from menus/
open_settingsA file name from settings/
open_leaderboard · open_full_leaderboardA file name from leaderboards/ (full = top 200)
open_urlA website, opened by the player's game
messageText sent to the player
add_to_list · remove_from_listA player name — the personal player list
set_targetSets %target% for the next menu
back · close · noneGo back, close, or do nothing

Optional per button: tooltip, width (1–1024), permission, requires-plugin, commands (extra lines prefixed player:, console: or message:) and gui: { slot, material }.

Player-list menus

type: player-list shows one button per player — used by Stats, Teleport and Pay. The clicked player becomes %target% and stays set for the next menu.

type: player-list
list:
  source: both              # both | saved | online
  max-entries: 40
  entry-format: "%head%&f%player%"
  entry-action: open_menu
  entry-value: pay-amount
  add-button:
    label: "&7+ Add Player to List"

Form menus

type: form adds real input fields. Values come back as %input_<key>%. Input types: text, dropdown, number, boolean.

type: form
title: "&fPay %target%"
inputs:
  - key: amount
    type: text
    label: "&fAmount"
    max-length: 16
buttons:
  - label: "&aSend"
    action: run_command
    value: "pay %target% %input_amount%"
◆

Forms need a 1.21.6+ client — chests can't take typing, so old clients get a short message instead.

The pause-screen menu

!

The ESC menu is the same for everyone. Minecraft sends it once, server-wide, so placeholders and permission hiding don't work inside menus/main.yml (permissions are still checked on click). Changes to it show on the ESC button after a restart. /menu opens a per-player copy where everything works and reloads live.