Menu types

Dialog Master supports four client-rendered dialog types. Set the type property inside each menu YAML file.

Type Best for Primary controls
notice Information and announcements. Body content and one OK button.
confirmation Purchases, rules gates, and destructive actions. Confirm and deny buttons.
multiAction Hubs, selectors, and navigation. A grid of buttons and optional footer buttons.
serverlinks Displaying configured server links. Server links and an optional close button.

Common menu structure

Each menu is stored as a separate .yml file in plugins/DialogMaster/menus/. The top-level key must match the filename without .yml:

my-menu:
  title: "<gold>My menu"
  type: multiAction

Common defaults are can-close-escape: true, after-action: CLOSE, and columns: 1 for multiAction. A menu may also define a command that is registered dynamically on startup and after /ydm reload.

Notice

welcome:
  title: "<yellow>Announcement"
  type: notice
  body:
    - type: plain-message
      content: "<gray>Maintenance begins soon."
      width: 250
  ok-button:
    label: "Understood"
    width: 100
    action: close

Confirmation

Use confirmation dialogs whenever the player must explicitly accept or reject an action:

purchase-confirm:
  title: "<red>Confirm purchase"
  type: confirmation
  body:
    - type: plain-message
      content: "<gray>This costs <gold>$100<gray>."
  confirm-button:
    label: "<green>Confirm"
    width: 120
    action: static-run-command
    command: "/buy item"
  deny-button:
    label: "<gray>Cancel"
    width: 100
    action: close

Multi-action

server-hub:
  title: "<aqua>Server menu"
  type: multiAction
  columns: 2
  body:
    - type: plain-message
      content: "<gray>Choose a destination."
  buttons:
    - label: "<green>Spawn"
      action: static-run-command
      command: "/spawn"
    - label: "<red>PvP arena"
      action: static-run-command
      command: "/warp pvp"
  footer-buttons:
    - label: "<gray>Back"
      action: back
server-links-menu:
  title: "<gold>Server links"
  type: serverlinks
  columns: 2
  ok-button:
    label: "<gray>Close"
    action: close

Use Interactive inputs for player-entered values, Requirements and logic for conditional access, and Action packages for reusable behavior.

Not an official Minecraft product. Not approved by or associated with Mojang Studios or Microsoft.
Type a query to search documentation...
Link copied to clipboard!