机械动力:工厂控制台

工厂仪表

工厂仪表可用于自动发送物流请求和进行自动生产,其常规用途与高级物流的基础概念可参阅游戏内的“思索”。工厂仪表放入工厂控制台后只能以配方模式工作。

gauge empty
图 1. 控制台内新放置的工厂仪表

放置仪表与设置监测对象

工厂仪表必须先设定物流网络,才能放入工厂控制台。可以手持仪表与世界中的仓储链接站交互,也可以使用控制台界面中的网络选择器,将其设定为控制台内其他仪表已经使用的网络。

放置后,需要为新仪表设置要被监测的物品。可手持目标物品点击尚未配置的仪表,也可打开“设置物品”界面。两种方式都支持从 JEI 或 EMI 将虚拟物品拖入过滤槽。

gauge set item screen
图 2. “设置物品”界面

设置完成后,仪表会开始监测已绑定物流网络中与被监测物品匹配的物品的数量。此数量被称为库存,并显示与工厂控制台界面中的标签上。

gauge monitoring item
图 3. 监测到 6 个铁锭的工厂仪表

默认情况下,计算库存时会匹配 btn respect nbt 被监测物品的 NBT 数据。你可以在“设置物品”界面中选择忽略 btn ignore nbt NBT 数据。忽略 NBT 数据时,需要注意一些事项

配方设置界面

单击已经设置被监测物品的工厂仪表,会打开配方设置界面。

gauge recipe settings
图 4. 监测铁锭的仪表的配方设置界面
❶ 产物
该仪表期望生产的物品类型与数量。参见基础生产
❷ 原材料
生产上述产物所需的物品类型与数量。
❸ 自定义布局按钮
点击为原材料指定特定顺序。参见指定材料布局
❹ 新建连接按钮
点击以连接其他工厂仪表或其他组件
❺ 移动组件按钮
点击以在虚拟面板上移动该仪表。
❻ 请求间隔
每次请求间的间隔时间,以及修改它的设置。参见请求间隔
❼ 请求倍率
使一次请求中包含多份原材料的选项。参见动态请求倍率
❽ 目标地址
原材料打包后需要发送到的地址。
❾ 库存数量
此工厂仪表的库存数量
❿ 目标数量
该仪表被设定的使库存达到的数量。
⓫ 计量单位
以“个”或“组”为单位设置目标数量。
⓬ 工作模式
目标数量的设定或计算方式。参见按需生产
⓭⓮⓯ 承诺与待处理请求
显示正在等待产物返回的请求,与限制请求数量的配置。参见承诺与待处理请求限制
⓰ 重置按钮
清除该仪表的全部配置,包括被监测物品
⓱ 确认按钮
保存配置并关闭界面。

基础生产

除了监测库存外,工厂仪表最基础的用途是表示一条物品生产配方。例如使用 1 个粗铁生产 1 个铁锭。产物类型与被监测物品等同。为指定原材料,需要将该仪表连接到其他正在监测物品的工厂仪表,后者被称为此消费端仪表材料仪表

点击“添加连接”(图 6 ❹),然后点击材料仪表即可与其连接。每种材料都以物品图标的形式显示在 ❷ 中,按住 Shift 键并点击该图标即可断开此材料仪表的连接。

gauge ingredient connection
图 5. 监测粗铁的仪表连接至生产铁锭的仪表
gauge iron smelting recipe
图 6. 使用 1 个粗铁冶炼 1 个铁锭的配方设置

在默认工作模式(⓬)下,工厂仪表反复检查其库存(❾)是否低于设定的目标(❿⓫)。如果小于,它会发出一个请求,将一系列原材料(❷)从材料仪表的网络中发送到目标地址(❽),并等待产物(❶)稍后进入库存(❾)。

仪表的配方定义了每次请求发送的材料及其数量(❷),以及预计输出的物品的类型和数量(❶)。在 ❷ 上滚动以调整每种材料的数量。每种材料可以超过 1 组,但所有材料的总数被限制为 9 组。输出物品的数量也可以通过在 ❶ 上滚动来调整,它的限制为 9 组或 64 个,以较大者为准。

