Skip to content

Permissions ​

Every command of AppelTools is behind a permission node. The nodes live under appeltools.command, grouped per category, and they are declared in one place: common/Types/Permissions.java.

The plugin never grants a node itself. It only asks the permission provider (LuckPerms on both sides) whether the player has it. If you use another provider, the node names stay the same.

How the nodes are put together ​

Most categories have a root node that stands for the whole category, plus a node per command:

appeltools.command.teleport          the whole category
appeltools.command.teleport.back     one command

A command with a root node and a node of its own asks for both:

/tp     needs  appeltools.command.teleport
/back   needs  appeltools.command.teleport.back

WARNING

Some commands ask for more than one node, and a player needs all of them. The gamemodes are the clearest example:

/gamemode creative
    needs  appeltools.command.gamemode
    and    appeltools.command.gamemode.creative

Granting only appeltools.command.gamemode.creative is therefore not enough — the category node is needed as well. The same holds for /2fasetup, /verify and the /atp and /atv subcommands; the tables below spell out which nodes each of them asks for.

To hand out a whole category at once, give the root and the commands, or use the wildcard that LuckPerms offers:

/lp user Steve parent add appeltools.command.teleport.* true

The commands that have no node are the ones every player may use: the private messages, the ignores, /rules, /chat, /pchat and the /help of the plugin itself.

Teleport ​

NodeCommand
appeltools.command.teleport/tp
appeltools.command.teleport.back/back
appeltools.command.teleport.here/tphere
appeltools.command.teleport.pos/tppos
appeltools.command.teleport.ask/tpask
appeltools.command.teleport.ahere/tpahere
appeltools.command.teleport.accept/tpaccept
appeltools.command.teleport.deny/tpdeny
appeltools.command.teleport.acancel/tpacancel
appeltools.command.teleport.auto/tpauto
appeltools.command.teleport.toggle/tptoggle
appeltools.command.teleport.bypasscooldownskips the teleport cooldown

Homes ​

NodeCommand
appeltools.command.homethe category
appeltools.command.home.home/home
appeltools.command.home.sethome/sethome
appeltools.command.home.delhome/delhome
appeltools.command.home.delhomeconfirm/delhomeconfirm
appeltools.command.home.renamehome/renamehome

Comfort ​

NodeCommand
appeltools.command.speed/speed, /walkspeed, /flyingspeed
appeltools.command.speed.fly/fly
appeltools.command.gamemodethe category — needed by every gamemode
appeltools.command.gamemode.adventure/adventure
appeltools.command.gamemode.creative/creative
appeltools.command.gamemode.spectator/spectator
appeltools.command.gamemode.survival/survival
appeltools.command.gamemode.setotherchanging another player's gamemode

A gamemode asks for both the category node and its own node:

/gamemode creative
    needs  appeltools.command.gamemode
    and    appeltools.command.gamemode.creative

Economy ​

NodeCommand
appeltools.command.economy/economy — the admin side
appeltools.command.economy.balance/balance
appeltools.command.economy.baltop/baltop
appeltools.command.economy.pay/pay
appeltools.command.economy.togglepay/togglepay
appeltools.command.economy.transactionhistorythe log of your own balance
appeltools.command.economy.transactionhistory.otherthe log of someone else's balance

Staff ​

NodeCommand
appeltools.command.staffthe category
appeltools.command.staff.freeze/freeze
appeltools.command.staff.notesgui/notesgui
appeltools.command.staff.staffchat/staffchat, /staffchattoggle, /chat staff
appeltools.command.staff.stafflist/stafflist
appeltools.command.staff.versionlist/versionlist
appeltools.command.staff.staffnotes/notes
appeltools.command.staff.reports/reports
appeltools.command.staff.staffspy/staffspytoggle
appeltools.command.staff.stats/stats
appeltools.command.staff.seen/seen
appeltools.command.staff.alts/alts
appeltools.command.staff.geoip/geoip
appeltools.command.staff.broadcast/broadcast

Admin ​

NodeCommand
appeltools.command.adminthe category
appeltools.command.admin.reload/atp reload, /atv reload
appeltools.command.admin.modules/atp modules, /atv modules
appeltools.command.admin.debugthe /atp debug and /atv debug subcommands
appeltools.command.admin.restart/restartproxy, /restartserver
appeltools.command.admin.maintenance/maintenance
appeltools.command.admin.maintenance.bypassplaying during the maintenance
appeltools.command.admin.pluginupdater/atp updater, /atv updater
appeltools.command.admin.servers/servers
appeltools.command.admin.health/atp health

