Compatibility
Minecraft: Java Edition
1.21.6–1.21.11
Platforms
Tags
Creators
Details
Licensed GPL-3.0-or-later
Published 2 months ago
ADialogAPI
ADialogAPI is a modern, high-performance interactive dialog system for Minecraft servers. It allows you to create immersive RPG-like conversations, complex menus, and user-input forms using simple YAML or a powerful Java API.
✨ Features
- MiniMessage Integration: Full support for modern formatting (RGB, gradients, hover/click events).
- Action System: Trigger commands, sounds, titles, potion effects, and inventory changes directly from dialog buttons.
- Dynamic Inputs: Capture player input through the dialog interface and use it in commands or messages.
- Cooldown Support: Prevent dialog spam with per-player cooldowns defined in config.
- Developer API: Custom events for opening, clicking, and closing dialogs to build complex logic.
🚀 Quick Start (For Admins)
1. Installation
- Download the latest
.jarfrom Modrinth. - Place it in your server's
pluginsfolder. - Restart the server.
2. Configuration Example
Dialogs are stored in the dialogs/ folder.
Basic example of dialog yaml
# ─────────────────────────────────────────────
# Dialog: notice example
# A simple informational window with a single OK button.
# Recommended for announcements, tips, or welcome messages.
# ─────────────────────────────────────────────
# Displayed at the top of the dialog window.
title: "<gold><bold>✦ Welcome to the Server!"
# true - Player can press ESC to close the dialog.
# false - Player must click the OK button to close.
can_close_with_escape: false
# Cooldown in seconds before the same player can open this dialog again.
# 0 = no cooldown (default).
cooldown: 0
# Dialog type:
# - notice: single OK button
# - confirmation: Yes / No buttons
type: notice
# Optional: register a command that opens this dialog.
# Leave empty ("") to skip.
open_command: "welcome"
# Optional: permission required to use open_command.
# Leave empty ("") to allow all players.
open_permission: ""
body:
# Simple text line in the dialog.
- type: text
content: "<gray>Hello, traveler! We're glad to see you here."
# Empty text used as spacer.
- type: text
content: ""
- type: text
content: "<yellow>Explore, build, and have fun!"
🛠 Developer API (In Future)
Events
Listen to custom events to integrate ADialogAPI with your systems:
DialogOpenEvent: Fired when a dialog is about to open (Cancellable).DialogButtonClickEvent: Captures button clicks and any associated user inputs.DialogCloseEvent: Fired when a dialog is closed (supports reasons like ESCAPE or PLUGIN).
Accessing the Manager
You can open dialogs via the DialogManager:
ADialogAPI.getApi().showDialog(player, "dialog_id");
📜 Commands & Permissions
The main command is /adialogapi (aliases: /adapi).
| Command | Description | Permission |
|---|---|---|
/adialogapi help |
View all available commands | adialogapi.command.help |
/adialogapi show <id> [player] |
Open a dialog for yourself or others | adialogapi.command.show |
/adialogapi list |
List all loaded dialogs | adialogapi.command.list |
/adialogapi reload [id] |
Reload all or a specific dialog | adialogapi.command.reload |
/adialogapi create <id> |
Create a new dialog template | adialogapi.command.create |
/adialogapi delete <id> |
Remove an existing dialog | adialogapi.command.delete |
/adialogapi info <id> |
View detailed info about a dialog | adialogapi.command.info |
🤝 Support
- Issues: Report bugs or request features via GitHub Issues.
- Discussions: Ask questions and share your configs in the Discussions tab.
- Discord server: My official discord server for support, bug-reports and fun - ArkaDarkTime Hub
⚖️ License
Distributed under the GNU GPL v3 License. See LICENSE for details.


