跳到正文
Terraria Forum· Nyenoidz·· 4 小时前AI 评分12

《泰拉瑞亚》箱子上液体叠加合并表现不一致的问题

Liquids merging over chests handled inconsistently

AI 导读

《泰拉瑞亚》中两液体在垂直窄区叠加且其一包围箱子时,上方液体可能“凭空消失”,该异常在重载世界后部分液体重叠情形不保留。此 bug 最初于多人模式地下丛林被发现,疑似波及所有可储物家具。

正文

In a narrow vertical area where two liquids are stacked upon each other, if one of the liquids surround a chest (no items within required), the liquid above will either remain above the liquid surrounding the chest or "drain from existence".

This behavior between different liquids above each other in this case is inconsistent, the "drain from existence" case is the real bug.
The images below demonstrate this bug where each liquid-over-liquid case is indicated by the item frames below. As seen, the draining from existence case is more common, indicated by absence of the liquid above.

These are the results after initially setting up the bug test.

Bug Setup

This image is after exiting and then reloading the world and reviewing the bug test.
Note that the liquid-over-shimmer and lava-over-honey cases were not retained after reloading the world.

Bug setup after leaving and re-entering world

I imagine this bug is also possible using other furniture blocks that are able to store items and are not removeable by liquids, though I haven't tested myself. I have seen some similar bug reports regarding liquid merging and furniture and i think they are related bugs to what has been observed here, meaning the same bug may extend to all furniture.

This bug was first observed roaming the underground jungle in multiplayer. Lava was within a large Rich Mahogany tree containing a chest at the bottom. Water was used to get down to the chest. The moment the two liquids were exposed to each other the excess water drained out of existence.

A POTENTIAL SOLUTION?
When two liquids meet in this situation, there should still be an attempt to create the resulting block and place them where they would be as if under normal conditions. However, when this is attempted, a check can be done for existing place-ables that cannot be removed by liquids being in the space where the resulting block would be generated. If this check is true, then the resulting block from the liquid merge becomes an item and the liquid sources involved in its creation are consumed. The obstructing place-able such as a chest remains undestroyed.

In a case such as the lava-over-water (the case 4 from the left), the result of this scenario with this solution applied would be 4 obsidian, no water source, and 4 less lava sources which now surround the chest instead of water. This solution would also resolve having to retain this liquid-over-liquid scenario between exiting and re-entering the world as shown in the second image.

Hopefully this solution is feasible with Terraria's systems.

来源:Terraria Forum · forums.terraria.org