终极管道

终极管道

无限距离物品运输模组

技术

这个模组提供了一种通过给物品打标签来将它们从 A 移动到 B 的方式。

Teleposer

这是一个 teleposer。它有一个输入侧和一个输出侧(两者都可以在 GUI 中设置),并将物品从输入侧移动到输出侧。输入侧的中心为黑色,输出侧的中心为白色。 注意方块每一面都有不同颜色的灯。每个方向对应一种颜色,以便你在 GUI 中选择它们。

它还有一个看起来像这样的 GUI:(别慌)

GUI

两个彩色方块显示当前的输入侧和输出侧。左键或右键点击可循环切换可选的侧面。注意你可以将两者设置为同一侧。 在上图中,输入在紫色侧,输出在绿色侧——这是默认设置。

如果顶部 9 个槽位中有任何物品,那么只有那些物品会被允许通过,就像 RP 过滤器或 BC 钻石管道一样。这些是全息槽位,与钻石管道类似(如果你不知道那是什么意思,试试就知道了)。

暂时忽略那些文本框和优先级。

这是 teleposer 最简单实用的设置。输入旁边有一个箱子,输出旁边有另一个箱子。物品将从输入箱子移动到输出箱子。这些箱子可以替换为机器或其他容器。

这些是运输导管。它们可用于在不同 teleposer 之间即时移动物品。它们可以被微方块覆盖,但目前微方块不会影响导管之间的连接——它们纯粹是装饰性的。

你的导管如何连接并不重要。这两个导管完全等价,只是制作它们所用的材料不同:

通过运输导管传输的物品堆带有一个标签,标签可以是任意文本字符串。它们会前往具有匹配物品过滤器(或无物品过滤器)和匹配标签的最高优先级的已连接 teleposer。

还记得 GUI 中的那些文本框吗?它们是用来设置标签的。

  • "out" 文本框指定物品离开此 teleposer 时将获得的标签,"in" 文本框指定允许进入此 teleposer 的标签。
  • "in" 文本可以是一个以 | 分隔的标签列表,表示要接受的标签,其中可以包含 * 作为通配符。"out" 文本是一个以 , 分隔的标签列表,表示尝试将物品发送到的目标。

例如,使用以下配置:

In: "sorting*|asdf", Out: "valuables,recycler"

该 teleposer 将接受标签为 "asdf" 或以 "sorting" 开头的钻石。然后它会将它们发送到任何标签为 "valuables" 的 teleposer。如果没有 teleposer 能接受该物品(也许 valuables 箱子已满),它会改为将它们发送到 "recycler"。

Transpressurizer

Teleposer 网络需要电力才能运行,而 transpressurizer 将电能转换为网络可以使用的形式。将运输导管连接到顶部,并将 IC2 电缆连接到任何其他侧面,电力就会被转换,直到网络充满。它接受任何电压。

它也可以由 BC 导电管道供电。 1 MJ 提供的电量与 2.5 EU 相同。

如果你没有 IC2 或 BC,或者只是不想供电,可以使用一个配置选项来禁用 teleposer 的电力需求。

注意,每当 teleposer 尝试将物品堆推送到网络上时都会消耗电力,即使没有任何物品能找到目的地。

一个网络可以储存相当多的电力,目前没有办法测量网络上储存的电力。

确切行为:(可选阅读)

每当 teleposer 尝试推送一个物品堆时,它会使用 3 个充能单位,外加堆中每个物品一个充能单位。如果没有足够的储存能量来推送整个物品堆,它将什么也不做,即使有足够的能量推送物品堆的一部分。 1 个充能单位需要 0.8 MJ 或 2 EU。 网络中每个已连接的机器侧面最多可储存 128 个充能单位。

Dislocator

这是一个 dislocator。它的作用有点类似 RedPower 中的 retriever,但它也可以将物品发送到其他地方。

它的 GUI 看起来像这样:

方向很直观——它设置方块中连接到管道网络的那一面。

每当 dislocator 接收到红石信号时,它会执行以下操作:

  • 查找一个与 dislocator 中设置的物品匹配的物品。它只考虑连接到直接相连的 teleposer 输出侧的箱子和机器。它只考虑输入标签与 GUI 中 "search label" 匹配的 teleposer。
  • 从找到该物品的 teleposer 的输入侧发出该物品,并带有 GUI 中的 "eject label" 标签。

举个例子:

你有一个输入标签为 "cobblestone" 的圆石箱子,以及一个输入标签为 "furnace" 的熔炉。你想一次将 8 个圆石从箱子移动到熔炉。你会将 search label 设置为 "cobblestone",将 eject label 设置为 "furnace",并在物品槽中放入 8 个圆石。

注意:

  • 你可以设置多个 search label,用逗号分隔。它们将按该顺序尝试,与 teleposer 一样。
  • 你可以设置多个 eject label,用逗号分隔。同上。
  • 用于搜索的优先级与物品使用的优先级相反。如果你的圆石进入一个箱子,若箱子满了则进入一个回收器,那么 dislocator 将先检查回收器(假设它满足所有其他条件)。
  • 它不会 "穿过" teleposer 查看——如果在上述示例中 dislocator 和圆石箱子之间有一个 teleposer,它将无法工作。
  • 它目前不会从多个物品堆中取物品。如果一个箱子有 27 个堆叠,每个含 1 个圆石,那么请求 27 个圆石将会失败。

dislocator 也可用作 ComputerCraft 外设。它有一个函数:

-- (where 'dislocator' is the wrapped peripheral)
dislocator.pull(stackSize, searchLabel, ejectLabel)

-- Moves some items, as if you applied a redstone signal.
-- This function does not use the search label, eject label, or stack size from
-- the GUI but instead uses the ones passed as parameters.
-- Returns a unique request ID.

-- Sends a dislocator_done event no more than one tick later.
-- The event's first parameter is the request ID, and the second
-- parameter is true if the request succeeded, or false if it failed.

-- I can't directly return whether the request succeeded or not due to technical
-- limitations.

(原模组由 immibis 制作。原始描述来自 Minecraft 论坛。)

存档说明

此模组已被废弃,并已出于存档目的上传。它最初由 immibis 创建。它已获得原作者的许可,通过 ModrinthArchives 账号上传至 Modrinth。

显示上传许可的 Discord 截图