对1.13后两种不同方块更新类型译名的探讨

先放结论,我打算将 NC 更新译为“方块更新”,与 1.12 及以前的方块更新接轨;将 1.13 新增的 “PP” 更新译为“状态更新”


1.13 后方块更新分为了两大类,在我的文章《深度剖析Minecraft #2 方块更新》中我是用了 1.13.2 mcp mapping 的 NeighbourChange (NC)以及 PostPlacement (PP)进行区分

不过这两者并不是一个利于行文流畅及推广传播的名字,因此我想给他们一个恰当的译文

NeighborChanged

NeighborChanged 更新,指的是最基础的,最符合“方块更新”一词含义的更新。红石元件的状态变化、方块的放置与破坏、方块开始移动以及方块到位都可以产生 NC 更新。除此之外,各种杂七杂八地方块变化大多也都能产生 NC 更新

游戏里能产生 NC 更新的事件太多了,不便于一一列举。不过能响应 NC 更新的却不算多。所有能响应 NC 更新的事件有: 活板门、栅栏门、木门、铁门更新开关状态 霜冰检测融化 活塞检测移动 活塞头给予活塞底座 NC 更新 红石粉、中继器、比较器、红石火把、各类铁轨、命令方块、投掷器、发射器、音符盒、红石灯、TNT更新状态 水、岩浆检测状态 灵魂沙、岩浆块添加生成气泡柱的 TT 事件 海绵尝试吸水

《深度剖析Minecraft #2 方块更新》

NC 更新的译名应该较为容易解决,因为其于代码中的实现与 1.12 前的方块更新是一致的,也是游戏中最为常见且常用的一种更新。因此我打算继承最为通用的名称,方块更新,一词来表示 NC 更新

各大 mapping 的名称:

  • mcp:neighborChanged
  • yarn:neighborUpdate
  • mojang:neighborChanged

PostPlacement

PostPlacement,指的是方块发生变化后导致的临近方块与之交互情况发生变化的更新。 所有能响应 PP 更新的事件有:

  • 各类依附性方块(火把、雪片地毯蛋糕、各类花草作物、拉杆按钮、木门铁门、火焰等)判断依附的方块是否合法并决定是否掉落
  • 连接型方块(栅栏石墙玻璃板、楼梯、箱子、红石粉绊线、地狱门、高草紫颂植物等)更新当前与相邻方块连接状态
  • 中继器更新被锁状态
  • 音符盒更新乐器类型
  • 树叶更新离木距离
  • ……

《深度剖析Minecraft #2 方块更新》

这是一个 1.13 后才添加的新的方块类型,并不能直接通过旧时称法来分析,需要讨论其具体行为与作用

先看看各大 mapping 的名称:

  • mcp:updatePostPlacement
  • yarn:getStateForNeighborUpdate
  • mojang:updateShape

因为 PP 更新被大量应用在依附性方块/连接性方块的状态(blockstate)的更新上,尤其是连接性的方块,在受到 PP 更新的时候它们将会依据临近方块的方块状态而更新自己的方块状态,并不改变自己的方块类型

除此之外,作为 PP 更新最为典型的检测装置——侦测器而言,侦测器检测的一大特点是可以检测方块的状态是否发生变化

结合 PP 更新与方块状态的种种关系,我打算将 PP 更新称为状态更新

状态更新一词也符合(侦测器检测的是状态变化),也不会与方块更新的“方块”混淆

除此之外,在国外社区中,常用 state change 一词来表示 PP 更新,该词的翻译也恰好为“状态更新”,因此该翻译也可无缝地与国外社区接轨

网友讨论

网友讨论


如果你有更好的译名,或者你了解一些已经在其他领域中已广泛传播的译名,都可以在评论区中发表相关看法

作者本人水平有限,如有错误欢迎指出