Skip to Content
ConfigurationPermissions

Permissions

Coarse Permissions

Prism provides a simple set of coarse permissions that grant access to related commands and features. These are the most commonly used permissions and are sufficient for most server setups.

We recommend these permissions for server staff:

  • prism.extinguish - Use the extinguish command to put out fires.
  • prism.drain - Use the drain command to remove nearby lava and water.
  • prism.help - Show help info and /prism about messaging.
  • prism.lookup - Use the lookup, near, proximity commands, the teleport command, and the inspection wand.
  • prism.inspect - Use the inspection wand, regardless of lookup permissions.
  • prism.modify - Perform rollbacks/restores and previews, run queue reports, open the vault, and use the rollback/restore wands.
  • prism.wand - Use all three wands (inspect, rollback, restore) in a single node.
  • prism.alerts.receive - Receive block/item alerts.
  • prism.alerts.bypass - Do not trigger alerts.

We recommend these permissions for server administrators:

  • prism.admin - Administration commands: config reload, cache management, status, queue purges, and web server control.
  • prism.purge - Trigger database purges manually.

Airtags permissions:

Available in Prism 4.4 and above.
  • prism.airtags — Allows managing your own airtags (list, view, untag, delete) and opening your airtag vault.
Managing another player’s airtags requires the granular node prism.command.airtags.others and must be assigned on its own.

Granular Permissions

Available in Prism 4.4 and above.

For users needing deeper control, Prism also defines granular permissions for every command, subcommand, parameter, flag, and value. These allow you to grant access to specific features without giving full access to a command.

These are granted by coarse permissions, so you should generally not use both sets at the same time.

Airtags

The prism.airtags umbrella grants every node below except .others and the .limit.* caps, which are assigned individually.

NodeCommand / Behavior
prism.command.airtag/pr airtag — attach a tag to the held item
prism.command.airtags/pr airtags (list), /pr airtags view, /pr airtags untag, /pr airtags delete
prism.command.airtags.vault/pr airtags vault <player>
prism.command.airtags.othersAllows the view and delete subcommands to target another player’s airtags. Not granted by prism.airtags.
prism.command.airtags.limit.<n>Caps the holder at n airtags. If several apply (e.g. via group inheritance), the highest wins. Not granted by prism.airtags.
prism.command.airtags.limit.unlimitedNo cap. (A negative number works the same way.)

Alerts

NodeBehavior
prism.alerts.bypassHolders do not trigger staff alerts for their own actions
prism.alert.bypassLegacy alias of prism.alerts.bypass, kept for back-compat (note the singular alert)

Cache

NodeCommand
prism.command.cacheParent — grants the cache nodes
prism.command.cache.list/pr cache list

Configs

NodeCommand
prism.command.configsParent — grants the configs nodes
prism.command.configs.reload/pr configs prism reload
prism.command.configs.locales-reload/pr configs locales reload
prism.command.configs.write-hikari/pr configs storage write-hikari

Drain

NodeCommand
prism.command.drainConvenience parent — grants both drain nodes
prism.command.drain.lava/pr drain lava
prism.command.drain.water/pr drain water

Extinguish

NodeCommand
prism.command.extinguish/pr extinguish (/pr ex)

Help

NodeCommand
prism.command.help/pr, /pr about (same as coarse permission)

Lookup

NodeCommand
prism.command.lookup/pr lookup (/pr l) — supports parameter/flag nodes

Modify

The modify family has no granular prism.command.modify parent — the coarse prism.modify permission is the umbrella that grants every node below (plus the vault and the rollback/restore wands). The individual nodes are flat:

