
[](https://raw.githubusercontent.com/intergrav/devins-badges/1aec26abb75544baec37249f42008b2fcc0e731f/assets/cozy/supported/paper_vector.svg)
[](https://modrinth.com/plugin/chatformatter)
[](https://hangar.papermc.io/EternalCodeTeam/EternalChatFormatter)
[](https://discord.gg/FQ7jmGBd6c)
[](https://docs.eternalcode.pl/eternalcore/introduction)
[](https://bstats.org/plugin/bukkit/ChatForrmatter/15199)
> ⚠ **This plugin requires PlaceholderAPI and Vault to run!**
## 🌌 Preview:


## ✨ Features:
- PlaceholderAPI Support
- [MiniMessages Support](https://docs.adventure.kyori.net/minimessage/format.html) with Legacy Colors Support!
- Template System
- Custom Placeholders System
- Per-permission miniMessages Tags (see permissions below)
## 🔗 Useful links:
- [Web UI](https://webui.adventure.kyori.net)
- [MiniMessages Format](https://docs.adventure.kyori.net/minimessage/format.html)
## 🔑 Permissions:
> **Note:** Each color and decoration permission (e.g., `chatformatter.color.white`, `chatformatter.reset`, `chatformatter.decorations.bold`) grants access to both the legacy code (e.g., `&f`, `&r`, `&l`) and the MiniMessage tag (e.g., ``, ``, ``).
| **Permission** | **Access** |
|:------------------------------------------|:------------------------------------------------------------------------------------------------------|
| `chatformatter.decorations.*` | ``, ``, ``, ``, ``, `&l`, `&o`, `&n`, `&m`, `&k` |
| `chatformatter.decorations.bold` | ``, ``, `&l` |
| `chatformatter.decorations.italic` | ``, ``, ``, `&o` |
| `chatformatter.decorations.underlined` | ``, `&n` |
| `chatformatter.decorations.strikethrough` | ``, ``, `&m` |
| `chatformatter.decorations.obfuscated` | ``, ``, `&k` |
| `chatformatter.reset` | ``, `&r` |
| `chatformatter.newline` | ``, `
` |
| `chatformatter.shadow` | ``, |
| `chatformatter.gradient` | `` |
| `chatformatter.rainbow` | `` |
| `chatformatter.pride` | `` |
| `chatformatter.transition` | `` |
| `chatformatter.hover` | `` |
| `chatformatter.click` | `` |
| `chatformatter.insertion` | `` |
| `chatformatter.color.*` | All color codes: ``, ``, `<#a568a9>`, `&c`, `a568a9`, etc. |
| `chatformatter.color.black` | ``, `&0` |
| `chatformatter.color.dark_blue` | ``, `&1` |
| `chatformatter.color.dark_green` | ``, `&2` |
| `chatformatter.color.dark_aqua` | ``, `&3` |
| `chatformatter.color.dark_red` | ``, `&4` |
| `chatformatter.color.dark_purple` | ``, `&5` |
| `chatformatter.color.gold` | ``, `&6` |
| `chatformatter.color.gray` | ``, `&7` |
| `chatformatter.color.dark_gray` | ``, `&8` |
| `chatformatter.color.blue` | ``, `&9` |
| `chatformatter.color.green` | ``, `&a` |
| `chatformatter.color.aqua` | ``, `&b` |
| `chatformatter.color.red` | ``, `&c` |
| `chatformatter.color.light_purple` | ``, `&d` |
| `chatformatter.color.yellow` | ``, `&e` |
| `chatformatter.color.white` | ``, `&f` |
| `chatformatter.score` | `` |
| `chatformatter.selector` | `` |
| `chatformatter.font` | `` |
| `chatformatter.translatable` | `` |
| `chatformatter.keybind` | `` |
| `chatformatter.nbt` | `` |
| `chatformatter.reload` | `/chatformatter reload` |
| `chatformatter.receiveupdates` | receive update announcements for this plugin |
### config.yml
```yaml
# ____ _ _ _____ ChatFormatter _ _
# / ___| |__ __ _| |_| ___|__ _ __ _ __ ___ __ _| |_| |_ ___ _ __
# | | | '_ \ / _` | __| |_ / _ \| '__| '_ ` _ \ / _` | __| __/ _ \ '__|
# | |___| | | | (_| | |_| _| (_) | | | | | | | | (_| | |_| || __/ |
# \____|_| |_|\__,_|\__|_| \___/|_| |_| |_| |_|\__,_|\__|\__\___|_|
# Do you want to receive updates about new versions of ChatFormatter?
receiveUpdates: true
# Chat format for ranks (Vault) Support mini-messages and legacy colors
# We're recommending to use webui for mini-messages: https://webui.adventure.kyori.net/
# documentation is here: https://docs.adventure.kyori.net/minimessage/format.html
# You can check LuckPerms setup and placeholders here: https://luckperms.net/wiki/Placeholders
#
# Example usages:
#
# Hover message:
# One line: test'>TEST
# Multiple lines: test'>TestTest2
#
# Click message:
# Open URL: TEST
# Run command: Click to say hello
# Suggest command:
#
# RGB and gradient message usage:
# Example message
# Example message
#
# You can use three more internal placeholders:
#
defaultFormat: "{displayname} » {message}"
# Here you can set different formats for each rank.
# Remember! Rank name must be exactly the same as in you permission plugin configuration.
# If player have more than one rank remember to correctly setup rank weight configuration
format:
default: "{member} &7$hoverName({displayname}) &8» {message} "
vip: "{vip} &f$hoverName({displayname}) » {message}"
mod: "{mod} &f$hoverName({displayname}) » {message}"
admin: "{admin} &f$hoverName({displayname}) » {message}"
owner: "{owner} &f$hoverName({displayname}) » {message}"
# Placeholders, it allows you to make a shorter text, you can use some prefixes, characters etc.
# You can use here PAPI placeholders.
placeholders:
{displayname}: ""
{name}: ""
{message}: ""
{member}: "<#6e6764>Member"
{vip}: "VIP"
{mod}: "<#00c900>Mod"
{admin}: "<#6e86ff>Admin"
{owner}: "Owner"
{rankDescription}: "Rank: %vault_group%"
{joinDate}: "Joined: %player_first_join_date%"
{health}: "Health: %player_health%"
{lvl}: "LVL: %player_level%"
{privateMessage}: "Click to send private message"
# This section is made for experienced users
# It is used to shorten the text even more and keep the clean file!
templates:
- "$hoverName($name) -> 'Name: $name
{rankDescription}
{joinDate}
{health}
{lvl}
{privateMessage}'>{displayname}'"
```