Command Block

From Minecraft Wiki
(Redirected from Command block)
Jump to: navigation, search
Command Block
Impulse Command Block.pngChain Command Block.pngRepeating Command Block.png


Block Entity







Blast resistance









Yes (64)



First appearance

1.4.2 (12w32a)



Block Entity ID


Data values

See Data values


See Data values

Jeb twitter.jpg So this block will be able to run cmds on redstone signals. With proper commands, many things can be scripted
Jeb announcing the command block [1]

A command block is a block that can execute commands. Because it cannot be obtained in survival mode without cheats, it is primarily used on multiplayer servers and in custom maps.

Obtaining[edit | edit source]

Command blocks can be obtained by using the pick block control or with various commands, such as /give <player> minecraft:command_block <amount>.

Command blocks are not available in the creative inventory, cannot be broken in survival mode or if you do not have operator permissions (1.9[upcoming]), are not flammable, and have the same blast resistance as bedrock. Command blocks cannot be moved by a piston.

Usage[edit | edit source]

See also: Commands and Tutorials/Command Block

A command block can execute commands when activated by redstone power. It always has all permissions, so it can be used to allow a specific use of a command by players who can't use that command in general (for example, allowing anyone to obtain a specific item with /give, without allowing everyone to /give themselves whatever they want).

In 1.9[upcoming], a command block has an orientation ("facing") which determines which chain command block will be activated, and which blocks will be checked to see if a command block in "Conditional" mode executes.

Modification[edit | edit source]

Command block GUI.

To enter or modify the command in a command block, use the Use Item control on the command block to open the command block GUI (graphical user interface). The GUI will only open if the player is in creative mode, and has the proper permissions. In singleplayer, cheats must be enabled to edit command blocks. In multiplayer, command blocks can only be edited successfully by operators in creative mode, and for command blocks to work at all the following values must be set in the file:

  • enable-command-block must be set to true
  • op-permission-level must be set to 2 or above (default is 4)
Console Command
Commands can be entered in the top text pane. The text limit for commands in a command block is 32,500 characters, but the text pane can only show a small portion of this amount at a time. In 1.9[upcoming], press Tab ↹ to complete words or cycle through options.
Commands in a command block do not need to be prefixed with the forward slash (/) as they do in the chat window, but using it will still work.
Below the console command text pane are some reminder tips about how to use target selectors.
Previous Output
The bottom text pane displays the output message (success or failure) of the last executed command (initially blank). Its text is not editable.
A button to the right of the Previous Output text pane specifies whether the last output should be stored and displayed. It shows O (the default) when the output should be stored and X when the output should not be stored. For worlds with many command blocks, especially command blocks running on fast clocks, not storing the output text can reduce memory and storage requirements.
Impulse/Chain/Repeat (1.9[upcoming])
Click the "Impulse/Chain/Repeat" button to change the command block's type. The default state is "Impulse", but non-default command blocks can be placed. The command block also changes color:
  • "Impulse" blocks are orange. These are the 'standard' command blocks, which function exactly like their previous incarnations, executing once every time they are activated.
  • "Chain" blocks are green. These execute only when the command block pointing to it executes successfully. This differs from the Conditional option in that it detects what is pointing to it, instead of simply behind it. The command blocks pointing to it also need not be chain blocks themselves to trigger the chain.
  • "Repeat" blocks are blue. These will execute their commands once per tick as long as they are activated, reducing the importance of redstone clock devices.
Conditional/Unconditional (1.9[upcoming])
Top: Command blocks in "Unconditional" mode. Bottom: Command blocks in "Conditional" mode.
Click the "Conditional/Unconditional" button to change the command block's conditional behavior:
  • "Conditional": The command block should only execute its command if the command block behind it executed successfully ("behind it" in the sense of opposite to the direction the command block is facing, regardless of chain direction or even if chaining is occuring).
  • "Unconditional" (default): The command block should ignore the block behind it.
Always Active/Needs Redstone (1.9[upcoming])
Click the "Always Active/Needs Redstone" button to change the command block's activation requirements:
  • "Needs Redstone" (the default for impulse command blocks): The command block must be activated as a redstone mechanism to execute commands.
  • "Always Active" (the default for chain and repeat command blocks): The command block is always active even without redstone activation (chain command blocks will execute their command when chained, repeating command blocks will execute their command every game tick (20 times every second), and impulse command blocks activate once then cannot be activated again).
Click the "Done" button or ↵ Enter to save the command and leave the command block GUI.
Click the "Cancel" button or Esc to leave the command block GUI without saving any changes.

Activation[edit | edit source]

