Jumping

Jumping is an essential mechanic that is quite self-explanatory.

Activation
To start a jump, the player must have been on ground the previous tick. This is why the player is able to run off a block for 1 tick (e.g. with a headhitter timing) and still be able to jump.

When a jump is initiated, the player's vertical speed is set to 0.42. On every following tick, it is decreased by 0.08 (gravity), then multiplied by 0.98 (drag).


 * When the player hits a ceiling, their vertical speed is set to 0 and they immediately start falling.
 * When the player hits the ground, their vertical speed is set to 0 and the  flag is set as true.

Jump Height
Prior to 1.9, the maximum jump height is 1.249b. It is increased in 1.9+ by ~0.003b, making the player able to jump 1.252b high.

On flat ground, a jump lasts 12 ticks (0.6s).

Speed
When combined with Sprinting, jumping adds 0.2 units of acceleration towards the player's facing.

In air, the player accelerates less quickly (only 20% of the base acceleration value), but conserves more speed (91% every tick, instead of 54.6%).

Therefore, sprint-jumping is a very efficient way to build and conserve speed.