A chat plugin for Paper with custom formats, private messages, and Redis messaging between servers.
- Minecraft 26.3 with Paper build 26 or a compatible Paper fork.
- Java 25 or newer.
- Paper 26.3 builds are currently alpha. This release targets that version explicitly.
Spigot, CraftBukkit, and older Minecraft versions are no longer supported. Folia forks must provide Paper's 26.3 API. Existing configuration files can still be used.
- Customizable Chat Format: Personalize the chat format as per your needs.
- Per-Group Chat Format: Differentiate chats based on the user group for better management.
- Private Messaging: Send private messages to other players with ease. Supports tab completion across multiple servers.
- MiniMessage & MiniPlaceholders Support: All formats are compatible with MiniMessage & MiniPlaceholders, making the customization process easier than ever.
- Legacy Support: Legacy Color codes are supported, so you don't have to worry about your old chat formats. PlaceholderAPI is also supported.
- Optional Multi-Server Message Sending: Have multiple servers? No problem. FairyChat supports sending messages across servers with Redis.
- Fully Paper Compatible: FairyChat is fully compatible with Paper, and is optimized to provide the best performance.
- Cooldown for Chat: Prevent spamming by adding a cooldown to chat messages with a configurable threshold.
- Reloadable Configuration: All configuration changes can be reloaded without restarting the server.
- Mentions: Mention other players in chat with ease using the
@symbol. Get notified with a sound when you are mentioned. - Ignore Players: Ignore players you don't want to see messages from.
- Chat clear: Clear the chat with a single command in multiple servers at once.
- Similarity Check: Prevent players from sending similar messages in a short period of time.
You can find the documentation for FairyChat here.
| Command | Permission | Description |
|---|---|---|
/broadcast <message> |
fairychat.command.broadcast |
Broadcast a message to all servers |
fairychat.feature.minimessage |
Allows MiniMessage & Color Codes in chat | |
/pm <username> <message> |
Send a private message to a player | |
/r <message> |
Reply to a private message | |
/ignore <username> |
Toggle ignoring a player | |
fairychat.bypass.ignore |
Bypass ignoring a player | |
fairychat.notify-update |
Notify about updates on join | |
/clearchat [player] |
fairychat.command.chatclear |
Clear the chat for all players or a optional player |
/fairychat |
Show information about FairyChat | |
/fairychat reload |
fairychat.command.fairychat.reload |
Reload the configuration |
fairychat.bypass.similarity |
Bypass the similarity check for last message | |
fairychat.bypass.cooldown |
Bypass the chat cooldown | |
fairychat.feature.displayitem |
Allow players to show the item in and with | |
fairychat.messages.join.ignore |
The join message will not be sent | |
fairychat.messages.quit.ignore |
The quit message will not be sent |
Install Paper for Minecraft 26.3 or a compatible fork, with Java 25.
- Download the latest FairyChat version from here.
- Place the downloaded jar file in your server's
pluginsfolder. - Restart your server.
- Configure FairyChat to your liking.
- Restart your server again.
It's recommended to install FreedomChat alongside FairyChat. FreedomChat fixes the issue with random kicks because of invalid chat signatures.
For more information on how to use placeholders, please checkout the this file.
If you need any help with FairyChat, feel free to join our Discord server.
For bug reports and feature requests, please open an issue on GitHub.
Please checkout the generated configuration file for more information on how to configure FairyChat.
The plugin is one Gradle project. It uses Paper's AsyncChatEvent, ChatRenderer, native Adventure
messages, and async scheduler. Commands use Cloud 2's Paper command manager. Paper loads runtime
libraries through FairyChatLoader. Only bStats is included and relocated in the plugin JAR.
Dependency versions and the Minecraft target are in gradle/libs.versions.toml.
Run ./gradlew test to compile the code and run the tests. Run ./gradlew build to create the plugin JAR.
FairyChat is licensed under MIT License, which can be found here.