Home›Java›Mods›BanDialog
BanDialog
ModsJava

BanDialog

Minecraft Java mod. Downloads from the MC Java Mods app on Android.

by Aquantic · on Hangar

A Velocity proxy plugin that hooks into LiteBans to replace default disconnection messages with customizable DialogAPI

⬇ Download on Hangar
# BanDialog BanDialog is a Velocity addon for LiteBans that replaces the normal ban disconnect with a native Minecraft dialog during the configuration phase. Banned players remain connected to the proxy long enough to read a fully configurable ban notice. They are never forwarded to a backend server, and the Disconnect action immediately closes the connection with your configured message. ## Features - Intercepts LiteBans ban rejections before the default disconnect screen is shown. - Displays a native vanilla dialog to 1.21.6+ clients during the configuration phase. - Keeps the held connection alive with configuration-phase keep-alives. - Prevents banned players from connecting to backend servers. - Supports a datapack-style YAML dialog definition. - Supports Adventure MiniMessage in dialog text fields, including colors, gradients, decorations, and ``. - Replaces `{player}`, `{uuid}`, `{banned_by}`, `{reason}`, `{date}`, `{expiry}`, and `{ban_id}` placeholders. - Handles the default Disconnect button without showing the client "Waiting for Server" screen. - Provides atomic configuration reloads through `/bandialog reload`. ## Requirements - Java 21 - Velocity with Minecraft 1.21.6+ dialog packet support - LiteBans - A Minecraft 1.21.6+ client for players who should receive the dialog ## Installation 1. Install LiteBans on the Velocity proxy. 2. Copy `bandialog-1.0.0.jar` to the proxy's `plugins` directory. 3. Start the proxy once to generate `plugins/bandialog/config.yml`. 4. Edit the configuration, then run `/bandialog reload` from the proxy console. ## Commands | Command | Permission / source | Description | | --- | --- | --- | | `/bandialog reload` | Console only | Reloads `config.yml` without replacing the active configuration if validation fails. | ## Configuration The `dialog` node mirrors the vanilla dialog data format. You can use the vanilla fields for the selected dialog type, such as `type`, `body`, `inputs`, `action`, `yes`, `no`, `actions`, `exit_action`, `columns`, `can_close_with_escape`, `pause`, and `after_action`. Text component fields (`title`, `external_title`, `contents`, `label`, `tooltip`, and `description`) use MiniMessage. For example: ```yaml dialog: type: "minecraft:notice" title: "BAN NOTICE" can_close_with_escape: true after_action: "close" body: - type: "minecraft:plain_message" contents: "You are banned from this network.Reason: {reason}Banned by: {banned_by}" action: label: "Disconnect" action: type: "custom" id: "bandialog:disconnect" date-format: "yyyy-MM-dd HH:mm:ss" permanent-text: "Permanent" disconnect-message: "You have been disconnected from the ban notice screen." ``` ### Text formatting MiniMessage formatting works in text component fields: ```yaml title: "Network Ban" contents: "Read the following carefully.Appeals are available on our website." ``` Supported examples include ``, ``, ``, ``, ``, ``, ``, ``, and the shorthand ``. Use `` for a compact line break inside one body message. Literal `\n` sequences are also normalized to line breaks. ### Placeholders | Placeholder | Value | | --- | --- | | `{player}` | Player name | | `{uuid}` | Player UUID | | `{banned_by}` | Name of the staff member or Console | | `{reason}` | Ban reason | | `{date}` | Ban issue date, formatted with `date-format` | | `{expiry}` | Expiry date or `permanent-text` | | `{ban_id}` | LiteBans punishment ID | ## Behaviour notes - The default `bandialog:disconnect` custom action is handled by BanDialog and disconnects the player immediately. - If a `minecraft:notice` dialog uses `after_action: "wait_for_response"` with that default disconnect action, BanDialog changes it to `close` at runtime to avoid the vanilla "Waiting for Server" screen. - Invalid YAML, invalid date formats, or a missing `dialog.type` do not replace the currently active configuration during reload. ## Support Please include the Velocity version, client version, LiteBans version, BanDialog version, and the full proxy error when reporting an issue. ## AI notice This project utilizes artificial intelligence tools to assist in its development.
Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

BanDialog is a free Minecraft Java mod. Compatible with Minecraft 4.2.0. Available via Hangar. Download it and open it directly in the game.

Explore more