与此同时

与此同时

将区块中的机器在卸载期间错过的tick数向前推进,无需知道机器的类型。

Meanwhile

在区块卸载后,以机器错过的滴答数推进其中的机器,无需知道机器类型。

当你离开时,这一切都不会发生。区块真正被卸载,其中没有任何东西在运行。追赶过程发生在区块再次加载时:它滴答一次方块实体,读取其自身数据的变化,如果某个值以固定量移动,则重复该变化以覆盖错过的滴答数,然后让方块的真实逻辑接管接下来的运作。因为它从不检查方块实体实际是什么,所以模组机器与熔炉走的是同一条路径:没有受支持机器的列表,也不需等待模组添加新机器。单次能推进多远取决于机器自身的数据行为。如果读取到的数据不够清晰而无法推断,该机器会被真实滴答而非跳过,因此它仍然会完成,只是更慢。当某件事完成——一次熔炼、一批处理、一次合成——该完成总是通过方块自身的真实逻辑运行,因此它不会产出超过方块实际输入允许的量。

如果你只是为了在自己离开时保持一两个熔炉冶炼而放置区块加载器,那么你不再需要它了。通过漏斗相互供料的多个机器生产线仍然需要保持加载状态:Meanwhile 会独自追赶每个机器,但不会在你离开时在它们之间移动物品。

如果你还运行了 Unloaded Activity,Meanwhile 会退出原版熔炉、高炉和烟熏炉,以免两者对同一方块重复处理。其他所有内容均由 Meanwhile 独自处理。

它不使用 mixins,因此不会改写任何其他模组的代码。仅限服务端:客户端无需安装任何内容,对于没有安装它的玩家也不会产生任何变化。

已知限制

  • 追赶只适用于完全卸载并重新加载的区块。仍处于加载状态但位于模拟距离之外的区块会停止滴答而不卸载。其中的机器会停止,且错过的这段时间无法弥补。
  • 通过漏斗或类似物品传输连接的机器生产线在卸载状态下不会推进,因为传输只发生在真实滴答中。一旦区块加载并再次滴答,它会从停止的地方恢复。
  • 任何依赖实体的内容完全不在考虑范围内:物品分类、矿车传输、繁殖、生物驱动的农场。这些都不会被追赶。
  • 当区块卸载时,不会有任何东西跨越其边界。将输出推入相邻区块的机器会在原地被追赶,但该输出不会去任何地方,直到区块加载并再次滴答。跨边界交接能否正确恢复尚未经过测试验证。
  • 这项功能对模组生态系统中各类机器的覆盖程度尚未进行大规模测量。测试仅限于测试平台能够驱动的一小部分原版和模组方块实体,并非市场中所有内容的代表性样本。

保留所有权利。可自由放入任何整合包、任何平台,无论是否商业化——无需许可,无需署名。源代码已公开,你可以准确了解它的运行机制。

源代码和问题反馈:https://github.com/KURONAMI333/meanwhile