表 1. 示例
每批将 32 个粗铁冶炼成 32 个铁锭gauge batch smelting example
每批混合 256 个混凝土粉末gauge batch mixing example

每一条从工厂仪表到其材料仪表的连接,都定义了配方中一个单独的材料,即使它们的被监测物品是相同的。

材料仪表的配置对消费端仪表的意义仅限于放置仪表与设置监测对象中所描述的。至于一个材料仪表是在生产物品还是仅在监测物品,对它的消费端仪表来说无关紧要。

动力合成

当工厂仪表中的配方的材料类型与一条动力合成配方相符时,界面中会出现“使用动力合成”按钮(图 7 ❶)。启用后,仪表生成的包裹在动力合成器上解包时,原材料会自动按照 ❷ 显示的配方布局排列。

gauge crafting iron sword
图 7. 合成 1 把铁剑

动力合成配方最大可为 10×10。但当配方大于 3×3 时,❷ 将不再预览具体布局。此时可以按住 Ctrl 键并将鼠标悬停在配方上以预览布局。忽略 NBT 数据的工厂仪表不能在大于 3×3 的配方中作为原材料。如果较大的合成配方的材料无法打包在 9 组以内,❶ 则不会显示。

gauge crafting crushing wheels
图 8. 合成粉碎轮

动力合成器必须使用扳手互相连接,并排列为 3×3 至 10×10 的正方形网格。较小配方可以发送到更大的动力合成器阵列:按住 Ctrl 并在原材料上滚动,可调整合成网格大小,使其与目标合成器大小相同。

建议在动力合成器前使用理包机,参阅游戏内关于理包机的“思索”。

批量合成

工厂仪表可以被配置一个材料与产品数量是合成配方倍数的配方。启用动力合成后,在材料或产物槽(图 9 ❶❷)上滚动可调整批次尺寸,即该配方包含的可执行的合成次数。原材料(❷)与产物(❶)数量会自动计算,不能逐项调整。

gauge crafting batch
图 9. 每批合成 64 把铁剑

使用批量合成时,必须使用理包机。当理包机收到一次请求中产生的所有包裹时,其内容会被拆分为多个小包裹,每个小包裹只包含一次合成所需的原材料,在此之后才可以解包到动力合成器上。

无论输出物品的堆叠数量如何,最大批次尺寸均为 64。因此,最大输出物品数量为 64 × 合成配方中的输出物品数量。

gauge crafting batch crushing wheels
图 10. 以 64 的批量合成粉碎轮,每批生产 128 个物品

使用批量合成时,配方中所有材料的总和可以超过 9 组,此时材料将被拆分进多个包裹。之所以允许这样做,是因为理包机只会输出包含一次制作所需材料的包裹,而非整个配方的包裹。

指定材料布局

默认情况下,工厂仪表所创建的包裹解压后,其内容物不会按任何特定顺序排列。点击 图 11 ❶ 可启用自定义布局,允许配方将每种原料分配到 9 个槽位中的任意个。这与动力合成类似,但可使用任意布局,不限于合成配方。

gauge arrange deployer
图 11. 使用自定义布局表示一个机械手加工配方

启用自定义布局时,配方中的每种材料(❷)都可以用鼠标左键拖动到另一个位置,或用鼠标右键拖动进行复制。一种材料被复制出的每个物品组都可以单独调整数量。

自定义布局必须使用理包机才能生效,即使一个包裹已包含配方中的所有材料。所有材料会被理包器输出至一个包裹中,然后它将能够被解包到任何容器方块中。每个材料会被解包到它们被指定的槽位中。在 图 11 提供的示例中,砂纸被解包至容器的第 1 到 3 个槽位中,玫瑰石英被解包至第 9 个槽位中。包裹接收端可以建设设施,将第 1 到 3 个槽位中的物品运输至机械手中,并将第 9 个槽位中的物品运输至机械手下方。

gauge arrange deployer unpacked
图 12. 由 图 11 创建的包裹被解压到一个空箱子中

为了能够解包,❷ 中指定的每组物品都必须一一解包到目标容器的前 9 个槽位中。如果被解包至一个槽位的物品可与目标槽位中已有的物品堆叠,且不会超过堆叠上限,解包则会成功。物品不会溢出到其他槽位。目标容器的槽位数量可以少于 9 个,如果该自定义布局没有利用容器可用槽位之外的槽位。

