Player Motion
🟠 Updated over a year agoPreview

🔍 Analysis
- 👍 1.0% endorsement rate — high engagement, a strong quality signal
- 🏆 #1359 of 1805 datapack mods in this game by downloads
📋 About This Mod
# Player Motion Player Motion is an explosion-based library that uses subtick timing to ensure that only one player is pushed by the blast without any side effects. Credit to (https://github.com/BigPapi13/Delta) for making the original library this is inspired by. This project aims to succeed it. Credit to `nedraw` from the minecraft commands discord for the ender crystal methodology & implementation this is now based on. Credit to (https://github.com/SuperSwordTW) for helping make significant math performance & stability improvements. ## How to use ### Launching a player where in a specific direction ```mcfunction scoreboard players set $strength player_motion.api.launch 10000 function player_motion:api/launch_looking ``` - `$strength` represents motion in blocks/tick, scaled by 10000. A strength of 10000 will push the player at 1 block/tick - The facing direction in which the function is called is the direction the player will be launched - Only the player executing the command will receive a motion update ### Launching a player with xyz vector ```mcfunction scoreboard players set $x player_motion.api.launch 500 scoreboard players set $y player_motion.api.launch 12000 scoreboard players set $z player_motion.api.launch -3125 function player_motion:api/launch_xyz ``` - `$x`, `$y`, and `$z` are the strength in blocks/tick to launch the player in the x, y, and z directions - As before, only the player executing the command will be launched *Note: These functions are *additive* and will apply motion in addition to existing motion rather than directly setting it to whatever input you send ## Limitations + Known Issues While this library is likely the closest we've gotten to perfect player motion manipulation, there are some limitations worth mentioning: - **MSPT Inconsistency**: Even though the motion applied is constant, the rate at which the server and client update may vary, and calling motion updates per tick may result in inconsistencies when these variations become too large. For consistent results, the library should only be used for instantaneous bursts of motion, and continuous forces should instead rely on riding-based methods or levitation, depending on the context. If you know any possible solutions or would like to help fixing these problems, please let me know!
# Player Motion Player Motion is an explosion-based library that uses subtick timing to ensure that only one player is pushed by the blast without any side effects.
Credit to [@BigPapi13](https://github.com/BigPapi13/Delta) for making the original library this is inspired by. This project aims to succeed it.
Credit to `nedraw` from the minecraft commands discord for the ender crystal methodology & implementation this is now based on.
Credit to [@SuperSwordTW](https://github.com/SuperSwordTW) for helping make significant math performance & stability improvements.
## How to use
### Launching a player where in a specific direction
```mcfunction scoreboard players set $strength player_motion.api.launch 10000 function player_motion:api/launch_looking ``` - `$strength` represents motion in blocks/tick, scaled by 10000. A strength of 10000 will push the player at 1 block/tick - The facing direction in which the function is called is the direction the player will be launched - Only the player executing the command will receive a motion update
### Launching a player with xyz vector
```mcfunction scoreboard players set $x player_motion.api.launch 500 scoreboard players set $y player_motion.api.launch 12000 scoreboard players set $z player_motion.api.launch -3125 function player_motion:api/launch_xyz ``` - `$x`, `$y`, and `$z` are the strength in blocks/tick to launch the player in the x, y, and z directions - As before, only the player executing the command will be launched
## Limitations + Known Issues
While this library is likely the closest we've gotten to perfect player motion manipulation, there are some limitations worth mentioning: - MSPT Inconsistency: Even though the motion applied is constant, the rate at which the server and client update may vary, and calling motion updates per tick may result in inconsistencies when these variations become too large. For consistent results, the library should only be used for instantaneous bursts of motion, and continuous forces should instead rely on riding-based methods or levitation, depending on the context.
If you know any possible solutions or would like to help fixing these problems, please let me know!
📊 Mod Details
- Game
- Minecraft Data Packs
- Author
- MulverineX
- Version
- 1.4.4
- Downloads
- 5,664
- Endorsements
- 57
- Category
- datapack
- Created
- 3/26/2024
- Updated
- 8/19/2025
- Game Versions
- 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6
- Tags
- game-mechanics, library
🔧 How to Install Minecraft Data Packs Mods
Download from Modrinth. Use Prism Launcher or drop into your mods folder.
📖 Full step-by-step install guide for Minecraft Data Packs →
Visit the official mod page for specific installation instructions for this mod.
🎮 Need cheat codes or console commands? Check ur gaming wiki for Minecraft Data Packs commands, item IDs, and more.
❓ Frequently Asked Questions
Which Minecraft Data Packs versions does Player Motion support?
The author lists 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7. Other versions may work but are untested by the author.
What is the latest version of Player Motion?
Version 1.4.4, published 2025-08-19 with 5,664 downloads recorded at the source.
Keep browsing — more Minecraft Data Packs mods await