minecraft

This page contains a list of all command argument types.

Java Edition

brigadier:bool

Must be a boolean (either true or false).

brigadier:double

Must be a Double-precision floating-point format number.

Each double argument may have a custom minimum and maximum value.

Precision varies throughout number line; the maximum absolute value is about 1.8*10308.

brigadier:float

Must be a Single-precision floating-point format number.

Each float argument type may have a custom minimum and maximum value.

Precision varies throughout number line; the maximum absolute value is about 3.4*1038.

brigadier:integer

Must be a 32-bit integer number.

Each integer argument type may have a custom minimum and maximum value.

Maximum range is from −(231) to (231 − 1), or from (−2,147,483,648) to (2,147,483,647).

brigadier:long

Must be a 64-bit long.

Note: Although a long argument type is present in brigadier, it is not used by Minecraft.

Each long argument type may have a custom minimum and maximum value.

Maximum range is from −(263) to (263−1), or from (−9,223,372,036,854,775,808) to (9,223,372,036,854,775,807).

brigadier:string

Must be a string.

Each string argument type can accept either a single word (no spaces), a quotable phrase (either single word or quoted string), or a greedy phrase (taking the rest of the command as the string argument).

minecraft:angle

Must be a yaw angle, measured in degrees with float number. -180.0 for due north, -90.0 for due east, 0.0 for due south, 90.0 for due west, to 179.9 for just west of due north, before wrapping back around to -180.0. Tilde notation can be used to specify a rotation relative to the execution yaw angle.

minecraft:block_pos

Must be a block position composed of <x>, <y> and <z>, each of which must be an integer or a tilde and caret notation.

minecraft:block_predicate

The format of block_predicate parameters is block_id[block_states]{data_tags}, in which block states and data tags can be omitted when they are not needed.

minecraft:block_state

The format of block_state parameters is block_id[block_states]{data_tags}, in which block states and data tags can be omitted when they are not needed.

minecraft:color

Must be a team color (reset or one of the 16 chat colors.)

minecraft:column_pos

Must be a column coordinates composed of <x> and <z>, each of which must be an integer or tilde notation.

minecraft:component

Must be a raw JSON text.

minecraft:dimension

It must be the resource location, which will be resolved during command execution into a dimension.

minecraft:entity

Must be a player name, a target selector or a UUID.

Each entity argument may place limits on the number of entities (single/multiple) selected or the type of entities (player/any entity) selected.

minecraft:entity_anchor

Must be either eyes or feet.

minecraft:float_range

Must be a range acceptable for float values. (e.g. 0.1 - exact match of 0.1. ..0.1 - less than or equal to 0.1. 0.1.. - more than or equal to 0.1. 0.1..1 - between 0.1 and 1, inclusive.)

minecraft:function

It must be a resource location, which refers to a single function, or one prefixed with a #, which refers to a function tag.

minecraft:game_profile

Must be a collection of game profiles (player profiles), which can be a player name (must be a real one if the server is in online mode), or a player-type target selector.

minecraft:gamemode

Must be one of the following:

Note that "hardcore" is not a valid option, as it is technically not a game mode.

minecraft:heightmap

Must be one of world_surface, motion_blocking, motion_blocking_no_leaves, and ocean_floor.

minecraft:int_range

Must be a range acceptable for integer values. (e.g. 0 - exact match of 0. ..0 - less than or equal to 0. 0.. - more than or equal to 0. 0..1 - between 0 and 1, inclusive.)

minecraft:item_predicate

The format of item_predicate parameters is item_id{data_tags}, in which data tags can be omitted when not needed.

minecraft:item_slot

Must be a string notation that refer to certain slots in the inventory, which consists of "slot type" and optional "slot number", in the format of <slot_type> or <slot_type>.<slot_number>. See Slot for details.

minecraft:item_stack

The format of item_stack parameters is item_id{data_tags}, in which data tags can be omitted when not needed.

minecraft:message

