Compatibility
Minecraft: Java Edition
26.3
26.2
26.1.x
1.21.11
Platforms
Links
Tags
Creators
Details
Licensed MIT
Published 1 hour ago
Updated 3 days ago
DefaultChat: Modern Chat Management for Paper
DefaultChat is a lightweight and well-structured chat plugin designed specifically for modern Paper servers. It completely replaces legacy color codes with native MiniMessage support, providing a flexible and secure communication environment. The plugin requires no dependencies, utilizes no NMS, and operates as a single JAR file.
Purpose and Design
Many existing chat plugins were designed for older Spigot versions and rely on outdated color codes. DefaultChat is built for the modern Paper API and focuses on three core aspects:
- Modern Formatting: Full MiniMessage support allows for gradients, rainbows, shadows, and item sprites. This formatting applies consistently across chat formats, error messages, and command outputs.
- Unobtrusive Interactions: Player mentions are handled via configurable sound pings rather than intrusive action bar messages or screen titles.
- Performance and Flexibility: The configuration is entirely based on MiniMessage, and message processing is optimized for multi-threaded environments, including full support for Folia.
Key Features
Chat Channels
- Local Chat: Messages are only visible to players within a configurable block radius. The radius can be set individually for each world.
- Global Chat: Activated by a configurable prefix (default
!) or the/globalchatcommand. - Channel Memory: Players can switch between channels using
/chat local,/chat global, or/chat toggle. - Vanish Support: Vanished players do not receive messages from local chat.
Mentions System
- Player names in messages are highlighted and recognized regardless of letter case.
- Mentioned players receive a configurable sound ping. The volume, pitch, and cooldown can be adjusted.
- Players can toggle pings for themselves using
/chat ping. - Pings are only sent if the player is actually within the hearing radius of the message.
Formatting and MiniMessage
- All text elements, including chat formats, hover text, and error messages, are configured using MiniMessage templates.
- Players with the
defaultchat.formatpermission can use a safe subset of tags, including colors, decorations, gradients, and rainbows. Dangerous tags such as click events, hover events, fonts, score, and NBT are blocked. - Player names are clickable and suggest the
/msgcommand. - Formatting errors are handled gracefully. If a message contains invalid syntax, it is displayed as plain text rather than breaking the chat.
Moderation and Spam Protection
- Cooldowns and Limits: Includes message cooldowns, duplicate message prevention, and a sliding window message limit.
- Caps Guard: Blocks or ignores messages with excessive uppercase letters.
- Filters: Word filtering supports masking (
****) or complete blocking. Link filtering can block URLs with an option to whitelist specific domains. - Bypass Permissions: Staff members can bypass spam and filter checks with
defaultchat.bypass.spamanddefaultchat.bypass.filter.
History and Logging
/chat history [n]: Displays the last N messages from memory for moderation purposes.- Asynchronous Logging: All messages are written to
chat.logon a separate virtual thread, preventing disk I/O from delaying chat delivery.
Developer API
- The plugin fires a
DefaultChatMessageEvent, allowing other plugins to view, modify, cancel, or redirect messages. - The event is fired in the global region thread, supports component modification, and is cancellable.
Performance and Compatibility
- Single JAR: Compiled against the oldest supported API (1.21.11) to ensure compatibility with Paper 1.21.11, 26.1, 26.1.2, 26.2, and 26.3+.
- Folia-Ready: Fully compatible with Folia (
folia-supported: true). - Minimal TPS Impact: Chat processing occurs in the global region thread. The configuration is loaded once and stored in immutable records, making it suitable for high-load servers.
Requirements and Installation
Requirements:
- Platform: Paper or its forks, including Folia. Spigot and CraftBukkit are not supported.
- Minecraft: 1.21.11, 26.1, 26.1.2, 26.2, 26.3 and newer.
- Java: 25+
- Dependencies: None.
Installation:
- Download the
DefaultChat-1.0.0.jarfile. - Place the file into the
plugins/directory of your server. - Start the server. The
config.ymland language files will be generated automatically. - Configure the plugin as needed and apply changes using
/chat reload.
License
This project is distributed under the MIT License. Author: Slavyanin.


