OpenComputers 模块(appeng.integration.modules.OpenComputers)
基本信息
| 属性 | 值 |
|---|---|
| 源码 | appeng/integration/modules/OpenComputers.java |
| 类声明 | 25,public class |
| 实现接口 | 只有 IIntegrationModule(不实现任何 abstraction 接口) |
| 静态单例 | public static OpenComputers instance |
| modID | OpenComputers(IntegrationType.java:56) |
| side | BOTH |
| 本 wiki 收录情况 | OpenComputers 未被本 wiki 收录 —— 写全名 OpenComputers |
生命周期
| 阶段 | 行号 | 动作 |
|---|---|---|
init() |
41 | 注册 LayerSidedEnvironment(:46-48) |
postInit() |
53 | 8 项 P2P 调律(:56-63) |
注入内容 1:part layer
// OpenComputers.java:45-49
if (IntegrationRegistry.INSTANCE.isEnabled(IntegrationType.OpenComputers)) {
partHelper.registerNewLayer(
"appeng.parts.layers.LayerSidedEnvironment",
"li.cil.oc.api.network.SidedEnvironment");
}
| AE2 侧 layer | OC 侧接口 |
|---|---|
appeng.parts.layers.LayerSidedEnvironment |
li.cil.oc.api.network.SidedEnvironment |
⚠️ li.cil.oc 是 OpenComputers 1.7.10 的包名(不是新版 OC 的
li.cil.oc 之外的路径)。写条目时用源码里的全名。
注入内容 2:8 项 P2P 调律(TunnelType.COMPUTER_MESSAGE)
OpenComputers.java:56-63,全部经 Items.get(name).createItemStack(1):
| # | OC 物品名 | 行号 |
|---|---|---|
| 1 | cable |
56 |
| 2 | adapter |
57 |
| 3 | switch |
58 |
| 4 | accessPoint |
59 |
| 5 | lanCard |
60 |
| 6 | linkedCard |
61 |
| 7 | wlanCard |
62 |
| 8 | analyzer |
63 |
即 OC 的 8 种网络硬件都能当「计算机消息隧道」的调律物。
⚠️ Items.get(name) 没有判空。OC 版本删掉某个物品名会得到 null。
对应 AE2 侧的 part
parts/p2p/PartP2POpenComputers.java(存在)。
对应条目:P2P 隧道(开放计算机)、
AEFeature.P2PTunnelOpenComputers。
注意 PartP2POpenComputers 自己有 updateConnections()(:113),
并在 :65 / :70 / :75 被调,用于把 OC 的网络接成 AE 网格:
// parts/p2p/PartP2POpenComputers.java:120
this.node.connect(this.getInput().node());
这与 P2PCache 的延迟建链机制相关。
mod 没装时是否安全跳过
是。OpenComputers 未装 → FAILED → OpenComputers.class 不加载
→ li.cil.oc.* 不解析。