Jump Cancel: Difference between revisions

From Minecraft Parkour Wiki
Content added Content deleted
m (→‎Slab Variant: added example (fence boost glitch))
(Marked this version for translation)
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<languages/>
Jump Cancel is a mechanic that involves using a step or ceiling to cancel a jump's vertical speed.
<translate>
<!--T:1-->
'''Jump Cancel''' is a mechanic that allows the player to stay at ground level after jumping, by cancelling their initial jump speed.


<!--T:2-->
This can be useful to gain more momentum that normally possible.
It's the consequence of [[Special:MyLanguage/Stepping|Stepping]] applied to jumping motion.




<!--T:3-->
'''Definitions:'''
Jump Cancelling is used to increase the efficiency of a momentum (by reducing the duration of each jump to just '''2 ticks''').


<!--T:4-->
* The '''jump motion (0.42m)''' is the height of the first tick of a jump.
There are two ways to cancel a jump:
* The '''step height (0.6m)''' is the highest step the Player can move onto while on ground.<br />


<!--T:5-->
* With a '''slab''', '''stair''', or some other steppable blocks (0.42b < height < 0.6b).
* With a '''ceiling''' (1.8bc < ceiling < 2.22bc).


<!--T:6-->
Both values are hard-coded into the game, but they aren't always used correctly.
<br />


This makes it possible to use [[Stepping]] mechanics in unintended ways.


== Step Variant == <!--T:7-->
<br />


<!--T:8-->
== Slab Variant ==
[[File:Jump cancel step variant.png|thumb|350x350px|'''Slab-Boosting''': the Player can gain momentum on stairs by sprint-jumping every 2 ticks.]]
[[File:Jump cancel step variant.png|thumb|360x360px|'''Slab-Boosting''': the player can maximize momentum on stairs by jumping every 2 ticks.]]
This variant is '''intended''', as it is the logical extension of [[Stepping]] mechanics applied to [[Jumping]].
This variant is '''intended''', as it is the logical extension of [[Special:MyLanguage/Stepping|Stepping]] mechanics applied to [[Special:MyLanguage/Jumping|Jumping]].


<!--T:9-->
This is also called "Slab Boost".
This technique is also called "Slab Boost" in the speedrun community.




<!--T:10-->
This variant only works if the step height difference '''Δ''' is between '''0.42m''' and '''0.6m'''.
This variant only works if the step height difference '''Δ''' is between '''0.42m''' and '''0.6m'''.


<!--T:11-->
* 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 high to apply stepping mechanics.
* 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.




<!--T:12-->
When walking up a step, the game attempts to place the Player correctly by:
When walking up a step, the game attempts to place the player correctly by:


<!--T:13-->
# Setting their Y speed to 0.
# Setting their Y coordinate above the step.
# Setting the Y speed to 0.
# Setting the Y coordinate above the step.


<!--T:14-->
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.
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.




<!--T:15-->
'''Note:''' It is possible to use the corner of a slab to jump-cancel without moving up the step itself. To do this, the collision must be [[X/Z Facing|X-facing]]. [https://youtu.be/JHz6d-vXJ2M Example].
'''Note:''' It's possible to use the corner of a slab to jump-cancel without moving up the slab itself. To do this, the collision must be [[Special:MyLanguage/X/Z Facing|X-facing]]. [https://youtu.be/JHz6d-vXJ2M Example].




Jump Cancel can be used to build momentum on stairs, amongst other blocks.


<youtube>eXplVO5ZLn0</youtube>


== Ceiling Variant ==
[[File:Jump cancel ceiling variant.png|thumb|350x350px|A simple setup to perform Ceiling Jump-Cancel.]]
This variant is '''unintended''', and was patched in recent versions of the game.


== Ceiling Variant == <!--T:16-->


<!--T:17-->
[[File:Jump cancel ceiling variant.png|thumb|360x360px|A simple setup to perform Ceiling Jump-Cancel.(perform a hh timing from the edge of the 1<sup>st</sup> block)]]
This variant is '''unintended''', and was patched in 1.14 when [[Special:MyLanguage/Stepping|Stepping]] was corrected.


<!--T:18-->
This variant only works if the ceiling height '''Δ''' is between '''1.8m''' and '''2.22m'''.
This variant only works if the ceiling height '''Δ''' is between '''1.8m''' and '''2.22m'''.


<!--T:19-->
* If '''Δ < 1.80m''', the ceiling is too low for the Player to fit, and the collision is registered as a wall.
* 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.
* If '''Δ > 2.22m''', there is no first-tick collision.




<!--T:20-->
Ceiling jump-cancel is performed by jumping "into" a ceiling:
Ceiling jump-cancel is performed by jumping "into" a ceiling:


<!--T:21-->
* The Player must previously be on ground and jump on the next tick.
# The player must start on ground, with no ceiling directly above them.
* There must be no obstacle above the Player's current position (if there is, it must be taller than the ceiling).
* The Player's next intended position must collide with the ceiling.
# The player's next intended position must collide with the ceiling.


From the game engine's perspective, everything happened as if the Player walked up a step, so the Player's speed and position are (mistakenly) changed to reflect that. This makes it possible to jump again 2 ticks later.




<!--T:22-->
It is possible to chain multiple jump-cancels under a ceiling. In that case, it's referred to as ''grinding'', and makes it possible to use 2-tick momentum under any kind of ceiling (as long as it satisfies the conditions above).
It is possible to chain multiple jump-cancels under a ceiling by repeatedly jumping in and out of the ceiling.


<!--T:23-->
Unfortunately, it requires extremely precise mouse movement, so it's unlikely to be used outside of Tool-Assisted Parkour.
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.




<!--T:24-->
For example, a 1bm hh 5b is possible by using grinding:
For example, a '''1bm hh 5b''' is possible by using grinding:


<!--T:25-->
<youtube>c9VpOFuSW0U</youtube>
<youtube>c9VpOFuSW0U</youtube>


<!--T:26-->
This technique requires extremely quick and precise mouse movement, but it's possible to [https://youtu.be/0yvfIkeoY_8 use it in real time].






== Version Differences: == <!--T:27-->


<!--T:28-->
Cancelling a jump under a ceiling was made possible in 1.8 when Mojang fixed a bug which [https://bugs.mojang.com/browse/MC-3337 prevented entities from walking through a gap].


<!--T:29-->
'''Video breakdown:'''
However, it wasn't until version 1.8.1 that the ceiling variant became practical, as the player would often [https://youtu.be/3aUqTmhn-50 glitch through the floor]. <br> 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. <br>
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.


<!--T:30-->
* The Y coordinate stays the same throughout the momentum. This indicates the use of jump-cancel.
* To perform grinding under a 2b ceiling, the Player must repeatedly move inside and outside of the 2bc.
Before 1.8.1, grinding under a headhitter ceiling wasn't possible.
</translate>
* The momentum gained is essentially the same as for a 1bm tdhh 5b, but done with 2bc instead.

Latest revision as of 02:33, 30 January 2022

Other languages:

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).



Step Variant

Slab-Boosting: the player can maximize momentum on stairs by jumping every 2 ticks.

This variant is intended, as it is the logical extension of Stepping mechanics applied to Jumping.

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:

  1. Setting the Y speed to 0.
  2. 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.


Note: It's possible to use the corner of a slab to jump-cancel without moving up the slab itself. To do this, the collision must be X-facing. Example.




Ceiling Variant

A simple setup to perform Ceiling Jump-Cancel.(perform a hh timing from the edge of the 1st block)

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:

  1. The player must start on ground, with no ceiling directly above them.
  2. 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.


Version Differences:

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.