NodeCommand
prism.command.rollback/pr rollback (/pr rb) — supports parameter/flag nodes
prism.command.restore/pr restore (/pr rs) — supports parameter/flag nodes
prism.command.previewParent — grants all preview nodes
prism.command.preview.rollback/pr preview-rollback (/pr prb) — supports parameter/flag nodes
prism.command.preview.restore/pr preview-restore (/pr prs) — supports parameter/flag nodes
prism.command.reportParent — grants all report nodes
prism.command.report.modification-queue/pr report modification-queue
prism.command.report.recording-queue/pr report recording-queue
prism.command.report.partial/pr report partial
prism.command.report.skips/pr report skips

Near

NodeCommand
prism.command.near/pr nearsupports parameter/flag nodes

Proximity

NodeCommand
prism.command.proximity/pr proximity (/pr prox) — supports parameter/flag nodes

Purges

NodeCommand
prism.command.purgeParent — grants the purge nodes
prism.command.purge.start/pr purge (start|stop)supports parameter/flag nodes

Status

NodeCommand
prism.command.status/pr status

Teleport

NodeCommand
prism.command.teleportConvenience parent — grants every teleport node below
prism.command.teleport.id/pr teleport id
prism.command.teleport.loc/pr teleport loc

Vault

/pr vault is part of the modify family and is also granted by the coarse prism.modify permission.

NodeCommand
prism.command.vault/pr vault (/pr v) — supports parameter/flag nodes

Wand

NodeCommand
prism.command.wandConvenience parent — grants all three wand nodes
prism.command.wand.inspect/pr wand inspect (and bare /pr wand) — supports parameter/flag nodes
prism.command.wand.rollback/pr wand rollbacksupports parameter/flag nodes
prism.command.wand.restore/pr wand restoresupports parameter/flag nodes

Web

Granted by the coarse prism.admin permission (there is no dedicated coarse node for the web server).

NodeCommand
prism.command.webConvenience parent — grants both web nodes
prism.command.web.start/pr web start
prism.command.web.stop/pr web stop

Parameters and Flags

Parameters and flags may be individually granted or denied for all commands that support them. They are defined as child nodes of the command they belong to.

They are defined in the format of prism.<command-path>.parameter.<parameter-name> for parameters and prism.<command-path>.flag.<flag-name> for flags.

Some commands only support a subset of parameters/flags. For example, the verbose flag only applies to purge (prism.command.purge.start.flag.verbose), while the count flag applies to the query-style commands (lookup, near, proximity, rollback, restore, preview, vault) but not purge — so prism.command.lookup.flag.count is valid while prism.command.purge.start.flag.count is not.

Examples

# Lookup, but only allow filtering by player and action prism.command.lookup.parameter.p prism.command.lookup.parameter.a # Allow the count flag on lookups prism.command.lookup.flag.count # Restrict purge to a single parameter prism.command.purge.start.parameter.a

Parameter Values

In prism.conf, you can define custom permissions nodes that enforce limits for parameter values.

For example, the following user-created permission node prism.limit.example sets a maximum radius of 10 blocks for all commands, with a max time of seven days (7d), and only for break/place actions.

It then allows up to a 32 blocks radius for the lookup command only.

All users with prism.limit.example nodes will experience the limits defined.

limits=[ { permission="prism.limit.example" # Apply these limits to all commands all { numeric { r { max=10 } } max-time { since="7d" } allowed { a=[ break, place ] } } commands { # Apply these limits only to the lookup command "command.lookup" { numeric { r { max=32 } } } } } ]
KeyNestingValue typePurpose
numericscope (all or commands.PATH)map of param to an object with min / maxInteger parameter caps, keyed by parameter (for example r, above, below).
minnumeric.PARAMinteger (optional)Smallest value the holder may use; unset means no minimum.
maxnumeric.PARAMinteger (optional)Largest value the holder may use; unset means no maximum.
max-timescope (all or commands.PATH)map of param to a duration stringLongest look-back for duration parameters (for example since, before), values like 7d or 12h. Floors the query’s lower time bound.
allowedscope (all or commands.PATH)map of param to a list of stringsValue whitelist per parameter (for example world, a, b); the holder may only use the listed values.