Skip to content

Staff guide

Permissions:

Node Default Use
snowbirdtags.use everyone /tags
snowbirdtags.hover everyone /hover
snowbirdtags.ranktags.use everyone /ranktags
snowbirdtags.ranktag.<id> LuckPerms only Access to one rank badge, for example snowbirdtags.ranktag.rank2fire
snowbirdtags.custommessages.use nobody /custommessage. Grant to any user or group
snowbirdtags.admin op /tagsadmin
snowbirdtags.ranktags.admin op /ranktagsadmin
snowbirdtags.custommessages.admin op /custommessageadmin

Grant and manage tags:

/tagsadmin grant Steve champion tournament:season-4
/tagsadmin revoke Steve champion
/tagsadmin list Steve
/tagsadmin purchase Steve beta-fancy
/tagsadmin reload
  • grant and revoke take a name or UUID. A name works only if the player is online or has joined once with the plugin loaded. Otherwise use their UUID.
  • The last word of grant is the source, saved for audit.
  • revoke also unequips the tag if it was active.
  • purchase is for EconomyShopGUI buttons and console. It only works for online players and tags with shop-purchasable: true. The price in tags.yml is what gets charged. Set the shop's own price to 0 so it cannot charge twice. The plugin checks ownership before charging, handles one click at a time per player, and refunds if saving the unlock fails.

Rank badges:

/lp group rank2fire permission set snowbirdtags.ranktag.rank2fire true
/ranktagsadmin select Steve rank2fire
/ranktagsadmin clear Steve
/ranktagsadmin list Steve

Access is always granted in LuckPerms. /ranktagsadmin only picks the active badge. Rank purchase delivery on the website runs ranktagsadmin select {recipient} <id> right after it adds the LuckPerms group. The bare Rank 1 to 5 prefixes are not selectable on purpose.

Custom messages:

/lp group rank3 permission set snowbirdtags.custommessages.use true
/lp user Steve permission set snowbirdtags.custommessages.use true
/custommessageadmin pending
/custommessageadmin approve 42
/custommessageadmin reject 42 contains a slur
/custommessageadmin set Steve join has arrived
/custommessageadmin clear Steve all
/custommessageadmin lock Steve spamming
/custommessageadmin unlock Steve
/custommessageadmin history Steve join
/custommessageadmin rollback Steve 17 join

The node is the only gate. Group names and rank do not matter. The pending queue is only used when ChatControl auto-moderation is off or ChatControl cannot be reached.

Test as a non-op. Ops skip CommandWhitelist, so an op test cannot tell a whitelisted command from a blocked one. tags, hover and ranktags must be in CommandWhitelist. Keep the admin commands staff-only.