Railcraft 集成
基本信息
| 属性 | 值 |
|---|---|
| 实现包 | pl.asie.computronics.integration.railcraft(block / tile / item / driver / gui / signalling / client 子包) |
| 依赖声明 | after:Railcraft@[9.10.0.0,)(Computronics.java:112) |
| 激活 | Mods.isLoaded(Mods.Railcraft) 时在 preInit 构造 IntegrationRailcraft(Computronics.java:303-306) |
| 开启配置分类 | enable.railcraft.*(IntegrationRailcraft.java:54-57) |
| 重映射 | computronics:computronics.digitalBox 等旧名在 remap 中处理(IntegrationRailcraft.java:130 起) |
这是 Computronics 体量最大的第三方集成:5 个方块 + 1 个物品 + 11 个 CC 驱动 + 9 个 OC 驱动。
注册内容
方块与物品(IntegrationRailcraft.preInit)
| 注册名 | 类 | 开关(默认 true) |
行 |
|---|---|---|---|
computronics.locomotiveRelay + TileLocomotiveRelay |
BlockLocomotiveRelay |
enable.railcraft.locomotiveRelay |
:59-70 |
computronics.relaySensor |
ItemRelaySensor |
同上 | :66-67 |
computronics.digitalReceiverBox + TileDigitalReceiverBox |
BlockDigitalReceiverBox |
enable.railcraft.digitalReceiverBox |
:72-78 |
computronics.digitalControllerBox + TileDigitalControllerBox |
BlockDigitalControllerBox |
enable.railcraft.digitalControllerBox |
:79-85 |
computronics.detector + TileDigitalDetector |
BlockDigitalDetector |
enable.railcraft.digitalDetector |
:86-92 |
computronics.ticketMachine + TileTicketMachine |
BlockTicketMachine |
enable.railcraft.ticketMachine |
:94-104 |
售票机额外注册 GUI GuiProviderTicketMachine(:95-96)。全部 5 个方块都向 AE2 发送 whitelist-spatial 空间 IO 白名单。
逐方块说明见 数字机车中继器、数字信号盒、售票机、数字中继传感器。
CC 驱动(11 个,IntegrationComputerCraft.java:101-111)
全部包在 if (Mods.isLoaded(Mods.Railcraft)) + compat.isCompatEnabled(Compat.Railcraft_Routing) 内:
| 驱动 | 作用对象 |
|---|---|
DriverPoweredTrack |
动力轨 |
DriverRoutingTrack |
路由轨 |
DriverRoutingDetector |
路由检测器 |
DriverRoutingSwitch |
路由切换器 |
DriverElectricGrid |
电网 |
DriverLimiterTrack |
限速轨 |
DriverLocomotiveTrack |
机车轨 |
DriverLauncherTrack |
发射轨 |
DriverPrimingTrack |
预热轨 |
DriverBoilerFirebox |
锅炉火箱 |
DriverSteamTurbine |
蒸汽轮机 |
OC 驱动(9 个,IntegrationOpenComputers.java:255-263)
同样的 9 个(PoweredTrack、RoutingTrack、RoutingDetector、RoutingSwitch、ElectricGrid、LimiterTrack、LocomotiveTrack、LauncherTrack、PrimingTrack),同一开关 enableRailcraftRoutingComponents。
注意 CC 与 OC 的不对称:CC 侧有 11 个(含 BoilerFirebox / SteamTurbine),OC 侧只有 9 个,缺少锅炉火箱与蒸汽轮机的 OC 驱动。这是源码里的实际差异,不是统计误差。
封包
onMessageRailcraft 与 printTicket 两个 @Optional.Method 处理客户端—服务端同步(IntegrationRailcraft.java:107-125),走 Computronics 自己的 PacketHandler 通道。
数值
| 数值名 | 值 | 范围 | 读入位置 |
|---|---|---|---|
railcraft.locomotiveRelayRange |
128 | 0–512 | Config.java:447-453(if Railcraft) |
railcraft.locomotiveRelayConsumeCharge |
true |
布尔 | Config.java:454-459(if Railcraft) |
railcraft.ticketMachineConsumeCharge |
true |
布尔 | Config.java:460-464(if Railcraft) |
power.railcraft.locomotiveRelayBasePower |
20 RF | 0–10000 | Config.java:311-318(if OpenComputers) |
modCompatibility.enableRailcraftRoutingComponents |
true |
布尔 | Compat.java:8 |
⚠️ 四个 railcraft.*/power.railcraft.* 项分成两个互不重叠的 if 块:Config.java:310-319 在 if (Mods.isLoaded(Mods.OpenComputers)) 内,Config.java:446-465 在 if (Mods.isLoaded(Mods.Railcraft)) 内。因此只装 Railcraft 不装 OC 时,locomotiveRelayBasePower 永远停留在字段初值 20.0 而不会从配置读入。
交互
Railcraft 侧还额外挂 2 条信号箱硬件。相关门条件在 BuildCraft 集成 的 6 触发器 + 8 动作中,computer_* 与 tape_drive_* 共 10 个作用于 Computronics 自身硬件,lamp_color_* 2 个作用于彩灯。