ColorPrefix
Give your players the power to choose their own rank color — with a beautiful GUI, gradient support, and automatic compatibility with TAB, LPC, and more.
Features
Color Selection GUI
Players open a sleek inventory GUI (/colorprefix) showing all colors they have permission for. Leather chestplates serve as dyed previews, the active color glows, and pagination handles large color lists cleanly.
Solid Colors & Gradients
Supports single hex colors as well as multi-stop MiniMessage gradients — Adventure interpolates gradient colors per character automatically. Add as many colors as you want in colors.yml with just a few lines.
Automatic Multi-Plugin Support
ColorPrefix detects your installed chat and tab plugins at startup and applies the correct color format for each one — simultaneously. No manual configuration required.
| Plugin | Format used | How it's applied |
|---|---|---|
| TAB by neznamy 4.x+ | MiniMessage (native) | TAB API setPrefix() |
| LPC | &#RRGGBB per character |
LuckPerms prefix node |
| EssentialsXChat | &#RRGGBB per character |
LuckPerms prefix node |
| ChatControl / Red | &#RRGGBB per character |
LuckPerms prefix node |
| CMI | §x hex per character |
LuckPerms prefix node |
| VentureChat | &#RRGGBB per character |
LuckPerms prefix node |
| None found | — | PlaceholderAPI only |
Having TAB and LPC installed at the same time? No problem — both get the right format simultaneously.
PlaceholderAPI Support
Use %colorprefix_prefix% anywhere PlaceholderAPI is supported to render the colored prefix without touching LuckPerms directly.
| Placeholder | Returns |
|---|---|
%colorprefix_prefix% |
Colored LP prefix (wrapped in chosen color) |
%colorprefix_tag% |
Opening MiniMessage color tag |
%colorprefix_close_tag% |
Closing MiniMessage tag |
%colorprefix_color_id% |
ID of the selected color, or none |
Multi-Language
Ships with German (de) and English (en). All messages and GUI texts are fully configurable via MiniMessage. Add your own language by dropping a lang/xx.yml into the plugin folder.
Config Auto-Migration
When you update the plugin, new config keys are added automatically — without ever overwriting your existing settings. The migration runs silently on startup and logs what was added.
Installation
- Drop
ColorPrefix.jarinto yourplugins/folder - Install LuckPerms and PlaceholderAPI (recommended)
- Restart the server — the plugin detects everything automatically
- Give players color permissions via LuckPerms (see below)
- Players use
/colorprefixto open the GUI
That's it. No chat format changes needed if you use TAB or LPC.
Permissions
| Permission | Description |
|---|---|
colorprefix.use |
Open the color GUI (default: true) |
colorprefix.color.<id> |
Access a specific solid color |
colorprefix.gradient.<id> |
Access a specific gradient |
colorprefix.color.* |
Access all solid colors |
colorprefix.gradient.* |
Access all gradients |
colorprefix.* |
Full access including admin commands |
colorprefix.admin.reload |
Reload config and colors |
colorprefix.admin.reset |
Reset a player's color |
colorprefix.admin.give |
Give a color to a player |
Commands
| Command | Permission | Description |
|---|---|---|
/cp |
colorprefix.use |
Open color GUI |
/cp reload |
colorprefix.admin.reload |
Reload config & colors |
/cp reset [player] |
colorprefix.admin.reset |
Reset a player's color |
/cp give <player> <id> |
colorprefix.admin.give |
Give a color to a player |
Aliases: /colorprefix, /color, /farbe
Adding Colors
Open colors.yml and add a block — then run /cp reload, no restart needed:
Solid color:
my_color:
display-name: "My Color"
permission: "colorprefix.color.my_color"
gradient: false
colors:
- "#FF0099"
Gradient:
my_gradient:
display-name: "My Gradient"
permission: "colorprefix.gradient.my_gradient"
gradient: true
colors:
- "#FF0000"
- "#FF8800"
- "#FFFF00"
Configuration
# Language: en or de (or your own lang/xx.yml)
language: en
# Chat plugin integration
chat-plugins:
auto-apply: true # set false to use PlaceholderAPI only
# LuckPerms prefix node weight
luckperms:
prefix-weight: 100
Requirements
- Paper / Purpur 1.21.x
- Java 21+
- LuckPerms (optional but strongly recommended)
- PlaceholderAPI (optional)
- TAB / LPC / EssentialsChat / CMI / etc. (optional — auto-detected)
Made with ♥ by itsLarss
External resources
Featured versions
See allProject members

itsLarss_
Owner
