Configuration¶
Two files in plugins/SnowbirdTags/. /tagsadmin reload re-reads both tags.yml and all of
config.yml, including the database settings, rank tags, hover lines and custom messages. It is
all or nothing: if anything is wrong, nothing changes and the reply says why. A new jar still needs
a restart. (This full reload arrived in 1.5.0. On a backend still running 1.4.1, only tags.yml
and messages reload, and database changes need a restart.)
tags.yml is the tag catalog. Keep it byte-identical on every backend (see
Troubleshooting).
tags:
champion:
display-name: '<gold>[Champion]</gold>'
chat: "<hover:show_text:'<yellow>Won a seasonal championship.</yellow>'><gold>[Champion]</gold></hover> "
description: 'Seasonal tournament champion.'
acquisition-description: 'Win an official seasonal tournament.'
shop-purchasable: false
price: 0
material: NETHER_STAR
locked-material: GRAY_DYE
- The id (
champion) is a permanent storage key. Never rename it. Change only the display text. display-nameis for the menu.chatis what goes in chat. Keep the trailing space at the end ofchat; it separates the tag from the name.descriptionandacquisition-descriptionare plain text, not MiniMessage. Every player sees theacquisition-descriptionon locked tags, so do not give away secrets there.- Both
display-nameandchatare checked with strict MiniMessage. A bad tag fails a reload safely, but would stop the plugin from starting on the next boot. Check edits carefully.
config.yml sections:
| Section | What it is for |
|---|---|
database |
Shared MariaDB login. Same on every backend. |
cache-refresh-seconds |
How often online players' cached tags refresh from the database (default 30). |
rank-tags |
The rank badge catalog: priority (higher wins by default, match the LuckPerms weight), display, permission, chat. |
hover.server-name |
Set to main on main only. Leave blank everywhere else. |
hover.authoritative-server |
Whose numbers everyone shows. main. |
hover.refresh-seconds, hover.max-slots |
Hover refresh timer (120) and how many rows a player gets (3). |
hover.lines |
The lines players can pick. icon must be a vanilla material. permission blank means everyone. |
menu, messages |
Menu titles and all player text, in MiniMessage. |
custommessages |
Max length, cooldown, ChatControl moderation, the message wrappers and defaults, the EssentialsX AFK option, and the optional Discord audit channel. |
Rank badge standard: id = LuckPerms group, permission: snowbirdtags.ranktag.<id>, priority =
group weight, and chat = <gray>[</gray><gradient:DEEP:LIGHT>Full Name</gradient><gray>]</gray>,
the same as the group's LuckPerms prefix.
For EssentialsX AFK messages, set broadcast-afk-message: false in the Essentials config and turn on
custommessages.essentials-afk-broadcast-fallback. The Discord audit channel only sends from the
backend where discord-dispatcher-enabled is true (main).
Chat setup (in ChatControl, not here):
| Placeholder | What it gives |
|---|---|
%snowbirdtags_active% |
The active tag's chat text, with its trailing space |
%snowbirdtags_active_id% |
The active tag id |
%snowbirdtags_owned_count% |
How many tags the player owns |
%snowbirdtags_rank_prefix% |
The chosen rank badge, else the LuckPerms prefix, always with one trailing space |
%snowbirdtags_hover% |
The player's hover lines, each ending in a new line |
ChatControl's chat formats use Hover: "%snowbirdtags_hover%<gray>Click to message.". For proxy TAB,
point every group's tabprefix and tagprefix at %snowbirdtags_rank_prefix%, not just
_DEFAULT_, or a hard-coded group prefix hides the chosen badge.