It bugs me that there's not really a way to change the velocity of a player or entity. While I enjoy the amount of control the command system allows over the game, it would be super useful to be able to modify a player's velocity the same way you can in a server plugin. Here's a general idea:
/velocity get <target> [x|y|z] - retrieves the velocity of an entity in all directions, or in a single direction for use with /execute store result
/velocity (set|add) <target> <x> <y> <z> - modifies the velocity of an entity. Using the ^ operator would change velocity relative to the direction the player is facing.
For instance, if I were to use /velocity set @s 0 1 0, I would hop straight upwards, or if I used /velocity set ^ ^ ^10, I would be launched in the direction I'm facing. Ideally, it should be able to take scoreboard values, too. This would open the door to so many new possibilities- falling block cannons and portal guns that conserve momentum, just to name a couple.
If you've ever seen those jump pads on Mineplex or The Hive, this would allow for the same type of thing in vanilla Minecraft.
Technically this is already possible using the Motion NBT tag, but a proper /velocity command would be better because:
- You can't edit the Motion tag of a player.
- You can't add velocity to an entity relative to the direction it's facing; at least, not without a lot of complicated math.
- The Motion tag doesn't default to [0.0,0.0,0.0], even for entities that aren't moving.
Please sign in to leave a comment.
6 Comments