Overview
DialogWindow is a Paper plugin that allows server administrators to create fully configurable in-game dialogs using YAML files.
It is built on top of the Paper Dialog API (1.21.6+) and enables you to design graphical user interfaces for commands that normally do not provide a UI.
With DialogWindow, you can:
- Create dynamic dialog-based interfaces for commands
- Define buttons, labels, checkboxes, select menus, sliders, and text inputs
- Display custom items with name, lore, skull textures, glow, and more
- Execute console and player commands based on user interaction
- Use PlaceholderAPI and built-in placeholders inside texts and items
- Organize multiple interfaces in structured folders
It is ideal for warp menus, confirmation dialogs, configuration panels, shop interfaces, rule confirmations, and any command that benefits from a structured UI.
Requirements
- Paper 1.21.6 or newer (recommended: 1.21.11)
- Java 17 or newer
- PlaceholderAPI (optional, but recommended for dynamic placeholders)
The plugin will not work on Spigot or older Minecraft versions because it depends on the Paper Dialog API.
Installation
1. Download the DialogWindow jar file.
2. Place it inside your server’s plugins folder.
3. Start or restart the server.
4. The plugin will generate:
- config.yml
- messages.yml
- interfaces/ folder with example files
5. Configure your interfaces inside the interfaces/ directory.
6. Run /dwreload to apply changes.
Optional
- Install PlaceholderAPI if you want to use advanced placeholders.
Basic Commands
/dwreload
Reloads:
- config.yml
- messages.yml
- all interface files
This command is used after editing configuration files.
Permission:
-
dialogwindow.reload
/dwreport
Generates a diagnostic report for support requests.
It collects relevant environment and plugin information to help troubleshoot issues.
Permission:
-
dialogwindow.report
Configuration
config.yml
Contains general plugin settings, including:
- Interfaces root directory
messages.yml
- Contains all user-facing messages.
- Fully configurable
- Supports MiniMessage formatting
- Supports PlaceholderAPI
interfaces/
- Each YAML file inside the interfaces/ folder defines one command and one dialog.
- Subfolders are supported and help keep large setups organized.
Interfaces
A basic interface file consists of:
Code (YAML):
command:
name
:
"warpui"
description
:
"Warp selection menu"
permission
:
"dialogwindow.warpui"
aliases
:
[
]
dialog:
title
:
"<gold>Warp Menu</gold>"
external-title
:
""
can-close-with-escape
: false
ui:
- label
:
"<yellow>Select your destination:</yellow>"
- item:
type
: item
material
: PLAYER_HEAD
name
:
"<gold>%playername%</gold>"
skull-owner
:
"%playername%"
glow
: true
- input:
type
: checkbox
key
: confirm
label
:
"<green>Confirm teleport</green>"
initial
:
"%some_placeholder%"
on-true
:
"yes"
on-false
:
"no"
- buttons:
- label
:
"<green>Teleport</green>"
console-commands
:
-
"warp ${destination}"
player-commands
:
-
"say %playername% confirmed teleport"
Supported Elements
You can define elements in the order they should appear:
- label (text block)
- item (custom item display)
- input:
- text
- checkbox
- single_option (select menu)
- number_range (slider)
- buttons
All elements are processed from top to bottom as defined in the YAML file.
Item Support
- material
- amount
- name (MiniMessage + placeholders)
- lore
- skull-owner (player name or UUID)
- glow (visual enchant effect without visible enchantments)
- custom-model-data
- enchantments
- item flags
- unbreakable
Example:
Code (YAML):
- item:
type
: item
material
: PLAYER_HEAD
skull-owner
:
"%playername%"
name
:
"<gold>%playername%</gold>"
lore:
- "<gray>UUID
:
%uuid%</gray>"
glow
: true
Placeholder Support
Built-in placeholders:
- %playername%
- %uuid%
- %world%
PlaceholderAPI:
If PlaceholderAPI is installed, all texts and commands support its placeholders automatically.
Supported locations:
- Titles
- Labels
- Item names
- Item lore
- Input initial values
- Button commands
- Hover text
Use Cases
DialogWindow can be used for:
- Warp menus
- Shop confirmations
- Rule acceptance dialogs
- PvP toggles
- Rank selection interfaces
- Settings panels
- Command configuration UIs
- Admin tools
Examples
Support
Discord:
https://discord.gg/5zuC36R
For requests, comments or errors, I am happy to help. In order to be able to help quickly, I would be pleased if the following information is already filled in during the inquiry:
- Execute „/dwreport“
- Join the discord server and give a short description of your problem
Requests can be made in
German or
English.