Summon falling_block with horizontal velocity and no air drag
I want to have falling block going horizontally at a constant velocity, but even with nogravity
they slow down and eventually stop.
I tried to update their speed with a repeating command block constantly setting their motion, but it's just too laggy. Here's how I spawn the falling blocks:
execute as @e[type=minecraft:armor_stand] run execute positioned as @s run summon falling_block ~ ~2 ~ {BlockState:{Name:"minecraft:gray_concrete"},Time:20b,Motion:[0.0d,0.0d,0.0d],NoGravity:1}
Here's how I set their motion:
execute as @e[type=minecraft:falling_block] run data modify entity @s Motion set value [0.7d,0.0d,0.0d]
Solution 1:
You can continuously summon new falling blocks so that the motion is constant, they will also not stutter.
This command in a repeating command block will add a tag to all falling_block:
execute as @e[type=minecraft:falling_block] run tag @s add 1
The next one in a chain command block after the first will summon a moving, NoGravity falling block at all falling blocks with the tag 1, in my case it's astone block:
execute at @e[type=minecraft:falling_block,tag=1]
run summon minecraft:falling_block ~ ~ ~ {BlockState:{Name:"stone"},Time:1,NoGravity:1,Motion:[-0.1d,0.0d,0.0d]}
And then in another chain command block, you kill the tagged falling block:
execute as @e[type=minecraft:falling_block,tag=1] run kill @s