DexDialog · Commands
Commands & API
Command names and aliases are set in config.yml under commands:.
Commands
| Command | What it does | Permission |
/menu | Open the main menu (aliases /dexmenu, /dmenu) | dexdialog.use |
/settings | Open the settings hub (alias /prefs) | dexdialog.settings |
/tpa · /tpahere <player> | Teleport requests | dexdialog.teleport |
/tpaccept · /tpdeny · /tpcancel | Answer or cancel a request | dexdialog.teleport |
/msg <player> <msg> · /r <msg> | Private messages | dexdialog.chat |
/gchat · /fchat <msg> | Send to one channel | dexdialog.chat |
/chat <global|friends> | Switch your default channel | dexdialog.chat |
Admin commands
| Command | What it does |
/dexdialog editor | In-game menu editor (dexdialog.editor) |
/dexdialog reload | Reload every file |
/dexdialog open <menu> [player] | Open any menu, for anyone |
/dexdialog settings <category> | Open one settings page |
/dexdialog debug [player] | Which screen a player would get, and why |
/dexdialog version | Version info |
Permissions
| Permission | Default | Grants |
dexdialog.use | true | Open menus |
dexdialog.settings | true | Open the settings menu |
dexdialog.chat | true | Chat commands |
dexdialog.teleport | true | Teleport commands |
dexdialog.admin | op | Reload, open for others, debug |
dexdialog.editor | op | The in-game editor |
dexdialog.chat.bypass | op | See all chat and message anyone |
dexdialog.teleport.bypass | op | Skip warmup, cooldown and privacy checks |
Placeholders
| Placeholder | Returns |
%dexdialog_<category>_<option>% | The raw value — e.g. on, anyone |
%dexdialog_<category>_<option>_display% | The coloured label — e.g. &aON |
%dexdialog_<category>_<option>_plain% | The label without colours — e.g. ON |
Example: %dexdialog_privacy_teleport_requests% → anyone.
Developer API
import studio.dexter.dexdialog.api.DexDialogAPI;
if (DexDialogAPI.isOn(player, "general", "auction_quick_buy")) {
// skip the confirm screen
}
if (!DexDialogAPI.allows(target, sender, "privacy", "allow_payments")) {
// target does not accept payments from sender
}
boolean friends = DexDialogAPI.isFriend(a, b);
boolean tagged = DexDialogAPI.inCombat(player);
DexDialogAPI.broadcast("&7Server restarting in 5 minutes");