带有自定义布局的包裹可以被解包到任何打包机支持的方块中,其内容被解包的方式取决于目标方块所提供的槽位数量和顺序。例如,此类包裹可以被直接解包到原版合成器上进行批量合成,但包含可熔炼物品和燃料的包裹不能被解包到熔炉上,因为取决于打包机连接至熔炉的哪一侧,它只能访问熔炉中的一个槽位。

按需生产

工厂仪表默认为 18 “维持库存”模式,在此模式中,当库存低于设置的目标数量时,仪表则会启动(开始发送请求)。点击 图 13 ❷ 可将工作模式切换为 btn follow demand “按需生产”,此时仪表只会在存在下游需求时启动,也就是指该仪表的任何一个消费端仪表被启动时。

gauge follow demand mode
图 13. 处于按需生产模式的橡木木板仪表

在此模式下,目标数量(❶)不能手动修改,而是根据下游需求自动计算。即此仪表所生产的物品作为材料在所有当前启动的消费端仪表的配方中所定义的数量总和。

gauge follow demand barrel example
图 14. 由橡木原木生产木桶的示例

例如,生产一个木桶需要 6 个橡木木板和 2 个橡木木半砖;3 个木板可合成 6 个木半砖,1 个原木可合成 4 个木板。木板与木半砖仪表都可以设为按需生产:

  • 木半砖仪表收到 2 个木半砖的需求。
  • 木板仪表共收到 9 个木板的需求,其中 6 个来自木桶,3 个来自木半砖。
  • 首先 3 个原木会被合成为 12 个木板,其中 3 个会被合成为 6 个木半砖。
  • 在生产 1 个木桶后,将会剩余 3 个木板和 4 个木半砖。

从仓库管理员手动下单

另一个工作模式,btn follow demand and order “按需生产与手动请求”,除具备按需生产功能外,还允许玩家在绑定至同一网络的仓库管理员界面中手动请求生产物品。在仓库管理员界面中,每个处于此模式的仪表的配方都会显示为一个生产任务,它们以蓝图背景标识。

gauge production task
图 15. 橡木木板的生产任务

详情请参阅生产订单

动态请求倍率

通常情况下,工厂仪表每次请求所发送的材料数量是固定的,即其配方中所定义的数量(图 16 ❷)。配置请求倍率(❶)可以让该仪表根据需要,自动增加每次请求的材料数量。

gauge multiplier
图 16. 设置了请求倍率的工厂仪表

滚动 ❶ 以调整其数值。点击鼠标左键以设置为允许的最大值,点击鼠标右键重置为 ×1 。

当请求倍率被设置为 ×N 时,工厂仪表会自动选择一次性请求最多 N 倍配方中的材料,这会在以下情况下发生:

  • 需要超过 ❸ 的数量的产品,才能使库存达到目标数量;并且
  • 材料仪表中提供了充足的材料。

请求倍率的上限为 ×64,同时也被倍增后的材料和产品的数量所限制,以两者中较小者为准。材料和产品数量不得超过一个配方通常会受到的限制。将鼠标悬停在 ❶ 上时,会暂时在 ❷ 和 ❸ 上显示倍增后的数量。

gauge multiplier preview
图 17. 预览倍增后的材料和产品数量
表 2. 请求倍率的最大值示例
倍增前与倍增后的配方最大请求倍率限制因素
gauge multiplier limit basic recipe
gauge multiplier limit basic multiplied
×4材料超过 9 组
gauge multiplier limit craft recipe
gauge multiplier limit craft multiplied
×8产品数量超过批次尺寸 × 每次合成的产量(使用批量合成时,材料可以超过 9 组)
gauge multiplier limit arrange recipe
gauge multiplier limit arrange multiplied
×1材料溢出至其他槽位(在使用自定义布局时不被允许)

当配方被修改时,允许的最大请求倍率可能会减少,此时请求倍率会自动相应调整。

请求间隔

工厂仪表在发出一个请求后,会等待一段固定的时间才会发出下一个请求。这个时间间隔通常由一个机械动力的服务端设置决定,默认值为 5 秒 (❶)。

