
DialogWindow
A powerful, fully configurable dialog UI system for Paper 1.21.6+. Create dynamic, interactive GUI dialogs entirely from YAML files
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
-
Download the DialogWindow jar file.
-
Place it inside your server’s plugins folder.
-
Start or restart the server.
-
The plugin will generate:
- config.yml
- messages.yml
- interfaces/ folder with example files
- Configure your interfaces inside the interfaces/ directory.
- 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:
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:
- 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
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.
