Content generated with AI — it may contain mistakes.

Reference

Permissions

The eight nodes the plugin declares, what each one gates, their defaults, and what the menus do not check.

Eight nodes, all declared in the plugin. Seven are granted to everyone by default; the admin node is for operators.

Plugin nodes

PermissionDefaultWhat it gates
exyliaaimtrainer.traineveryone/aim train and /aim drills.
exyliaaimtrainer.settingseveryone/aim settings.
exyliaaimtrainer.dueleveryone/aim duel, /aim accept and /aim deny: sending, accepting and declining requests.
exyliaaimtrainer.leaveeveryone/aim leave and /aim stop.
exyliaaimtrainer.profileeveryone/aim profile and /aim stats, own and others'.
exyliaaimtrainer.leaderboardeveryone/aim leaderboard and /aim top.
exyliaaimtrainer.historyeveryone/aim history and /aim sessions.
exyliaaimtrainer.adminoperators/aimtraineradmin, /aimadmin and reload.

/aim itself, the main menu, has no node: anybody can open it.

The nodes gate commands, not menus

The checks live on the commands. The menus and the in-drill hotbar do not ask for them. A player without exyliaaimtrainer.train cannot type /aim train, but can open /aim, click Drills and start any of them; the same goes for settings, profiles, leaderboards, history, sending a duel from the opponent picker, and the leave buttons.

The one exception is answering a duel: the Accept and Decline buttons in the request run /aim accept and /aim deny, so those clicks do check exyliaaimtrainer.duel.

To keep a group out of a feature, take the main menu away from them as well — for instance by blocking /aim, /aimtrainer and /at with your command manager — rather than relying on the node alone.

The admin actions do not check the node either

Every staff screen is reached through /aimtraineradmin, which does check exyliaaimtrainer.admin. The actions behind those screens — aimtrainer:admin_arena_delete_do, aimtrainer:admin_player_reset_do and the rest — do not check it themselves. Never bind an aimtrainer:admin_* action to an item in a player-facing menu or in another plugin's file: whoever clicks it runs it.

Nothing per drill, nothing per arena

There are no permission nodes for individual drills, formats, colours, styles or arenas, and none that lets a player run blocked commands while inside a drill. A player who may train may train every configured drill at any size and distance inside the configured range.

Examples

Taking duels away from a group while leaving drills in place:

/lp group default permission set exyliaaimtrainer.duel false

Handing the admin screens to staff who are not operators:

/lp group staff permission set exyliaaimtrainer.admin true

Without the permission, a command answers with the configured no-permission line from messages.yml.

Something missing on this page? Tell us on Discord