Command blocks are redstone mechanisms and can be activated by:

  • An adjacent active power component: for example, a redstone torch (except that a redstone torch will not activate a command block it is attached to), a block of redstone, a daylight sensor, a button etc.
  • An adjacent powered block (for example, an opaque block with an active redstone torch under it)
  • A powered redstone comparator or redstone repeater facing the mechanism component
  • Powered redstone dust configured to point at the command block (or on top of it) or directionless; a command block is not activated by adjacent powered redstone dust which is configured to point away from it.

In addition, when a command block is cloned by a command to a powered location, the new command block will only execute its command if the original has never been activated (visible in the F3 debug screen as "triggered").

Unlike all other redstone components except the note block, a command block can be activated every game tick (i.e. every 50 milliseconds). However, activating it two game ticks in a row requires that it transition from powered to unpowered and back during the same tick; see Clock circuit#Setblock clock for the technical details one must know to accomplish this.

In 1.9[upcoming], a command block in "Always Active" mode is always activated. The default state is "Needs Redstone", which means that it runs only when powered.

When activated, a command block will try to execute its command. In 1.9[upcoming], action on activation depends on the command block's type:

  • a command block ("Impulse") will try to execute its command once
  • a chain command block ("Chain") will not try to execute its command until another command block facing it executes its own command
  • a repeating command block ("Repeat") will try to execute its command every game tick until no longer activated

Chained execution[edit | edit source]

If any command block faces a chain command block (a command block in "Chain" mode) when activated, it will notify the chain command block to also attempt execution. The chain command block will only execute its command if activated and, if in "Conditional" mode, if the command block behind it executed successfully (behind in the sense of the direction it is facing, not in the sense of which command block chained to it). Whether or not the chain command block is activated or executes successfully, if it is facing another chain command block, it will notify it to attempt execution as well.

Chained command blocks execute in the same game tick in the order they are chained. Chained execution cannot be passed to a command block which has already executed in that game tick (loops execute only once).

Output[edit | edit source]

When activated, a command block can produce multiple types of output:

Redstone Comparator
A command block can power a redstone comparator facing away from it (possibly separated by a block) with a signal strength specific to the last executed command (for example, the number of players affected by the command).
The signal strength always reflects the last command executed, even after the command block is deactivated.
The output message describes the success or failure of the executed command, and may be written to multiple destinations:
Previous Output: The output message is always written to the "Previous Output" text pane of the command block GUI.
Chat: The output message is written to the chat text in singleplayer mode, or broadcast to all other ops in multiplayer mode, unless it has been suppressed with /gamerule commandBlockOutput false. Some commands may write additional text to the chat as their normal function which won't be suppressed (for example, the /say command will write a message to the chat of all players), separate from the output message. Chat messages which would usually be prefaced by a player's name (such as from the /me, /say and /tell commands) use @ as the player name. If the command block had been named in an anvil before placement, that name will be used instead.
Logs: The output message is written to multiplayer server logs unless it has been suppressed with /gamerule logAdminCommands false.
Command Stats
Command blocks can post various success results to scoreboard objectives, including:
  • SuccessCount: the number of successes (previously also available by redstone comparator output, but not limited to 15)
  • AffectedBlocks: the number of blocks that were altered
  • AffectedEntities: the number of entities that were altered (including players)
  • AffectedItems: the number of items that were altered
  • QueryResult: value returned by command
The objectives to be used can be specified by running the /stats command or by modifying the command block's NBT data directly with the /blockdata command.

Notes[edit | edit source]

The following commands cannot be used in a command block: /ban, /banlist, /ban-ip, /debug, /deop, /kick, /op, /pardon, /pardon-ip, /publish, /save-all, /save-off, /save-on, /stop, and /whitelist (i.e., /debug, /publish, and all of the multiplayer-only commands except /list).

