Vertical Movement Formulas

Jump Formula
The player's vertical speed is quite easy to calculate over the course of a jump:


 * $$V\displaystyle _{Y,1} = 0.42$$
 * $$V\displaystyle _{Y,t} = \left (V_{Y,t-1} - \underset{gravity}{0.08} \right ) \times \underset{drag}{0.98}$$

If $ \left | V\displaystyle _{Y,t} \right | < 0.005 $,  $V\displaystyle _{Y,t}$  is set to 0 instead (the player's height doesn't change for that tick)

In 1.9+, it's compared to 0.003 instead.

Notes


 * $ V\displaystyle _{Y,0}$ isn't assigned a value because it has no importance. By convention, the 0th tick corresponds to the player's initial velocity before jumping.
 * $ V\displaystyle _{Y,1}$ corresponds to the initial jump motion. It is increased by 0.1 per level of Jump Boost
 * Jump height is slightly higher in 1.9 due to the momentum threshold being reduced (old=1.249, new=1.252)
 * Terminal velocity is -3.92 m/t
 * When the player collides vertically with a block, vertical momentum is cancelled and only the acceleration is left.

Jump duration

 * The duration of a jump is the number of ticks between jumping and landing.


 * It also corresponds to the period of that jump's cycle when performed repeatedly.


 * This notion is linked to the notion of Tiers.


 * {| class="wikitable"

!Description !Duration
 * Flat Jump
 * 12 t
 * 3bc Jump
 * 11 t
 * +0.5 Jump
 * 10 t
 * +1 Jump
 * 9 t
 * 2.5bc Jump
 * 6 t
 * 2bc Jump
 * 3 t
 * 1.8125bc Jump
 * 2 t
 * }
 * 2bc Jump
 * 3 t
 * 1.8125bc Jump
 * 2 t
 * }
 * 2 t
 * }

Source code
from EntityLivingBase