Topic category: Troubleshooting, bugs, and solutions
I'm not sure if this one is a bug or a feature as result from Minecraft's way of processing data, but the "X/Y/Z velocity of (player)" and "Attempt to override motion vector of (player)" functions seem to have a few issues.
I've used MCreator for years now and only recently has this started bugging me, so it might be a bug from 2023.1 and already fixed by 2023.2. The issue had first appeared while I was making a player tick triggered procedure that checked whenever you were walking over sand, but since it wasn't on my priority list, I just ended up changing it to sprinting over sand and didn't pay much attention. Then a few days later I ran into it again while making a block that makes you bounce away when colliding with it which, again, I didn't pay much attention to. So today I decided to clean my bugs catalog and started testing a ton of procedures to understand what exactly was going wrong and found two things:
1º - When obtaining velocity values from the player, it will always return 0 as long as the player isn't jumping or falling (???)
2º - Attempting to override the velocity values of a player will not work when done by server-side procedures, such as most block or item ticks, but works just fine when executed by mobs or other players
I've been doing tests for about 7 hours trying to find a workaround this problem, but somethings indicate it's a bug related to the way Minecraft processes player speed (for example, since obtaining velocity is client-side only, it could always be returning zero because Minecraft makes the world move around you, not the other way around) so it might be impossible to solve it without custom code or forcing the functions to be all executed server-side.
OBS: I did found a handful of reports adjacent to this issue and none got much attention or have just been glued and taped together for years now, but only one does relate it to client-side, so I decided to post one too.
Same issue in the most recent version, really wish there was a fix