Does the player's velocity affects the velocity of thrown items?

According to decompiled Minecraft code used in Forge, there is nothing that uses player's velocity for thrown items nor projectiles (arrows, eggs, snowballs). All that is taken into account is the (world,x,y,z) position of player and the angle you are looking at.

So all that can differentiate is the initial position and the angle where you look. If you jump, your initiate position will be higher.

Then it is all about the "throw in gravity field" problem, where gravity is according to code this (for thrown items):

this.motionY -= 0.03999999910593033D;

This is the change of velocity in y axis, so every tick (20 times per second), the velocity in y-axis will decrease by this number. Therefore if you throw it in the best angle, it will land at the most distant point. For normal world, this angle is about 45°.

Do mind that if the projectile or item passes through flowing water, the water's velocity will affect the projectile's velocity.


After doing some testing, I can tell that it all goes down to luck and a slight bit of timing.

The one of the very left is my attempt of jumping and throwing, the second one is just standing, and the other 2 are sprinting + jump throw.

However, enter image description here

In this picture, I tried to just stand and walk right, looking at the same height and throwing an item, the results are pretty random.

So I assume that the throwing distance all depends on luck, since there's no exact velocity at which the item will fly.

(After some more testing, it seems like when you jump, and throw at the last second, it'll go further, and when sprinting, the item seems to go faster)

With snowballs and eggs, they will go higher when you jump, depending on when you'll throw them, but I'm not completely sure about the velocity.