スライムブロック

From Minecraft Parkour Wiki
Revision as of 12:57, 11 May 2022 by KK kaku (talk | contribs) (Created page with "<syntaxhighlight lang="java"> //Entity.moveEntity()の終わりに呼び出される public void onLanded(Entity e) { if (e.isSneaking()) e.motionY = 0.0;")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Other languages:

スライムブロックは、その上に落ちるとバウンドするという特性のある特殊ブロックである。


摩擦

スライムブロックのslipperinessは0.8で、通常ブロック(0.6)と氷(0.98)の間に位置する。

それに加え、


バウンド

  • スライムブロックの上に落ちると、垂直方向の速度が反転され、上方向にバウンドする。
  • 着時地にジャンプキーを押しているとバウンドがキャンセルされ、落下ダメージを受けることなく通常通りにジャンプする。
  • 着地時にスニークを押しているとバウンドがキャンセルされ、落下ダメージを受ける。


ソースコード

//Entity.moveEntity()の終わりに呼び出される
public void onLanded(Entity e)
{
    if (e.isSneaking())
        e.motionY = 0.0;

    else if (e.motionY < 0.0D)
        e.motionY = -e.motionY;
}

//Entity.moveEntity()の終わり、前述のメソッドの後に呼び出される
public void onEntityCollidedWithBlock(Entity e)
{
    if (Math.abs(e.motionY) < 0.1D && !e.isSneaking())
    {
        double mult = 0.4 + Math.abs(e.motionY)*0.2;
        e.motionX *= mult;
        e.motionZ *= mult;
    }
}