Ceiling Hover/zh: Difference between revisions

From Minecraft Parkour Wiki
Content added Content deleted
(Created page with "这个故障非常微不足道:它不会以任何方式破坏游戏,并且需要使用非常具体的设置")
(Created page with "== 结果 ==")
Line 70: Line 70:




== 结果 ==
<div lang="en" dir="ltr" class="mw-content-ltr">
== Consequences ==
</div>


这个故障非常微不足道:它不会以任何方式破坏游戏,并且需要使用非常具体的设置
这个故障非常微不足道:它不会以任何方式破坏游戏,并且需要使用非常具体的设置

Revision as of 11:44, 26 August 2021

Other languages:
在 1.8 中,这是唯一可用于执行天悬停的设置 (1.8125bc 下面有史莱姆)

Ceiling Hover is a glitch that makes the player "hover" between a ceiling and a bouncy block (slime, or beds since 1.12). It can be performed by jumping under a ceiling such that the block 2.001b below the ceiling has bouncing properties.




解释

每当玩家与一个方块(地板或天花板)垂直碰撞时,游戏将应用碰撞物理。

对于几乎每个方块,这只是意味着将玩家的垂直速度设置为 0。

/* in class Block */
public void onVerticalCollision(Entity entityIn)
{
    entityIn.motionY = 0.0D;
}


但有一个例外:粘液块(和 1.12+ 中的床)。

/* in class BlockSlime */
public void onVerticalCollision(Entity entityIn)
{
    if (entityIn.isSneaking())
        super.onVerticalCollision(entityIn);
    else if (entityIn.motionY < 0.0D)
        entityIn.motionY = -entityIn.motionY;
}


  • 如果玩家正在潜行,它将被视为常规碰撞(垂直移动设置为0)
  • 否则,它将检查玩家的速度是否为负,然后将其反转。


请注意,如果玩家以某种方式以正速度移动(而不是潜行),则不会发生任何事情。

事实上,这正是这个故障发生的情况。


当游戏检测到垂直碰撞时,它会考虑在玩家位置下0.2米的方块应用碰撞物理(就算是天花板碰撞……)


让我们回顾一下1.8125bc天花板悬停设置的步骤:

  1. 在1.8125bc下跳跃会与玩家下方0.2米的方块发生垂直碰撞(在地面)
  2. 如果方块是黏液方块,那么垂直速度不会设置为0,玩家仍然悬挂在天花板下。
  3. 重复步骤(2),直到玩家的垂直速度由于重力而变为负值。


注意:这个小故障只会发生几Ticks,但是通过跳跃提升,持续的时间会更长。天花板悬停可以随时通过潜行中断。



结果

这个故障非常微不足道:它不会以任何方式破坏游戏,并且需要使用非常具体的设置