Tutorials/Falling blocks

The falling block entity represents a block with entity physics applied. It has various applications, ranging from simple displays of falling objects to advanced command block creations.
== Commands ==
This cannot be used in the latest version of bedrock.
The most basic falling_block command can be applied by running the command:
This command summons in a falling_block entity in the chosen (x; y; z) coordinates.
To apply properties to the block, write BlockState:{Name:<block's resource location>,Properties:{<blockstate_name>:<value>}} in the NBT Tag, where Properties is an optional list of block states.
Extra data can be inserted in the NBT (Named Binary Tag) to modify the time in seconds the block remains in the air. This NBT is Time, which stands for the time (in ticks) for how long the falling_block has existed. If 0, the entity despawns, if 1 or greater, will continue ticking up, until it reaches its maximum lifetime of 600 ticks, or 30 seconds, at which point it turns into a dropped item. The least time value you can give a falling_block is -2147483648 (the lowest number that can be represented as a 32-bit integer). Below this value, the block will immediately despawn. It will also turn into an item if it has existed for more than 100 ticks (5 seconds) and is outside the build limit (above y=320 or below y=-63). Adding a value of time for the block will cause the block to assume a physical form when coming in contact with the ground, just like a normal sand block falling downwards. Ensure that the different data values are separated by commas:
If the falling_block block spawns at the same coordinates as an existing block, an error: "Unable to summon object." is thrown.
falling_block does not necessarily need to fall. For an explosion-like feel, or even a simple bounce, falling_block's motion path can be altered. Note the use of square brackets for the Motion tag:
The maximum lifetime – 30 seconds – cannot realistically be reached from {Time:1} unless the falling_block is riding another entity using the 'Passengers' NBT (in which case it isn't falling, but its time is still ticking). falling_block can also reach the maximum lifetime if given the NoGravity tag.
falling_block can be used to summon multiple blocks using the 'Passengers' NBT. Summoning multiple command blocks is the way you make 'one block commands'.
The NBT tag {NoGravity:1} allows the falling block not to be falling.
== Example uses ==
* Create ghost blocks. With the addition of the NoGravity tag, a falling block can float in the air, leaving the player the thought that a solid block is there, but in fact that block can be passed through. This can be used for custom maps to hide stuff or to create secret ways. However, these ghost blocks disappear when enough time passes, so one will need to make a command block clock or use a repeating command block to respawn them. Alternatively, you can use the data command to modify the entities {Time} NBT tag, allowing you to reset it to 1 every tick.
* Make block shooting animation. One can spawn a falling block that has a velocity vector pointing to the direction that they want it to go, so that it will be "shot" to the desired location. This can be used to make self-building houses or block explosions (blocks fly away in many directions).
* Make 'one block commands' using the command below.
To allow running the command repeatedly:
 summon falling_block ~ ~1 ~ {BlockState:{Name:redstone_block},Passengers:[
 {id:armor_stand,Health:0,Passengers:[
 {id:falling_block,BlockState:{Name:activator_rail},Passengers:[
 {id:command_block_minecart,Command:'gamerule commandBlockOutput false'},
 {id:command_block_minecart,Command:'data merge block ~ ~-2 ~ {auto:0}'},
 {id:command_block_minecart,Command:'put first command here'},
 {id:command_block_minecart,Command:'put second command here'},
 {id:command_block_minecart,Command:'setblock ~ ~1 ~ command_block{auto:1,Command:"fill ~ ~ ~ ~ ~-2 ~ air"}'},
 {id:command_block_minecart,Command:'kill @e[type=command_block_minecart,distance=..1]'}]}]}]}
To only make the command run once:
 summon falling_block ~ ~1 ~ {BlockState:{Name:redstone_block},Passengers:[
 {id:armor_stand,Health:0,Passengers:[
 {id:falling_block,BlockState:{Name:activator_rail},Passengers:[
 {id:command_block_minecart,Command:'gamerule commandBlockOutput false'},
 {id:command_block_minecart,Command:'put first command here'},
 {id:command_block_minecart,Command:'put second command here'},
 {id:command_block_minecart,Command:'setblock ~ ~1 ~ command_block{auto:1,Command:"fill ~ ~ ~ ~ ~-3 ~ air"}'},
 {id:command_block_minecart,Command:'kill @e[type=command_block_minecart,distance=..1]'}]}]}]}
/summon falling_block ~ ~-.5 ~ {BlockState:{Name:"minecraft:oak_planks"},NoGravity:1b,Time:1}
 
de:Fallender Block
ja:チュートリアル/落下中のブロック
zh:教程/生成下落的方块