液体流动机制
2019/12/11317 浏览攻略交流
液体流动机制
流动的水和熔岩。
液体(Liquid)是可以自由流动,形成河流、瀑布和湖泊的特殊方块。
属性
概览
目前Minecraft世界中仅有2种液体:水, 熔岩.
所有液体方块都自然地起源于它的源方块,即被完全填满的液体方块。被其他方块(无论是固体方块或液体方块)局限的源方块无法流动,并且被渲染成静止的。当源方块至少有一部分不被局限后便会开始流动,扩散规则基于最基础的流体力学。视觉上,它们被渲染为流动的,有动态的线条材质指示流动方向。流动的液体方块离源方块越远,它就会变得越浅。
液体可以与其他液体进行交互,或者与方块(根据其影响的方块属性)互动。液体也会对大多数浮于它的实体和掉落物施加压强,使得它们被沿着流向推动或者沉入底下。绝大多数的生物,包括玩家,都拥有游泳与浮在液体上的能力。
液体方块是不可能以物品的形式被获得的,但是源方块可以用桶装起来。
液体方块会被视为非固体方块,与空气相似;例如,当玩家尝试在液体占用的空间放置一个方块,这样的放置总是成功的,液体方块会被直接覆盖掉。
深度
液体拥有深度(Depth)值, 用以确定这个液体方块有多少"空的"部分。 一个液体源方块的深度总是0。流动的液体方块所拥有的深度会逐块+1, 取决于其距离源方块的距离, 最大可能的深度为7。当一个液体方块变得最浅时,其流动会终止。流动液体的深度总是比周围液体方块的深度至少少1。
熔岩在主世界所拥有的最大深度为3,但在下界中,熔岩拥有7的最大深度上限。
扩散
水从悬崖上流下来,说明了流体力学的机制。
当一个液体源方块被放置,其扩散过程便会开始。
源方块会首先检查它下面的方块。若下面是空气或一些其他种类的非固体方块,它会被液体取代(根据其特性,也可能掉落成为物品),被指定深度值为1,并加入到其他流动的液体方块中一起进行扩散计算。源方块从计算中移除,因为它唯一能流动的方向就是向下流。
固体方块和一些非固体方块是不受液体影响的。如果流动的液体下方的方块被认为是固体,或它本身是一个源方块,扩散过程会继续考虑源周围的四个方块。如果这四个方块中的任何一个是空气或受液体影响的非固体方块,它们会被转换成液体并分配一个深度值,为源方块的深度值+1(只要小于最大深度值7),然后它们会被加入到流动的过程中。
深度值小于最大深度值的方块在允许的情况下会继续流动,而到达最大深度值的方块将从流动的计算中被移除。注意:如果周围的四个方块都是固体,那么扩散过程停止。
流动的液体有一个速度值,它决定了扩散影响发生有多快。熔岩在主世界比水慢得多,但在下界它和水一样,每5个游戏刻移动一个方块,或者说每秒4个方块。
流动方向
液体会寻找距离坡的边缘最短的距离并优先流向那个方向。
在计算扩散时,会考虑流动方块周围的地形,出于美学,优先考虑水/熔岩瀑布的创建。 在计算水平扩散时,会检查液体方块下方的5个方块是否为空气方块。这些空气方块都会被转化为液体方块,并设定其深度值为当前方块+1,用来创建一个简单的瀑布。不过在接下来的计算中将不被考虑。
例如,在距边缘7个方块处放置的单一水的源方块,在边缘处只会有一个方块宽,然后以一个方块宽的水流落下,就像右边的图中所展示的那样。
液滴
熔岩液滴渗透了单层的泥土。
当颗粒在选项菜单中被完全启用后,下方是空气而上方是液体的固体方块会产生 液滴,这一视觉效果可以让玩家得以区分方块的上方有液体的存在。下坠的熔岩液滴不会造成任何伤害或者导致生物起火。 新的液体放置后,液滴在开始滴下之前需要数秒的时间来“渗透”。
方块更新
下列的动作将会导致一个液体方块的更新:
另一个方块被放置在其本身处
液体开始从一个相邻的方块流入
已经存在的流入液体停止了流动
结构的生成永远不会进行方块更新使其在被载入的时候进行调整。例如, 一个洞穴入口可能被部分地生成在一个地下熔岩湖或地下水湖的边缘,并且这些液体将不会流动直至它们收到了一次方块更新。从另一方面,被作为结构的一部分生成出的液体会立即流动如果他们没有被完全确认;这包含了海洋底端的洞穴,其水流将会直接灌入峡谷之中。
液体混合
当两种液体交互, 其结果会取决于交互位置相对于自身的源方块。
如果熔岩流垂直流到水流上,交互位置将会生成 石头。
如果熔岩流水平流到水流边,交互位置将会生成 圆石。
如果水流水平流到熔岩流边,将会发出滋滋的声音并产生烟雾颗粒, 但不会改变任何东西。
如果水流垂直流到熔岩流上,可能会生成 圆石 亦或不生成任何东西。
如果水流流到熔岩源上,熔岩源将会变成 黑曜石。其熔岩源方块将在这个过程中被破坏,这意味着黑曜石不能通过像圆石这样的方法可再生。
如果垂直下落的水流在任何位置接触了相邻的熔岩源, 黑曜石都会被生成 - 即使该水流根本不会流进熔岩源。