Content generated with AI — it may contain mistakes.

Reference

Permissions

The six nodes, and how a tab or a rarity is sold as one line.

The nodes

PermissionGrants
exyliaemotes.command.emote/emote and everything under it.
exyliaemotes.adminEvery subcommand of /emotesadmin, and the hint on how to set a preview stage.
exyliaemotes.emote.<id>One emote, by its id.
exyliaemotes.emote.*Every emote.
exyliaemotes.category.<id>Every emote in that tab.
exyliaemotes.tier.<id>Every emote of that rarity.

None of them is declared in plugin.yml, so none is given to anybody by default: only operators hold them until a permissions plugin grants them.

An emote is owned if any of the four emote nodes applies: its own, the wildcard, its tab's or its rarity's. A permission is only half of owning one — the other half is an unlock from the crate, which is written to the player's account instead. The menu, the commands, the placeholders and the stage all ask the same question, so they cannot disagree.

The id is the node

There is no permission key in emotes.yml. The node is the key, lowercased:

wave         →  exyliaemotes.emote.wave
meme         →  exyliaemotes.category.meme
legendary    →  exyliaemotes.tier.legendary

Renaming a key is a different node, and everybody who had the old one loses the emote.

Selling it

/lp group default permission set exyliaemotes.command.emote true
/lp group default permission set exyliaemotes.emote.wave true
/lp group vip     permission set exyliaemotes.category.meme true
/lp group mvp     permission set exyliaemotes.emote.handshake true
/lp group elite   permission set exyliaemotes.tier.legendary true
/lp group legend  permission set exyliaemotes.emote.* true
Give the menu away

Without exyliaemotes.command.emote the catalogue cannot be opened at all, and a player who cannot see what is for sale cannot want it. Locked emotes are shown locked, and can be previewed.

What the nodes are checked for

MomentWhat happens without one
Performing, from the menu or /emote playRefused with no-permission, while behaviour.require-permission is on.
Accepting a duetBoth players must own it, or it is refused on accept.
Being drawnbehaviour.hide-without-permission decides whether a locked emote is hidden in the menu or shown locked. On the favourites tab it is always shown.
Tab completion of /emote playOnly owned emotes are offered.

With behaviour.require-permission: false every emote is playable by anybody who can run /emote, and nothing in the menu is locked.

Previewing and starring never need the emote's node. /emotesadmin play does not either — it reaches past ownership on purpose.

Something missing on this page? Tell us on Discord