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 个作用于彩灯。

相关条目