Plugin side
The plugin computes the name color letter by letter: the rank gradient without an effect, or the effect’s trigger color for that rank when an effect is active.
A name effect animates the player’s name wherever it is displayed through the plugin placeholders: chat, tab list, nameplate above the head. A player owns effects, picks one active effect, and can remove it at any time.
| ID | Name | Description |
|---|---|---|
eclat |
Éclat Cobalt | A blade of light sweeps across the name every 2 seconds. |
eclat_jumeau |
Éclat Jumeau | Two flashes of light race across the name. |
ressac |
Ressac | Light flows back and forth over the name like a wave. |
poussiere |
Poussière d’Étoile | Stars twinkle at the ends of the name. |
aura |
Aura Mystique | A mystic halo surrounds the name. |
houle |
Houle | Letters gently ripple. |
lucioles |
Lucioles | Letters light up one by one. |
souffle |
Souffle Vital | The name gently breathes. |
flottement |
Flottement | The name floats like a buoy. |
battement |
Battement | The name beats like a heart every 3 seconds. |
reflet |
Reflet | A soft glow slides across the name every 5 seconds. |
prisme |
Prisme | A rainbow reflection crosses the name every 6 seconds. |
ricochet |
Ricochet | A small hop moves from letter to letter every 4 seconds. |
echo |
Écho | An echo of the name floats away every 5 seconds. |
gonfle |
Gonfle | The name slightly inflates every 4 seconds. |
You can rename, remove or add effects in the effets section of config.yml.
Plugin side
The plugin computes the name color letter by letter: the rank gradient without an effect, or the effect’s trigger color for that rank when an effect is active.
Resource pack side
A text shader in the resource pack recognizes those trigger colors and plays the matching animation, restoring the rank color.
Each trigger is a color very close to the rank color (for instance #777778 for a gray #777777 rank): the difference is invisible to the eye, but the shader knows which animation to play and for which rank. Without the shader in the pack, the name is simply shown in the rank color.
The grades section lists ranks by priority: a player gets the first rank in the list whose permission they have. Put the highest ranks first.
grades: admin: permission: cobaltia.nameplate.admin # permission that assigns this rank gras: true # bold name (optional) couleurs: - "#FB0000" # a single color: solid name vip: permission: cobaltia.nameplate.vip couleurs: # several colors: gradient across letters - "#22ECAF" - "#14B871" joueur: permission: cobaltia.grade.joueur couleurs: - "#797777" - "#6F6D6D"permission is required: it links a player to the rank (grant it through your LuckPerms groups).couleurs is required: one color for a solid name, several for a gradient spread over the letters.gras (optional) makes the name bold.effets: eclat: # ID: lowercase letters, digits and _ only nom: "Éclat Cobalt" # name shown in menus and messages description: "Une lame de lumière traverse ton pseudo toutes les 2 secondes." icone: "LAPIS_LAZULI" # Minecraft material or Nexo item (nexo:<id>) declencheurs: # one color per rank + "badge" joueur: "#777778" vip: "#24ECAF" admin: "#F70000" badge: "#FBFFFF"Some effects specifically animate the first and last letters (for example stars at the ends of the name). The marqueurs section defines a dedicated color for those letters, per rank and for badge:
marqueurs: debut: joueur: "#797773" # … one per rank … badge: "#FFF7FF" fin: joueur: "#797378" badge: "#FFFFF7"The start marker is applied to the name only when the player’s prefix has no glyph (badge); otherwise the first glyph of the prefix receives it. Same logic for the end marker and the suffix.
For effects that need to know the position of each letter (for example a hop moving from letter to letter), the positions section gives, per rank, a color step added to the trigger depending on the letter’s place in the name:
positions: joueur: "#000400" vip: "#040000" # … one per rank (badge not required)The shader then deduces each letter’s position from its offset to the trigger.
Glyphs (resource pack characters) found in the player’s LuckPerms prefix and in titles shown after the name receive the active effect’s badge color: your rank badges animate together with the name.
Owning an effect = having the cobaltia.effet.<id> permission granted explicitly (to the player or one of their groups). Wildcards such as cobaltia.effet.* do not grant effects, so a staff rank never unlocks all of them by accident.
Giving an effect: /effets give <player> <effect|tous> adds the permission permanently (even offline). /effets remove <player> <effect|tous> removes it and clears the selection if the removed effect was active.
Selecting: the player uses /effets choisir <effect>, the “Name effects” tab of the wardrobe, or the menu set in menu.
Storage: the active effect is stored in the player’s LuckPerms meta effet_pseudo. It therefore follows the player across every server sharing the same LuckPerms database.
Refresh: after each change, the apres_changement commands run from the console (for instance to refresh another plugin’s tab list).
apres_changement: - "cmi tablistupdate" # {joueur} is replaced by the player namemenu: "zmenu open effets {joueur} false" # console command run by /effets; empty = text listUse the plugin placeholders in your chat, tab or nameplate plugin:
| Need | Placeholder |
|---|---|
Colored/animated name (§ codes) |
%cobaltiaeffets_pseudo% |
| Colored/animated name (MiniMessage) | %cobaltiaeffets_pseudo_mm% |
| LuckPerms prefix with animated badges | %cobaltiaeffets_prefixe% / %cobaltiaeffets_prefixe_mm% |
| Titles shown before the name | %cobaltiaeffets_titres% / %cobaltiaeffets_titres_mm% |
| Titles shown after the name | %cobaltiaeffets_suffixe% / %cobaltiaeffets_suffixe_mm% |
| Preview of an effect on the player’s name | %cobaltiaeffets_apercu_<effect>% / %cobaltiaeffets_apercu_<effect>_mm% |
Active effect (ID or aucun, then name) |
%cobaltiaeffets_effet% / %cobaltiaeffets_effet_nom% |
| Does the player own the effect? | %cobaltiaeffets_possede_<effect>% → oui / non |
The full list is on the Placeholders page.