CoFH Energy

基本信息

属性 值
依赖坐标 curse.maven:cofh-lib-220333:2388748
声明方式 dependencies.gradle(implementation(...),非 devOnlyNonPublishable)
使用的类 cofh.api.energy.EnergyStorage、cofh.api.energy.IEnergyHandler
使用位置 仅 openmodularturrets.tileentity.turretbase.TurretBase

功能

CoFH Energy API 是本模组唯一的硬性运行依赖。dependencies.gradle 中它是 implementation(...),与 7 个 devOnlyNonPublishable 的开发期依赖分开声明:

dependencies {
    implementation("curse.maven:cofh-lib-220333:2388748")

    devOnlyNonPublishable  'com.github.GTNewHorizons:waila:1.19.34:dev'
    devOnlyNonPublishable  'com.github.GTNewHorizons:NotEnoughItems:2.8.130-GTNH:dev'
    devOnlyNonPublishable  'com.github.GTNewHorizons:OpenComputers:1.12.61-GTNH:dev'
    devOnlyNonPublishable  'net.industrial-craft:industrialcraft-2:2.2.828-experimental:dev'
    devOnlyNonPublishable ("com.github.GTNewHorizons:GT5-Unofficial:5.09.54.129:dev")
    devOnlyNonPublishable ("thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev")
    devOnlyNonPublishable (rfg.deobf("curse.maven:computercraft-67504:2269339"))
}

全仓 grep -rn 'cofh' --include=*.java src/ 只有 2 处命中,都在 TurretBase.java:

import cofh.api.energy.EnergyStorage;   // TurretBase.java:22
import cofh.api.energy.IEnergyHandler;  // TurretBase.java:23

@Mod(dependencies=...) 未声明 CoFH:ModInfo.DEPENDENCIES(ModInfo.java:8)只列出 after:ThermalFoundation;after:ThermalExpansion;after:OpenComputers;after:ComputerCraft;after:Mekanism;after:EnderIO;after:Thaumcraft —— 全是 after: 软依赖,没有 CoFH。CoFH 的强制性只体现在 Gradle 依赖里,不在 FML 的加载顺序声明中。

数值

数值名 值
初始容量 各等级 MaxCharge(500 / 50 000 / 150 000 / 500 000 / 10 000 000)
初始最大 IO 各等级 MaxIo(50 / 100 / 500 / 1 500 / 5 000)
每 tick 输出 0(extractEnergy 无条件 return 0)
容量刷新 每 tick 重算,含相邻动力扩展器

交互

TurretBase implements IEnergyHandler(TurretBase.java:55),并另 implements GregTech 的 IEnergyConnected(gregtech.api.interfaces.tileentity.IEnergyConnected,TurretBase.java:29 与 :56,标注 @Optional.Interface(..., modid = "gregtech"))。底座只进不出:任何 RF 自动化只能给它充电,不能从它取电。

方向 行为
RF 输入 无限制,storage.receiveEnergy 直通(TurretBase.java:650-652)
RF 输出 恒为 0(TurretBase.java:654-657)
EU 输入 IC2 桥接为手写实现(injectEnergyUnits / inputEnergyFrom),storageEU < 40000 × 等级 时允许(TurretBase.java:498-510)
GregTech 网络连通 canConnectEnergy(ForgeDirection) 对所有方向返回 true(TurretBase.java:673-676)

相关条目