ColorPrefix
Give your players the power to choose their own rank color — with a beautiful GUI, gradient support, and full compatibility with LuckPerms and PlaceholderAPI.
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
ColorPrefix
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 English (`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
1. Drop `ColorPrefix.jar` into your `plugins/` folder 2. Install LuckPerms and PlaceholderAPI *(recommended)* 3. Restart the server — the plugin detects everything automatically 4. Give players color permissions via LuckPerms (see below) 5. Players use `/colorprefix` to 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: ```yaml my_color: display-name: "My Color" permission: "colorprefix.color.my_color" gradient: false colors: - "#FF0099" ```
Gradient: ```yaml my_gradient: display-name: "My Gradient" permission: "colorprefix.gradient.my_gradient" gradient: true colors: - "#FF0000" - "#FF8800" - "#FFFF00" ```
---
Configuration
```yaml
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*