ジャンプキャンセル
ジャンプキャンセルとは、ジャンプ時の垂直方向の初速を打ち消すことで、プレイヤーをジャンプ後に地面に留まらせる仕組みである。
ジャンプの動きにSteppingが適用されることで起こる。
ジャンプキャンセルは助走の効率を高めるために使用される(各ジャンプの滞空時間が2tickに短縮されるため)。
方法は2種類:
- ハーフブロックや階段などの、ジャンプせずに上れるブロックを使用するもの(0.42b < 段差 < 0.6b)。
- 天井を使用するもの(1.8bc < 天井 < 2.22bc)。
段差型
この種類は、Steppingの仕組みを論理的に応用しジャンプに適用したもので、仕様。
この技術は「階段加速」とも呼ばれる。
この種類は段差の高さΔが0.42mから0.6mの間の場合のみ機能する。
- Δ < 0.42mの場合、プレイヤーは衝突判定が検出される前に段差を飛び越えてしまう。
- Δ > 0.60mの場合、衝突判定は検出されるが、段差が高すぎるためsteppingは適用されない。
段差を上る際、ゲームは以下の方法でプレイヤーを正しく移動させようとする:
- Y速度を0に設定する。
- Y座標を段差の上に設定する。
この際、ジャンプの垂直方向の速度は失われるが、水平方向の速度は保持される。これにより、2tick後に再びジャンプすることが可能となる。
注: ハーフブロックの角を利用して、その上に上らずにジャンプキャンセルを起こすことができる。この際、壁がX方向である必要がある。例。
天井型
この種類はバグで、1.14でSteppingとともに修正された。
この種類は天井の高さΔが1.8mから2.22mの間の場合のみ機能する。
- Δ < 1.80mの場合、天井が低すぎてプレイヤーが入れないため、壁として判定される。
- Δ > 2.22mの場合、ジャンプの最初のtickでは天井に当たらない。
天井型のジャンプキャンセルは、天井に「飛び込む」ことで実行できる:
- 真上に天井のない地面からジャンプする必要がある。
- その次tickで天井にぶつかる必要がある。
天井下にジャンプ→天井下から出るという流れを繰り返すことで、ジャンプキャンセルを連続で行うことが可能。
そのような動作はgrindingと呼ばれ、助走を事実上「1.8bc」と同等にできる。左右移動による速度の損失は無視できる程度。
例として、hh 1bm 5bはgrindingを使うことで可能である。
この技術は極めて高速かつ正確なマウス操作を要するが、人力で行うことも可能。
バージョン間の違い:
天井型のジャンプキャンセルは、Mojangが1.8で天井付きの隙間を歩いて通れないというバグを修正した際に可能となった。
しかし、床をすり抜けてしまうことが多かったため、実用化可能になったのはバージョン1.8.1から。
実際に、1.8.0では天井下にブロックがあったとしてもプレイヤーの位置が強制的に天井から2.4m下(プレイヤーの高さ1.8m + 段差の高さ0.6m)に設定されるようになっていた。
1.8.1で、steppingの手順内で高さがプレイヤーの位置よりも下に設定されることがなくなったため、床にめり込むことはなくなった。
1.8.1より前では、頭打ちの天井でのgrindingは不可能。