The subcommands of /atp and /atv ask for more than one node:

CommandNeeds
/atp reloadappeltools.command.admin and appeltools.command.admin.reload
/atp healthappeltools.command.admin and appeltools.command.admin.health
/atp modulesappeltools.command.admin and appeltools.command.admin.modules
/atp debugappeltools.command.admin and appeltools.command.admin.debug
/atp 2fa resetappeltools.command.admin and appeltools.command.twofactor.reset
/atp updaterappeltools.command.admin and appeltools.command.admin.pluginupdater
/atv reloadappeltools.command.admin and appeltools.command.staff and appeltools.command.admin.reload
/atv modulesappeltools.command.admin and appeltools.command.staff and appeltools.command.admin.modules
/atv debugappeltools.command.admin and appeltools.command.staff and appeltools.command.admin.debug
/atv updaterappeltools.command.admin and appeltools.command.staff and appeltools.command.admin.pluginupdater

TIP

The proxy commands ask for appeltools.command.staff as well. Give the administrators that node, or they cannot use the /atv subcommands.

Friends ​

NodeCommand
appeltools.command.friendsthe category
appeltools.command.friends.add/friends add
appeltools.command.friends.accept/friends accept
appeltools.command.friends.deny/friends deny
appeltools.command.friends.list/friends list
appeltools.command.friends.remove/friends remove
appeltools.command.friends.requests/friends requests and /friends pending
appeltools.command.friends.notifications/friends notifications
appeltools.command.friends.toggle/friends toggle

Parties ​

NodeCommand
appeltools.command.partiesthe category
appeltools.command.parties.invite/party invite
appeltools.command.parties.leave/party leave
appeltools.command.parties.list/party list
appeltools.command.parties.promote/party promote
appeltools.command.parties.demote/party demote
appeltools.command.parties.transfer/party transfer
appeltools.command.parties.remove/party remove
appeltools.command.parties.warp/party warp
appeltools.command.parties.accept/party accept
appeltools.command.parties.disband/party disband
appeltools.command.parties.mute/party mute
appeltools.command.parties.allinvite/party allinvite
appeltools.command.parties.chat/party chat
appeltools.command.parties.admin.join/party admin join
appeltools.command.parties.admin.list/party admin list
appeltools.command.parties.admin.disband/party admin disband

Moderation ​

NodeCommand
appeltools.command.moderation.ban/ban
appeltools.command.moderation.tempban/tempban
appeltools.command.moderation.kick/kick
appeltools.command.moderation.ipkick/ipkick
appeltools.command.moderation.mute/mute
appeltools.command.moderation.tempmute/tempmute
appeltools.command.moderation.ipmute/ipmute
appeltools.command.moderation.tempipmute/tempipmute
appeltools.command.moderation.ipban/ipban
appeltools.command.moderation.tempipban/tempipban
appeltools.command.moderation.unban/unban
appeltools.command.moderation.unmute/unmute
appeltools.command.moderation.ipunban/ipunban
appeltools.command.moderation.ipunmute/ipunmute
appeltools.command.moderation.history/history
appeltools.command.moderation.report/report

Two-factor authentication ​

NodeWhat it does
appeltools.command.twofactormakes the player subject to the two-factor: they have to verify themselves before they may play
appeltools.command.twofactor.setup/2fasetup
appeltools.command.twofactor.verify/verify
appeltools.command.twofactor.reset/atp 2fa reset

The two commands ask for both the root node and their own:

CommandNeeds
/2fasetupappeltools.command.twofactor and appeltools.command.twofactor.setup
/verifyappeltools.command.twofactor and appeltools.command.twofactor.verify

TIP

The root node is the important one. A player who has appeltools.command.twofactor has to run /verify before he may move, chat, run a command, take damage or open his inventory. A player who does not have it is never touched by the two-factor at all.

The commands without a node ​

These work for every player, on every server:

CommandWhat it does
/messagea private message
/replyan answer to the last private message
/ignoreignore a player
/unignorestop ignoring a player
/messagetoggleswitch the private messages on or off
/chat all|party|messagechoose the chat channel
/pchatwrite in the party chat
/rulesthe rules of the network
/atp help, /atv helpthe list of the commands the player may use

/chat staff needs appeltools.command.staff.staffchat, and the Discord slash commands are guarded by the Discord roles of the bot, not by a Minecraft node.

Built with VitePress.