Movement Formulas

The Player's movement can be precisely calculated with sequences.

The following formulas come from analyzing the game's source code.

Because this field is so extensive, we're only considering standard movement for simplicity, and ignoring mechanics specific to certain blocks.

You will find further documentation of movement physics in these articles:


 * Soulsand
 * Ladders or Vines
 * Slime Blocks
 * Cobwebs

Formula:

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


 * If $ \left | V\displaystyle _{Y}(t+1) \right | < 0.005$, $V\displaystyle _{Y}(t+1)$  is set to 0 instead. This is no longer the case in 1.9+.

Observations:

 * Terminal velocity is -3.92 b/t
 * When the Player collides with ground, $V\displaystyle _{Y}(t+1)$ is set to 0.

Vertical Position:

 * To get the position on a given tick, you simply need to sum $V\displaystyle _{Y}$


 * $Y(n) = \sum_{t=0}^{n} V_{Y}(t)$

Airtime:

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


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


 * Airtime is linked to the notion of Tiers.


 * {| class="wikitable"

!Description !Airtime
 * 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
 * }

Horizontal Movement
Horizontal Movement is a bit more complex than Vertical Movement, as it relies on many more factors: Player Actions, Direction, and Ground Slipperiness.

We'll start by introducing Multipliers in an effort to make formulas more readable.

Multipliers
...