Jump Cancel is a mechanic that allows the player to stay at ground level after jumping, by cancelling their initial jump speed.
It's the consequence of Stepping applied to jumping motion.
Jump Cancelling is used to increase the efficiency of a momentum (by reducing the duration of each jump to just 2 ticks).
There are two ways to cancel a jump:
- With a slab, stair, or some other steppable blocks (0.42b < height < 0.6b).
- With a ceiling (1.8bc < ceiling < 2.22bc).
This technique is also called "Slab Boost" in the speedrun community.
This variant only works if the step height difference Δ is between 0.42m and 0.6m.
- If Δ < 0.42m, the player jumps above the step before the collision can be detected.
- If Δ > 0.60m, there is a collision, but the step is too tall to apply stepping mechanics.
When walking up a step, the game attempts to place the player correctly by:
- Setting the Y speed to 0.
- Setting the Y coordinate above the step.
In the process, the jump's vertical speed is lost, but horizontal speed is conserved. This makes it possible to jump again 2 ticks later.
This variant is unintended, and was patched in 1.14 when Stepping was corrected.
This variant only works if the ceiling height Δ is between 1.8m and 2.22m.
- If Δ < 1.80m, the ceiling is too low for the player to fit, and the collision is registered as a wall.
- If Δ > 2.22m, there is no first-tick collision.
Ceiling jump-cancel is performed by jumping "into" a ceiling:
- The player must start on ground, with no ceiling directly above them.
- The player's next intended position must collide with the ceiling.
It is possible to chain multiple jump-cancels under a ceiling by repeatedly jumping in and out of the ceiling.
In that case, it's referred to as grinding, and is virtually equivalent to "1.8bc" momentum, minus the negligible cost of speed for micro-turning.
For example, a 1bm hh 5b is possible by using grinding:
This technique requires extremely quick and precise mouse movement, but it's possible to use it in real time.
Cancelling a jump under a ceiling was made possible in 1.8 when Mojang fixed a bug which prevented entities from walking through a gap.
However, it wasn't until version 1.8.1 that the ceiling variant became practical, as the player would often glitch through the floor.
Indeed, in 1.8.0, The game would force the player to be set 2.4m under the ceiling (1.8m player height + 0.6m step height), even if a block was present.
As of 1.8.1, the stepping method never goes below the player's position, so the player can no longer get glitched into the floor.
Before 1.8.1, grinding under a headhitter ceiling wasn't possible.