The following commands are usable but with limited functionality (their output only displays in the command block's Previous Output pane rather than being displayed in the chat): /help, /seed, /list, /scoreboard objectives, /scoreboard players, and /scoreboard teams list.

The following commands use the command block's name (defaults to @) in their output: /me, /say, and /tell.

Data values[edit | edit source]

A command block has an ID name of minecraft:command_block and is further defined by its block data and block entity. A command block also has a block state which is expected to replace the functionality of block data in a future version.

ID[edit | edit source]

A command block's ID determines its mode:

Name ID Name Block/Item ID
Command Block minecraft:command_block 137
Repeating Command Block [upcoming 1.9] minecraft:repeating_command_block 210
Chain Command Block [upcoming 1.9] minecraft:chain_command_block 211

Block data[edit | edit source]

See also: Data values

A command block's block data specifies whether the command block is currently activated.

Bits Values
0x1 Set if the command block has been previously activated with its current command.

In 1.9 [upcoming]:

Bits Values

A 3-bit field storing the command block's facing:

  • 0: facing down
  • 1: facing up
  • 2: facing north
  • 3: facing south
  • 4: facing west
  • 5: facing east

6 and 7 are unused but produce command blocks facing down and up respectively.

0x8 Unused but if set produces command block facings similar to those without the bit set.

Block entity[edit | edit source]

See also: Block entity format

A command block has a block entity associated with it that holds additional data about the block. The block's block entity ID is Control.

  • Block entity data
    • Tags common to all block entities

    •  CustomName: Optional. The name will replace the usual '@' when using commands such as /say and /tell.

    •  Lock: Optional. When not blank, prevents the container from being opened unless the opener is holding an item whose name matches this string.

    •  CommandStats: Information identifying scoreboard parameters to modify relative to the last command run.

      •  SuccessCountName: Player name to store success of the last command. Can be a player selector but may only have one resulting target.

      •  SuccessCountObjective: Objective's name to store the success of the last command.

      •  AffectedBlocksName: Player name to store how many blocks were modified in the last command. Can be a player selector but may only have one resulting target.

      •  AffectedBlocksObjective: Objective's name to store how many blocks were modified in the last command.

      •  AffectedEntitiesName: Player name to store how many entities were altered in the last command. Can be a player selector but may only have one resulting target.

      •  AffectedEntitiesObjective: Objective's name to store how many entities were altered in the last command.

      •  AffectedItemsName: Player name to store how many items were altered in the last command. Can be a player selector but may only have one resulting target.

      •  AffectedItemsObjective: Objective's name to store how many items were altered in the last command.

      •  QueryResultName: Player name to store the query result of the last command. Can be a player selector but may only have one resulting target.

      •  QueryResultObjective: Objective's name to store the query result of the last command.

    •  Command: The command to issue to the server.

    •  SuccessCount: Represents the strength of the analog signal output by redstone comparators attached to this command block. Only updated when the command block is activated with a redstone signal.

    •  LastOutput: The last line of output generated by the command block. Still stored even if the gamerule commandBlockOutput is false. Appears in the GUI of the block when right-clicked, and includes a timestamp of when the output was produced.

    •  TrackOutput: 1 or 0 (true/false) - Determines whether or not the LastOutput will be stored. Can be toggled in the GUI by clicking a button near the "Previous Output" textbox. Caption on the button indicates current state: "O" if true,"X" if false.

    •  powered[upcoming]: 1 or 0 (true/false) - States whether or not the command block is powered by redstone or not.

    •  auto[upcoming]: 1 or 0 (true/false) - Allows to activate the command without the requirement of a redstone signal.

Block state[edit | edit source]

See also: Block states
Name Value Description

 triggered (removed in 1.9 [upcoming])
True if the command block has been previously activated with its current command.

 conditional (1.9 [upcoming])
True if the command block is in conditional mode.

 facing (1.9 [upcoming])
The direction the command block is pointing.

Video[edit | edit source]

History[edit | edit source]

The first image released by Mojang of the command block.
The second image released by Mojang showing the block giving glass to the player.
See also: Commands#History
Official release
27 July 2012 Jeb began tweeting of a new block he had created to start expanding Adventure mode. He began posting pictures, ideas and hints of what the block will be able to do.
31 July 2012 During Notch's AMA he hinted the block may be in 1.4.
1.4.2 12w32a Grid Command Block.pngAdded command block.
1.5 13w03a Command block success can now power a redstone comparator.
13w04a Command blocks renamed with an anvil now use their name instead of @ in the chat.
1.6.1 13w19a Command blocks are no longer mineable in survival, and are also not damaged by explosions except by Blue Wither Skulls.
1.7.2 13w37a Added a bar that shows the previous output.
Increased the character limit from 256 to 16,369 when inserting a command in-game. Using a third-party editor allows you to reach 32,767 characters.
1.8 14w07a Dispensers now place command blocks, instead of shooting it out.
14w20a Removed the in-game character limit of 16,369, allowing access to the full 32,767 characters.
14w27a Added CommandStats NBT tag.
1.8.6 Dispensers no longer place command blocks.[2]
1.9 15w34a Chain Command Block 15w34a.pngRepeating Command Block 15w34a.pngAdded Chain Command Block and Repeating Command Block.
Added block facing.
Impulse Command Block 15w34a.pngUpdated block textures.
15w34b Added Conditional mode.

Updated texture of all three command blocks
Added Always active and needs redstone options. Added auto NBT tag to control this.
When set to conditional, the back of the arrow texture is curved.
15w36a Players unable to use commands such as /give can no longer place command blocks.
15w36d Each command block type now appears with different colors on maps.

Issues[edit | edit source]

Issues relating to “Command Block” are maintained on the issue tracker. Report issues there.

References[edit | edit source]