
PowerAE2CC Bridge
AE2CC Bridge 的一个分支,添加了一个简单的外设方块,可用于从 ComputerCraft 计算机访问 Applied Energistics 2 ME 系统。
PowerAE2CC Bridge
PowerAE2CC Bridge 是 AE2CC Bridge 的一个分支,添加了一个简单的外设方块,可用于从 ComputerCraft 计算机访问 应用能源2 ME 网络。
注意:目前,该外设仅暴露了相当小的 API。如果您发现缺少所需功能,请在我们的问题跟踪器中提交功能请求。
方块
当连接到应用能源网络时,该桥接方块将消耗 5 AE/t 的电力,并占用一个频道。
外设 API(函数)
getAvailableObjects()
返回当前 ME 网络中可用的对象列表。
返回值
{ { type = string, id = string, displayName = string, amount = number }... }—— 包含 ME 网络中可用对象列表的表。
getCraftableObjects()
返回 ME 网络可以合成的对象列表。
返回值
{ { type = string, id = string, displayName = string }... }—— 包含 ME 网络可合成对象列表的表。
getCraftingCPUs()
返回 ME 网络中可用的合成 CPU 列表。
返回值
{ cpu... }
其中 cpu 是一个定义如下的表:
| 键名 | 类型 | 描述 |
|---|---|---|
availableCoProcessors |
number |
可用协处理器的数量。 |
availableStorage |
number |
可用合成存储量。 |
selectionMode |
string |
CPU 的选择模式。(ANY、MACHINE_ONLY 或 PLAYER_ONLY) |
jobStatus |
string? |
当前运行任务的信息。 |
name |
string? |
CPU 的自定义名称。 |
其中 jobStatus 是一个定义如下的表:
| 键名 | 类型 | 描述 |
|---|---|---|
totalObjects |
number |
任务期间将合成的对象总数。 |
craftedObjects |
number |
已合成的对象数量。 |
elapsedNanos |
number |
自任务开始以来经过的时间(以纳秒为单位)。 |
systemID |
string? |
ME 网络分配给正在运行任务的 ID。 |
output |
output |
任务的输出。 |
其中 output 定义如下:
| 键名 | 类型 | 描述 |
|---|---|---|
amount |
number |
请求的对象数量。 |
type |
string |
对象的类型。 |
id |
string |
对象的 ID。 |
displayName |
string |
对象的显示名称。 |
备注
由于技术原因,在某些情况下确定 systemID 可能会失败。如果发生这种情况,则不会包含 systemID,并会记录错误。如果您使用的是 AE2 和 AE2CC Bridge 的最新版本,请确保此问题已在您的版本对应的问题跟踪器中得到确认。
getIssuedCraftingJobs
返回由外设发出的未完成合成任务列表。
返回值
{ { state = string, jobID = string, systemID = string? }... }—— 包含由外设发出的每个未完成任务对象列表的表。
备注
要使任务包含在输出中,其状态必须为 SCHEDULED 或 STARTED。如果任务已开始运行,将包含额外的 systemID 字段。此 ID 是 ME 网络分配给正在运行任务的 ID(相对于外设本地的 jobID)。
getAllCraftingRequests
返回当前所有合成 CPU 正在处理的所有合成请求列表。
返回值
{ craftingRequest, ...}
其中 craftingRequest 是一个具有以下属性的表:
| 键名 | 类型 | 描述 |
|---|---|---|
amount |
number |
当前正在合成的物品数量。 |
displayName |
string |
正在合成物品的显示名称(即游戏内物品名称)。 |
systemID |
string |
正在合成物品的 ID(遵循 Minecraft 的 ID 体系)。 |
示例:
{
{
amount = 1,
displayName = "橡木木板",
systemID = "minecraft:oak_planks"
}
}
scheduleCrafting(type, id, amount)
安排一个合成任务。
参数
type:string—— 要合成对象的类型("fluid" 或 "item")id:string—— 要合成对象的 IDamount:number—— 要合成的对象数量
返回值
string—— 代表合成任务的唯一 ID
备注
注意:此方法特意命名为
scheduleCrafting,因为安排合成任务并不会立即开始合成过程。相反,合成任务会在未来某个时刻当 ME 网络准备就绪时启动。
要处理合成任务,有必要了解其生命周期。
flowchart LR
Scheduled --> Started
Started --> Done
Started --> Cancelled
Scheduled --> Cancelled
最初,新创建的合成任务状态为 SCHEDULED。在创建过程中,ME 网络被指示为该合成任务做准备(包括计算确切的合成方案)。
一旦网络完成所有必要的准备工作,合成任务的状态变为 STARTED。可以使用 ae2cc:crafting_started 事件来监听此状态变化。
最后,当合成任务完成时,其状态变为 DONE,并触发 ae2cc:crafting_done 事件。
此外,如果任务被取消或在任务生命周期的任何阶段发生错误,将触发 ae2cc:crafting_cancelled 事件。
外设 API(事件)
ae2cc:crafting_cancelled
当合成任务被取消时,触发 ae2cc:crafting_cancelled 事件。
返回值
string—— 事件名称string—— 被取消的合成任务的 IDstring—— 取消原因
备注
取消原因始终为以下之一:
| 值 | 描述 |
|---|---|
CANCELLED |
任务被取消(手动或由机器取消)。 |
CPU_NOT_FOUND |
未找到选定的合成 CPU。 |
INCOMPLETE_PLAN |
无法为该任务计算出合成方案。 |
NO_CPU_FOUND |
未找到可执行该任务的合成 CPU。 |
CPU_BUSY |
选定的合成 CPU 正忙。 |
CPU_OFFLINE |
选定的合成 CPU 处于离线状态。 |
CPU_TO_SMALL |
选定的合成 CPU 太小,无法处理该任务。 |
MISSING_INGREDIENT |
无法获取执行该任务所需的一种原料。 |
ae2cc:crafting_done
当合成任务完成时,触发 ae2cc:crafting_done 事件。
返回值
string—— 事件名称string—— 已完成的合成任务的 ID
ae2cc:crafting_started
当先前处于 SCHEDULED 状态的合成任务状态变为 STARTED 时,触发 ae2cc:crafting_started 事件。
返回值
string—— 事件名称string—— 已开始的合成任务的 ID
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。