Skip to content

Access Control

Emote reads access rules from config/emote/emotes.json.
Permissions are resolved through a Fabric Permissions API-compatible mod such as LuckPerms.

Permission types

Permission Purpose Default
emote.manage Can use admin command Game-master permission level
emote.bypass Ignore selection and playback policy for administration and testing Denied
emote.default Built-in group used by emotes.json Allowed unless explicitly denied
Custom permission Server-defined groups such as VIP, supporter, or administrator Denied unless granted

emote.manage does not grant emote access. Grant emote.bypass or add a permission entry containing "emotes": ["*"] when an administrator also needs every emote.


Playback policy

Playback source Permission Standalone Disable Cooldown
Wheel and commands Yes Yes Yes Yes
Idle No Yes Yes Yes
API No No No No
emote.bypass No No No No

API and bypass playback must still meet the minimum playback requirements.


emotes.json

{
  "schema_version": 2,
  "disabled": ["example:broken"],
  "permissions": [
    {
      "permission": "emote.default",
      "emotes": ["example:wave", "example:hello"]
    },
    {
      "permission": "emote.vip",
      "emotes": ["example:dance", "example:sit"]
    },
    {
      "permission": "emote.admin",
      "emotes": ["*"]
    }
  ]
}
Field Behavior
schema_version Must be 2.
disabled Hidden from normal players. Only players with emote.bypass can use them.
permissions Permission groups used to assemble each player's available emote IDs.
permission Permission checked through the installed permission provider.
emotes Exact allowed IDs. "*" grants every enabled standalone emote.
idle Optional idle-playback rule. See Idle Emotes.