MulverineX / player_motion

Explosion-based player motion library for Minecraft
https://smithed.net/packs/player_motion
MIT License
21 stars 5 forks source link
datapack datapack-library mcfunction

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 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 for helping make significant math performance & stability improvements.

How to use

Launching a player where in a specific direction

scoreboard players set $strength player_motion.api.launch 10000
function player_motion:api/launch_looking

Launching a player with xyz vector

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

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:

If you know any possible solutions or would like to help fixing these problems, please let me know!