Must be a plain text. Can include spaces as well as target selectors. The game replaces entity selectors in the message with the list of selected entities' names, which is formatted as "name1 and name2" for two entities, or "name1, name2, ... and namen" for n entities.

minecraft:nbt_compound_tag

Must be a compound NBT in SNBT format.

minecraft:nbt_path

Must be an NBT path.

minecraft:nbt_tag

Must be an NBT tag of any type in SNBT format.

minecraft:objective

It must be a valid scoreboard objective name.

minecraft:objective_criteria

Must be a scoreboard objective criterion.

minecraft:operation

Must be an arithmetic operator for /scoreboard.
Valid values include = (assignment), += (addition), -= (subtraction), *= (multiplication), /= (floor division), %= (modulus), >< (swapping), < (choosing minimum) and > (choosing maximum).

minecraft:particle

It must be a resource location of a particle followed by particle parameters that are particle-specific.

minecraft:resource

Must be an existing registered resource location in correct registry.

minecraft:resource_key

Must be a resource location which will be resolved during command execution into a registry entry in correct registry.

minecraft:resource_location

Must be a resource location which will be resolved during command execution into unregistered content or client-side content.

minecraft:resource_or_tag

Must be an existing registered resource location or tag in correct registry.

minecraft:resource_or_tag_key

Must be a resource location or a tag, which will be resolved during command execution into an entry or tag in correct registry.

minecraft:rotation

Must be a rotation with double number elements, including yaw and pitch, measured in degrees.

Tilde notation can be used to specify a rotation relative to the execution rotation.

minecraft:score_holder

Must be a selection of score holders. It may be either a target selector, a player name, a UUID, or * for all score holders tracked by the scoreboard. Named player needn't be online, and it even needn't be a real player's name.

Each score holder argument may specify if it can select only one score holder or multiple score holders.

minecraft:scoreboard_slot

Must be a scoreboard display slot.

minecraft:swizzle

Any non-repeating combination of the characters 'x', 'y', and 'z'. Axes can be declared in any order, but they cannot duplicate. (For example, x, xz, zyx, or yz.)

minecraft:team

Must be a team name of an unquoted string. Allowed characters include: -, +, ., _, A-Z, a-z, and 0-9.

minecraft:template_mirror

Must be one of none, front_back, and left_right.

minecraft:template_rotation

Must be one of none, clockwise_90, counterclockwise_90, and 180.

minecraft:time

It must be a single-precision floating point number suffixed with a unit. Units include:

The time is set to the closest integer tick after unit conversion. For example. .5d is same as 12000 ticks.

minecraft:uuid

Must be a UUID in the hyphenated hexadecimal format. Allowed characters include:

minecraft:vec2

Must be a two-dimensional coordinates with floating-point number elements. Accepts tilde and caret notations.

minecraft:vec3

Must be a three-dimensional coordinates with floating-point number elements. Accepts tilde and caret notations.

Removed

minecraft:entity_summon

Must be a resource location of a summonable entity type.

minecraft:item_enchantment

Must be an ID of an enchantment.

minecraft:mob_effect

Must be an ID of a status effect.

Bedrock Edition

Clock JE3 BE3
This section needs to be updated. 
Please update this section to reflect recent updates or newly available information.

BlockStateCommandParam

Must be a blockstate argument as ["<state1>":<value1>,"<state2>":<value2>,...]. For example: ["old_leaf_type":"birch","persistent_bit":true].

CommandIntegerRange

Must be a range acceptable for integer values. (e.g. 0 - exact match of 0. ..0 - less than or equal to 0. 0.. - more than or equal to 0. 0..1 - between 0 and 1, inclusive.)

CommandFilePath

It must be of the format path/to/function/file, which refers to a function located at [behavior_pack]/functions/path/to/function/file.mcfunction.

CommandMessage

Must be a plain text. Can include spaces as well as target selectors. The game replaces entity selectors in the message with the list of selected entities' names, which is formatted as "name1 and name2" for two entities, or "name1, name2, ... and namen" for n entities.@here can be used to mention all players.

