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.
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.
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.
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.
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 |
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.
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.
ColorPrefix.jar into your plugins/ folder/colorprefix to open the GUIThat's it. No chat format changes needed if you use TAB or LPC.
| 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 |
| 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
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"
# 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
Made with ♥ by itsLarss

Give your players the power to choose their own rank color — with a beautiful GUI, gradient support, and full compatibility with LuckPerms and PlaceholderAPI.