Minecraft Wiki
Minecraft Wiki
setblock
Permission level
required

2‌[JE only]
1‌[BE only]

Restrictions

Cheat only‌[BE only]

Changes a block to another block.

Syntax[]

  • Java Edition
setblock <pos> <block> [destroy|keep|replace]
  • Bedrock Edition
setblock <position: x y z> <tileName: Block> [tileData: int] [destroy|keep|replace]
setblock <position: x y z> <tileName: Block> [blockStates: block states] [destroy|keep|replace]

Arguments[]

JE<pos>: block_pos
BE: position: x y z: CommandPosition

Specifies the position of the block to be changed.
In Java Edition, it must be a block position composed of <x>, <y> and <z>, each of which must be an integer or a tilde and caret notation. In Bedrock Edition, it 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.

JE<block>: block_state
BE: tileName: Block: Block

Specifies the new block.
In Java Edition, it must be in form of namespaced_ID[block_states]{data_tags}(does not accept block tags), in which block states and data tags can be omitted when they are not needed. In Bedrock Edition, it must be a block id.

BE: tileData: int: int

Specifies the block data to use for the new block. Values that are invalid for the specified block id revert to 0. If not specified, defaults to 0.
Must be a 32-bit integer number. It must be between 0 and 65535 (inclusive).

BE: blockStates: block states: BlockStateCommandParam

Specifies the block states to use for the block.
Must be a blockstate argument as ["<state1>":<value1>,"<state2>":<value2>,...]. For example: ["old_leaf_type":"birch","persistent_bit":true].

destroy|keep|replace

Specifies how to handle the block change. Must be one of:
  • destroy — The old block drops both itself and its contents (as if destroyed by a player). Plays the appropriate block breaking noise.
  • keep — Only air blocks are changed (non-air blocks are unchanged).
  • replace — The old block drops neither itself nor any contents. Plays no sound.
If not specified, defaults to replace.

Result[]

CommandTriggerJava EditionBedrock Edition
anythe arguments are not specified correctly Unparseable Failed
specified position is unloaded or out of the world Failed
try to place block in Debug mode N/A
/setblock ... keeptry to change a non-air block Failed
/setblock ... keep
/setblock ... replace
try to replace a block with an identical copy (ignoring the block entity)
try to replace some kinds of redstone components with an unstable block (e.g. replacing one of two adjacent redstone blocks with a TNT block) Successful
anyOn successChanges blocks at the specified position.

Output[]

CommandEditionSituationSuccess Count/execute store success .../execute store result ...
anyJava EditionOn fail000
On success111
Bedrock EditionOn fail0N/AN/A
On success1N/AN/A

Examples[]

  • Put a chest facing east at your feet
  • Place a sign next to it in Java Edition
    • setblock ~ ~ ~-1 birch_sign{Text1:'"My chest"',Text2:'"Do not open!"'} (Note the two sets of quotes around the text. They are required.)
  • Put a top quartz slab at the top of your head
    • setblock ~ ~2 ~ quartz_slab[type=top][Java Edition only]
    • setblock ~ ~2 ~ stone_slab ["stone_slab_type":"quartz","top_slot_bit":true][Bedrock Edition only]

See also[]

  • /data — modifies the data tags of a block or entity
  • /clone — copies blocks from one region to another
  • /fill — fills a region with a block

History[]

Java Edition
1.7.213w37aAdded /setblock.
1.1116w32aAdded block state support to /setblock.
Pocket Edition Alpha
v0.16.0build 1Added /setblock.
Bedrock Edition
1.16.210beta 1.16.210.53Added block state support to /setblock.