gauge request interval unset
图 18. 带有默认请求间隔的工厂仪表

你可以在 ❶ 上滚动来调整此工厂仪表的请求间隔。该值可设置为 1 到 60 秒之间。点击即可重置此设置,使此仪表重新跟随服务器设置。

gauge request interval set
图 19. 请求间隔被设置为 2 秒的工厂仪表

虽然服务端的请求间隔设置以游戏刻为单位,但每个仪表的单独设置只能以 1 秒为粒度设置。如果没有单独设置,❶ 将显示四舍五入到最接近的整数秒的服务器设置。

承诺与待处理请求限制

工厂仪表每次发送请求时,都会创建一项“承诺”,也称为待处理请求。每项承诺会记录预计生产但尚未进入库存的产物数量。仪表在比较库存和目标数量时,会先把承诺中记录的数量加到实际库存中。这样可以避免上一批产物尚未返回时,仪表继续过量发送原材料。

gauge promise ui
图 20. 与承诺相关的界面元素
❶ 承诺物品数量
显示同一网络内所有生产相同物品的仪表所创建的承诺中的物品数量总和。点击以作废全部承诺。
❷ 过期时间
滚动可设置承诺创建后多久过期,可选 1 至 30 分钟,默认永不过期。
配方不能稳定地产生预期产物,例如带概率的加工配方时,此设置很有用。
❸ 待处理请求
可显示由当前仪表创建的待处理请求数量 symbol gauge ,点击以切换为显示发送到同一地址的待处理请求数量 symbol address 。在任一状态下,滚动可设置数量上限。达到上限后,仪表会暂停发送新请求。
限制待处理请求可防止过多包裹使运输系统过载。

红石

工厂仪表可通过红石连接与逻辑管无线红石信号终端等组件连接。作为红石连接的源头端时,当库存数量大于或等于目标数量,工厂仪表会输出红石信号。作为红石连接的目标端时,工厂仪表收到红石信号后会暂停工作。

gauge redstone io
图 21. 因输入红石信号而暂停、同时又输出红石信号的仪表

此外,工厂控制台方块本身被红石充能时,内部的所有工厂仪表都会暂停工作。

流体运输

安装兼容的流体物流模组后,控制台内的工厂仪表可以使用该模组的流体运输能力,将流体作为原材料或产物。

表 3. 流体物流模组的兼容性
模组兼容性
流体包裹(Create: FluidLogistic)
流体(Create: Fluid)是,但未来可能停止维护兼容性
Create: Repackaged
Create Factory Logistics不,会导致游戏崩溃

使用 Create: Repackaged 时,需要放置该模组提供的流体仪表来监测和生产流体。在“设置物品”界面中,手持装有目标流体的桶并点击过滤槽,或直接从 JEI 拖入流体条目。

使用其他兼容模组时,普通工厂仪表会获得监测和生产流体的能力。在“设置物品”界面中,手持装有目标流体的容器(例如桶)并右键点击过滤槽,或从 JEI 拖入流体条目。

流体不包含 NBT 数据,因此在监测流体时,“忽略 NBT”选项会消失。

将流体作为原材料或产物时,在对应槽位上滚动默认以 1 B 为单位调整,按住 Shift 滚动以 10 mB 为单位调整,按住 Ctrl 滚动以 1 mB 为单位调整。每批产物流体最多为 10 B。

忽略物品 NBT 数据

在“设置物品”界面中可以配置工厂仪表,使其忽略被监测物品的 NBT 数据。忽略后,所有与被监测物品类型相同的物品都会计入库存,而不管它们的 NBT 数据如何。

带有不同 NBT 数据的物品无法互相堆叠。因此,当一个材料仪表忽略 NBT 数据时,消费端仪表可能会收到比配方中显示的更多的物品组数。如果一个请求中的物品总数超过 9 组,这些物品侧会被被拆分到多个包裹中。

如果启用了动力合成自定义布局,行为则会有所不同。配方中定义的每组物品都必须由具有相同 NBT 数据的物品组成。对于库存中的每种被 N 个物品所持有的 NBT 数据,只有当 N 足以填满配方中的一组材料时,这些物品才会被发送。