-
Notifications
You must be signed in to change notification settings - Fork 12
Chat Formatting
EliteEssentials provides a powerful group-based chat formatting system that allows you to customize how chat messages appear based on player groups. This works seamlessly with both LuckPerms and the simple permission system.
The chat formatting system allows you to:
- Define custom chat formats for different player groups
- Use color codes and formatting
- Set priorities when players belong to multiple groups
- Support both LuckPerms groups and simple OP/Admin permissions
- Easily add new custom groups
Chat formatting is configured in mods/EliteEssentials/config.json under the chatFormat section:
{
"chatFormat": {
"enabled": true,
"groupFormats": {
"Owner": "&4[Owner] {player}&r: {message}",
"Admin": "&c[Admin] {player}&r: {message}",
"Moderator": "&9[Mod] {player}&r: {message}",
"OP": "&c[OP] {player}&r: {message}",
"VIP": "&6[VIP] {player}&r: {message}",
"Player": "&a{player}&r: {message}",
"Default": "&7{player}&r: {message}"
},
"groupPriorities": {
"Owner": 100,
"Admin": 90,
"Moderator": 80,
"OP": 75,
"VIP": 50,
"Player": 10,
"Default": 0
},
"defaultFormat": "&7{player}&r: {message}"
}
}The groupFormats section defines the chat format for each group. The format string supports:
| Placeholder | Description | Example |
|---|---|---|
{player} |
Player's username | Steve |
{displayname} |
Player's display name (for future nickname support) | Steve |
{message} |
The actual chat message | Hello everyone! |
Use & followed by a code for colors and formatting:
| Code | Color/Format | Example |
|---|---|---|
&0 |
Black | &0Black text |
&1 |
Dark Blue | &1Dark blue text |
&2 |
Dark Green | &2Dark green text |
&3 |
Dark Aqua | &3Dark aqua text |
&4 |
Dark Red | &4Dark red text |
&5 |
Dark Purple | &5Dark purple text |
&6 |
Gold | &6Gold text |
&7 |
Gray | &7Gray text |
&8 |
Dark Gray | &8Dark gray text |
&9 |
Blue | &9Blue text |
&a |
Green | &aGreen text |
&b |
Aqua | &bAqua text |
&c |
Red | &cRed text |
&d |
Light Purple | &dLight purple text |
&e |
Yellow | &eYellow text |
&f |
White | &fWhite text |
&l |
Bold | &lBold text |
&o |
Italic | &oItalic text |
&r |
Reset | &cRed&r Normal |
"Owner": "&4[Owner] {player}&r: {message}"Result: [Owner] Steve: Hello! (with red prefix)
"VIP": "&6&l[VIP] &r&e{player}&r: {message}"Result: [VIP] Steve: Hello! (bold gold VIP, yellow name)
"Player": "&a{player}&r: {message}"Result: Steve: Hello! (green name, white message)
The groupPriorities section determines which format is used when a player belongs to multiple groups. Higher numbers = higher priority.
- The system checks all groups the player belongs to
- For each group, it looks up the priority number
- The group with the highest priority is used for formatting
- If no matching group is found, the
Defaultformat is used
Example 1: Player has VIP and Player groups
- VIP priority: 50
- Player priority: 10
- Result: VIP format is used (50 > 10)
Example 2: Player has Admin and VIP groups
- Admin priority: 90
- VIP priority: 50
- Result: Admin format is used (90 > 50)
Example 3: Player has Owner, Admin, and VIP groups
- Owner priority: 100
- Admin priority: 90
- VIP priority: 50
- Result: Owner format is used (100 is highest)
- 100+: Server Owner/Founder
- 80-99: Admin/Manager
- 60-79: Moderator/Helper
- 40-59: VIP/Donator ranks
- 10-39: Special roles
- 1-9: Default players
- 0: Fallback/Default
To add a new group, simply add it to both groupFormats and groupPriorities:
{
"chatFormat": {
"enabled": true,
"groupFormats": {
"Owner": "&4[Owner] {player}&r: {message}",
"Admin": "&c[Admin] {player}&r: {message}",
"Moderator": "&9[Mod] {player}&r: {message}",
"OP": "&c[OP] {player}&r: {message}",
"VIP": "&6[VIP] {player}&r: {message}",
"Bamboozle": "&d[Bamboozle] {player}&r: {message}",
"Player": "&a{player}&r: {message}",
"Default": "&7{player}&r: {message}"
},
"groupPriorities": {
"Owner": 100,
"Admin": 90,
"Moderator": 80,
"OP": 75,
"VIP": 50,
"Bamboozle": 45,
"Player": 10,
"Default": 0
},
"defaultFormat": "&7{player}&r: {message}"
}
}Important Notes:
- Group names are case-sensitive and must match exactly with LuckPerms group names
- Always add the group to both
groupFormatsANDgroupPriorities - Choose a priority that makes sense relative to other groups
- Use
/ee reloadto apply changes without restarting the server
When LuckPerms is installed, the chat formatting system automatically:
- Detects all groups the player belongs to (including inherited groups)
- Checks each group against your configured formats
- Selects the highest priority group that has a format defined
- Falls back to simple permission system if no LuckPerms groups match
If you have these LuckPerms groups:
-
default(inherited by everyone) -
vip(donator rank) -
moderator(staff rank) -
admin(senior staff)
Your config should include:
"groupFormats": {
"admin": "&c[Admin] {player}&r: {message}",
"moderator": "&9[Mod] {player}&r: {message}",
"vip": "&6[VIP] {player}&r: {message}",
"default": "&7{player}&r: {message}"
},
"groupPriorities": {
"admin": 90,
"moderator": 80,
"vip": 50,
"default": 0
}Note: Group names must match your LuckPerms group names exactly (usually lowercase).
If LuckPerms is not installed, the system falls back to simple permissions:
- Players with OP status get the "OP" or "Admin" format (whichever has higher priority)
- All other players get the "Default" format
To disable chat formatting entirely, set enabled to false:
{
"chatFormat": {
"enabled": false,
...
}
}Then reload with /ee reload.
- Check group name spelling - Must match LuckPerms exactly (case-sensitive)
-
Verify both sections - Group must be in both
groupFormatsANDgroupPriorities - Check priority - Make sure the priority is higher than other groups the player has
-
Reload config - Use
/ee reloadafter making changes -
Enable debug - Set
debug: truein config to see which format is being applied
-
Check all their groups - Use
/lp user <player> infoto see all groups - Compare priorities - The highest priority group wins
- Verify format exists - Make sure all their groups have formats defined
- Check inheritance - LuckPerms inherited groups are also checked
-
Use
¤- EliteEssentials uses&for color codes -
Use
&rto reset - Always reset formatting after colored sections - Check syntax - Make sure color codes are properly formatted
"VIP": "&6[&eV&6I&eP&6] &e{player}&r: {message}"Result: Alternating gold/yellow VIP tag
"Admin": "&c&l[ADMIN]&r &c{player}&r: {message}"Result: Bold red ADMIN tag, red name, white message
"Player": "{player}: {message}"Result: No colors, just Steve: Hello!
"Owner": "&4&l[&c&lOWNER&4&l]&r &4{player}&r: &f{message}"Result: Bold dark red/red OWNER tag, dark red name, white message
- Chat formatting is applied in real-time for every message
- The system is optimized to cache group lookups
- No noticeable performance impact even with many players
- LuckPerms group queries are efficient and cached
- Configuration - General configuration guide
- Permissions - Permission system documentation
- Placeholders - All available placeholders
EliteEssentials by EliteScouter | GitHub | Report Issues