Polymart is now Voxel Shop! We're upgrading many features of the site, and during this open beta you will experience occasional bugs. Learn more
EliteDialogs lets you create dialogs players can interact with as a GUI with a professional look
EliteDialogs - The First Impression Your Server Deserves.
When a player joins… you have only seconds.
Seconds to inspire them.
To guide them.
To make them stay.
EliteDialogs is your voice in those moments.
Not an inventory GUI.
Not a boring chat message.
A true in-game experience that feels like your server is alive.
Create Moments Players Remember
Whether it’s:

Every interaction becomes intentional.
Clean.
Beautiful.
Player-friendly.
Why Choose EliteDialogs
Because it doesn't just show menus…
It builds connection.
✔ Real pop-ups, not chests
✔ Players feel guided, not lost
✔ Smooth navigation: next, back, save, confirm
✔ Input fields that actually belong in a UI
✔ Support placeholder api to check for conditions


Your server becomes a place, not just a game.
Discord Support Server
Commands:
/elitedialog <dialog-name> - Opens a dialog - Required Permission: elitedialogs.use
config.yml:
# MAKE SURE ALL DIALOG KEYS ARE UNIQUE, WITHOUT SPACES AND UNDERCASED.
dialogs:
welcome: # This will not be shown automatically, every dialog still needs to be triggered by a command.
title: "<green>Welcome to the Server!"
type: confirmation # notice | confirmation | multi_action
can-close-with-esc: true
body:
- type: text
text: "<gray>Do you want to claim your starter kit?"
inputs: [] # optional
buttons:
yes:
text: "<green>Yes!"
tooltip: "<gray>Click to claim."
action: "command:player:kit starter"
require: can_claim_starter
no:
text: "<red>No thanks"
close: true
profile-edit:
title: "<aqua>Edit Profile"
type: multi_action
can-close-with-esc: false
body:
- type: item
material: DIAMOND_HELMET
name: "<aqua>Change skin"
inputs:
- key: nickname
type: text
label: "<green>Nickname:"
default: "Player"
width: 200
max-length: 32
- key: pvp
type: boolean
label: "<red>Enable PvP?"
default: false
buttons:
save:
text: "<green>Save"
action: "command:player:apply_profile {input:nickname} {input:pvp}" # This command will not actually work; it's just an example.
cancel:
text: "<red>Cancel"
close: true
notice-example:
title: "<yellow>Information"
type: notice
can-close-with-esc: true
body:
- type: text
text: "<gray>This is a simple notice dialog."
- type: text
text: "<white>Click OK to continue."
- type: item
material: BOOK
name: "<aqua>Helpful Info"
buttons:
ok:
text: "<green>OK"
close: true
select-category:
title: "<blue>Select a Category"
type: multi_action
can-close-with-esc: true
body:
- type: text
text: "<gray>Pick a category to explore."
buttons:
combat:
text: "<red>Combat"
action: "dialog:combat-settings"
visuals:
text: "<aqua>Visuals"
action: "dialog:visual-settings"
close:
text: "<gray>Exit"
close: true
combat-settings:
title: "<red>Combat Settings"
type: multi_action
can-close-with-esc: true
body:
- type: text
text: "<gray>Adjust experience sliders."
inputs:
- key: strength
type: number_range
label: "<red>Strength:"
min: 0
max: 10
step: 1
default: 5
width: 250
buttons:
apply:
text: "<green>Apply"
action: "command:player:set_strength {input:strength}"
back:
text: "<yellow>Back"
action: "dialog:select-category"
exit:
text: "<gray>Close"
close: true
visual-settings:
title: "<aqua>Visual Settings"
type: multi_action
can-close-with-esc: true
body:
- type: text
text: "<gray>Choose your view distance preset."
inputs:
- key: view
type: single_option
label: "<blue>View Distance:"
width: 200
options:
- "8:Low"
- "16:Medium"
- "32:High"
buttons:
save:
text: "<green>Save"
action: "message:<gray>You selected <aqua>{input:view}<gray>!"
back:
text: "<yellow>Back"
action: "dialog:select-category"
close:
text: "<gray>Close"
close: true
rules-accept:
title: "<light_purple>Server Rules"
type: confirmation
can-close-with-esc: false
body:
- type: text
text: "<red>Server Rules:</red>"
- type: text
text: "<white>1. Be respectful to others.</white>"
- type: text
text: "<white>2. No griefing or stealing.</white>"
- type: text
text: "<white>Do you accept the server rules?"
buttons:
yes:
text: "<green>I Accept"
action: "command:player:accept_rules"
no:
text: "<red>I Disagree"
action: "command:console:kick {player} You must accept the rules to play on this server."
verification-check:
title: "<gold>Verification Status"
type: notice
can-close-with-esc: true
body:
- type: text
text: "<gray>This dialog checks if you are verified."
- type: text
text: "{condition:verified_status}"
buttons:
ok:
text: "<green>OK"
close: true
conditions:
can_claim_starter:
join: AND
checks:
- placeholder: "%vault_eco_balance%"
operator: GREATER_EQUAL
value: "100"
- placeholder: "%player_level%"
operator: GREATER_EQUAL
value: "3"
fail:
message: "<red>You must be at least level 3 and have $100 to claim the starter kit." # This is displayed when the condition with require fails in a button or opening a dialog.
verified_status:
join: OR
checks:
- placeholder: "%player_has_rank%"
operator: EQUALS
display: # These are the texts displayed based on the condition result, which can be used in dialogs with the placeholder {condition:condition_name}
true: "<green>You are verified!"
false: "<red>You are not verified."