Custom name tags — prefix & suffix — shown above the head, in the tab list and in chat, managed entirely from an in-game menu. Runs on Paper and Spigot. No commands to memorize.
A tag is a colored label attached to a player. CyTags shows it in three places and lets staff manage everything by clicking, not typing.
Tags render on the nametag and in the player list via the server scoreboard.
The prefix and suffix wrap the player's name in chat messages.
Pick a color, toggle bold/italic, type the text — or paste full MiniMessage for gradients.
Save named, reusable tags. Browse them paginated, edit, rename, or delete.
Assign or clear tags for online players (by head) or offline players (by name).
Attach a permission to a tag and everyone with that node gets it automatically.
Expose the tag to any chat, tab or scoreboard plugin via placeholders.
Every player-facing message lives in messages.yml, colors included.
CyTags-1.0.0.jar into your server's plugins/ folder.On first start CyTags creates plugins/CyTags/ with settings.yml, messages.yml and a data file. Runs on Paper or Spigot, tested from 1.21 up to 26.2, on Java 21+.
Everything starts with one command. The menu adapts to your permissions.
/tag # opens the main menu
Choose one of 16 colors, toggle Bold/Italic, and Set text (typed in chat). For a gradient, hex or rainbow, use Custom / gradient and paste MiniMessage. Save & apply to me stores it in the library and sets it as your prefix.
Opens a grid of online players' heads. Left-click a head to pick a tag; then choose As prefix or As suffix. Right-click a head to clear that player's tag. Use Assign to offline player to type a name.
Aliases: /cytags, /cytag.
| Command | What it does | Permission |
|---|---|---|
/tag | Open the main menu | cytags.use |
/tag list | Open the tag library | cytags.use |
/tag admin | Open the players menu (give / clear) | cytags.admin |
/tag clear | Remove your own tag | cytags.use |
/tag reload | Reload data, settings & messages | cytags.admin |
| Node | Grants | Default |
|---|---|---|
cytags.use | Open the menu, create and use your own tag | op |
cytags.admin | Give/clear tags for others, manage the library, reload | op |
cytags.tag.<name> | Auto-assign a library tag (see below) | — |
These are ordinary Bukkit nodes, so any permissions plugin (LuckPerms, CyPerms, …) can grant them per group. Example: give the whole vip group access with cytags.use.
Attach a permission node to a library tag and it is applied automatically to every player who has that node — no manual assignment.
VIP, value <gold>[VIP]</gold>).cytags.tag.vip.Anyone in that rank now wears [VIP] automatically. A manually assigned prefix always overrides an auto-tag.
Tag values use MiniMessage. The 16 named colors are pickable in the editor; gradients and hex go through the Custom button.
| You type | Result |
|---|---|
<gold>[VIP]</gold> | [VIP] |
<red><bold>ADMIN | ADMIN |
<gradient:#f9d976:#f39f86>OWNER</gradient> | OWNER |
<rainbow>STAFF</rainbow> | STAFF |
<#8a2be2>MOD</#8a2be2> | MOD |
With PlaceholderAPI installed, CyTags registers the cytags expansion automatically. Use these in any compatible plugin:
| Placeholder | Returns |
|---|---|
%cytags_prefix% | The player's effective prefix (colored) |
%cytags_suffix% | The player's effective suffix (colored) |
%cytags_tag% | Alias of %cytags_prefix% |
Three files under plugins/CyTags/. Run /tag reload to apply changes without a restart.
settings.yml — behaviourdisplay:
nametag-and-tab: true # tag above head + in tab (scoreboard)
chat: true # wrap the name in chat
metrics: true # anonymous bStats usage stats
update-check: true # notify admins of new versions
messages.yml — all player-facing textEvery message is MiniMessage and supports placeholders like {player} and {tag}. Edit freely to translate or restyle.
The library and per-player prefixes/suffixes are written here by the menus and saved atomically. Editing while the server runs will be overwritten.
The nametag and tab list use the server's main scoreboard. If another plugin (a sidebar, a custom tab, some anti-cheat) takes over the scoreboard, your tag can be hidden. Fix it by setting display.nametag-and-tab: false and showing the tag through %cytags_prefix% in a tab/nametag plugin instead. Chat and placeholders keep working regardless.
CyTags 1.0.0 · by cywerstudio · Paper & Spigot 1.21–26.2 / Java 21+ · pairs with CyPerms for rank-based auto-tags.