'''Permission level''' is used to describe the permissions a player or a command executor has.
For example, {{in|bedrock}}, {{cmd|setmaxplayers}} can't be executed in a command block, because this command requires the executor to have a permission level of 3, while command blocks have a permission level of only 1.
== Description ==
Levels are incremental, meaning level ''n'' allows anything that any level less than ''n'' allows.
=== ''Java Edition'' ===
{{IN|java}}, the permission level can be 0 (all), 1 (moderator), 2 (gamemaster), 3 (admin), or 4 (owner).
; Level 0 (all) and Level 1 (moderator)
* No permission.
; Level 2 (gamemaster)
* More [[command]]s are available.
* The player can use [[command block]]s.
* The player can copy the server side NBT data of an entity or a block entity when pressing {{key|F3+I}} [[debug hotkey]], and copy the client-side NBT data when pressing {{key|shift+F3+I}}.
* The player can use {{key|F3+F4}} ([[Game mode switcher]]) and {{key|F3+N}} debug hotkey.
* The player can change or lock [[difficulty]] in [[Options]] screen. Note that the player in a singleplayer world or the owner of a LAN world can change or lock difficulty without a permission level of 2.
* With "Operator Items Tab" [[option]] turned on, the player can find operator items and an "Operator Utilities" tab in the [[creative inventory]].
* [[Target selector]]s can be used in commands like {{cmd|tell}} and [[raw JSON text]]s.
; Level 3 (admin)
* Commands related to multiplayer management are available.
; Level 4 (owner)
* All commands are available, including commands related to server management.
=== ''Bedrock Edition'' ===
{{IN|bedrock}}, the permission level can be '''0''' (Any / Normal), '''1''' (Game Directors / Operator), '''2''' (Admin / Host), '''3''' (Host / Automation), or '''4''' (Owner / Admin).[The first names in parentheses are from [https://learn.microsoft.com/en-us/minecraft/creator/commands/commands the official documentation], and the second names are from the debug information of [[BDS]].]
In different levels, the corresponding commands are available. A level inherits available commands from levels less than it.
== Situations ==
=== ''Java Edition'' ===
* For a function:
** When [[Function_(Java_Edition)#Loading and Parsing|parsing]] a [[Function_(Java_Edition)|function]] (including macro line parsing), the permission level defaults to 2 (but it can be changed in [[server.properties]]).
** When calling a [[Function_(Java_Edition)|function]], see [[command context]] for details.
* For a player:
** If the player is an operator in a dedicated server, their permission level can be specified in the [[ops.json format|ops.json]] file. and its default value is specified in [[server.properties]].
** If the player is the owner or another operator in a Realm, their permission level is 2.
** If the player is in a singleplayer world, and [[cheats]] were enabled when creating the world, their permission level is 4.
** If the player is the owner of a LAN world, and [[cheats]] were enabled when creating the world, their permission level is 4.
** All players in a [[Cheats|command-allowed]] LAN world have a permission level of 4.
** Otherwise, the player's permission level is 0.
* For other command executors, see [[command context]] for details.
* For raw JSON text resolution executors, see [[command context]] for details.
=== ''Bedrock Edition'' ===
* For a function:
** When [[Function_(Bedrock_Edition)#Loading and Parsing|parsing]] a [[Function (Bedrock_Edition)|function]], the permission level is 1.
** When calling a [[Function_(Bedrock_Edition)|function]], see [[command context]] for details.
* For a player:
** In a [[BDS|dedicated server]], if the player's '''"Operator Commands"''' option is enabled in the "Player Permission" screen, their permission level is 1 (which can be changed in [[server.properties]]).
** In a singleplayer world or a LAN world, if the player's '''"Operator Commands"''' option is enabled in the "Player Permission" screen, permission level is 3.
** Otherwise, the player's permission level is 0.
* For other command executors, see [[command context]] for details.
Note that, the player's permission level differs from their level in the pause screen and "Player Permission" screen {{in|bedrock}}, which includes "Visitor", "Member", "Operator", and "Custom". However, the player with "Operator" permission in a singleplayer world always has a permission level of 3, because its '''Operator Commands''' option is enabled. Similarly, visitors and members have a permission level of 0.
== History ==
{{expand section}}
{{HistoryTable
|{{HistoryLine|java}}
|{{HistoryLine||1.14.4|dev=Pre-Release 4|Added the function-permission-level
option that controls what permission level [[Function (Java Edition)|functions]] have.}}
}}
== References ==
== Issues ==
{{issue list|permission}}
== See also ==
* [[Commands]] are mainly what dictated by permission level.
* [[Server.properties]] has a related property for setting operators' permission level.
* [[Commands/op]] sets player's operator status, granting or revoking them of operator permissions.
* [[Commands/permission]] sets player's specific permission level.
== Navigation ==
{{Navbox Java Edition}}
{{Navbox Bedrock Edition}}
[[Category:Server]]
[[ja:権限レベル]]
[[pt:Nível de permissão]]
[[ru:Уровень доступа]]
[[uk:Рівень дозволу]]
[[zh:权限等级]]