CommandOperator

Must be an arithmetic operator for /scoreboard.
Valid values include = (assignment), += (addition), -= (subtraction), *= (multiplication), /= (floor division), %= (modulus), >< (swapping), < (choosing minimum) and > (choosing maximum).

CommandPosition

Must be a three-dimensional coordinates composed of <x>, <y> and <z>, each of which must be a floating-point number or tilde and caret notation.

CommandPositionFloat

Must be a three-dimensional coordinates with floating-point number elements. Accepts tilde and caret notations.

CommandRawText

It is a greedy phrase string argument (taking the rest of the command as the string argument).

CommandSelector<Actor>

Represents entities. Must be a player name or a target selector.

CommandSelector<Player>

Represents players. Must be a player name or a target selector.

CommandWildcardInt

Must be a 32-bit integer, or a asterisk (*) to represent MIN_INT(-2,147,483,648),

float

Must be a Single-precision floating-point format number.

int

Must be a 32-bit integer number.

Json::Value

Must be a JSON Object.

RelativeFloat

Must be a float or a tilde and caret notation.

std::basic_string

Must be a string. And it must be a single word that has no space or a quoted string.

std::unique_ptr<Command>

Represents a complete command.

WildcardCommandSelector<Actor>

Must be a selection of score holders. It may be either a target selector, a player name, a unique ID of an entity, or * for all score holders tracked by the scoreboard. Named player needn't be online, and it even needn't be a real player's name.

Enum

Must be an unquoted string without space.

History

Java Edition
1.1317w45aCommand arguments are now handled with Brigadier.
1.1419w08aNow allows single quotes for strings in commands.[1]
1.1620w17aAdded minecraft:uuid argument type.
1.16.220w29aAdded angle arguments to /spawnpoint and /setworldspawn, with a argument type that is not registered.[2]
20w30aAdded minecraft:angle argument type.
Now /spawnpoint and /setworldspawn use this argument type.[2]
?Now minecraft:dimension argument type checks whether the dimension exists during execution instead of parsing.
1.1720w45aNow minecraft:angle argument type does not accept NaN or Infinite.[3]
21w10aNow minecraft:block_pos arguments in /spawnpoint and /setworldspawn require <x> and <z> to be in the range of [-30000000, 30000000), and <y> to be in the range of [-20000000, 20000000) when executing.[4]
1.1821w37aRemoved 16-character limit in minecraft:objective argument type.[5]
1.18.2Pre-release 3Added minecraft:resource and minecraft:resource_or_tag argument types.
Now minecraft:resource_location is used only for pack contents, while minecraft:resource is used for registry entries.
1.1922w11aNow minecraft:item_predicate and minecraft:block_predicate require tag to exist when parsing instead of executing.[6]
22w19aAdded minecraft:template_mirror and minecraft:template_rotation argument types.
1.19.322w42aAdded minecraft:resource_key and minecraft:resource_or_tag_key argument types, which are used for reloadable registry entries (i.e. registered pack contents).
Now minecraft:resource and minecraft:resource_or_tag are used only for un-reloadable registry entries.
Removed minecraft:mob_effect, minecraft:entity_summon and minecraft:item_enchantment argument types. Replaced by minecraft:resource.
22w45aAdded minecraft:gamemode argument type.
1.19.423w03aAdded min property to minecraft:time argument type.[7]
The min value of minecraft:time is always 0 before this update.
1.19.4-pre1Added minecraft:heightmap argument type.

References

  1. "Allow single quote in strings by boq · Pull Request #52" – Mojang/brigadier – GitHub.
  2. a b MC-195052 — resolved as "Fixed".
  3. MC-198414 — resolved as "Fixed".
  4. MC-210408 — resolved as "Fixed".
  5. MC-123277 — resolved as "Fixed".
  6. MC-124984 — resolved as "Fixed".
  7. MC-122595 — resolved as "Fixed".