流体流体倍率
1.0
蒸汽1.5



本模组的发电机分为2个系列,分别为水发电机系列和涡轮发电机,但是同等级液体发电机的基础发电量是同等级涡轮发电机的1.5倍.

  1. 液体发电机(水发电机,蒸汽发电机):

  • 代码部分:

@Override
protected long updateEnergy() {
    long receiveEnergy = 0;
    FluidStack fluid = this.fluidTank.getFluid();
    if (this.getEnergyStoredLong() < this.getMaxEnergyStoredLong() && fluid != null) {
        float realPowerGeneration = this.getRealPowerGeneration() * this.getFluidMagnification();
        int 需要的流体量 = (int) ((this.getMaxEnergyStoredLong() - this.getEnergyStoredLong()) / realPowerGeneration * this.basicAmountOfFluidToProduceEnergy);

        // 尝试从存储罐中抽出指定数量的液体
        FluidStack fluidStack = fluidTank.drainInternal(Math.min(需要的流体量, this.maxFluidDrain), true);

        // 如果抽出了液体,计算接收的电能,否则为0
        if (fluidStack != null) {
            receiveEnergy = (long) ((fluidStack.amount / (float) this.basicAmountOfFluidToProduceEnergy) * realPowerGeneration);
        }
    }
    return this.modifyEnergyStored(receiveEnergy);
}
  • 分析:根据代码可以知道:发电量 = 流体消耗  /  一次发电所需的流体量 * 基础发电量  * (组件升级-发电升级的数量 + 1)* 流体倍率,而 基础发电量 和 一次发电所需的流体量 是固定,等级越高的液体发电机有越高的基础发电量,不同的流体的流体倍率基本不同,所以只用关心 流体消耗。其中:流体消耗 = Math.min(((最大能量储存 - 现有的能量)/ (基础发电量 * 流体倍率)),最大流体消耗),而 最大流体消耗 = (组件升级-液体提取的数量 + 1)* 一次发电所需的流体量。

  • 支持的流体和相应的流体倍率:水:1.0,蒸汽:1.5

  • 可放入的组件和相应的数量:组件升级-发电升级:64 * 发电机的等级,组件升级-液体提取:64 * 发电机的等级

  • 结论:水发电机的理论最大发电量 = (组件升级-液体提取的数量 + 1)* (组件升级-发电升级的数量 + 1) * 基础发电量 * 流体倍率


  1. 涡轮发电机:

  • 代码部分:

@Override
public long updateEnergy() {
    long receiveEnergy = 0;
    if (this.getEnergyStoredLong() < this.getMaxEnergyStoredLong()) {
        float liquidLeve = this.getLiquidHeight();
        receiveEnergy = (int) (this.getRealPowerGeneration() * liquidLeve);
    }
    return this.modifyEnergyStored(receiveEnergy);
}
  • 分析:根据代码可以知道:发电量 = 流体高度 * 基础发电量  *(组件升级-发电升级的数量 + 1)* 流体倍率,而基础发电量也是固定,等级越高的涡轮发电机有越高的基础发电量,所以这里只用关心流体高度。

           其中:流体高度 = 方块上方的水方块的高度(可以直到无法放置水方块,不限制是否为完整的方块),所以流体高度只受到世界的高度限制。

  • 支持的流体和相应的流体倍率:水:1.0

  • 可放入的组件和相应的数量:组件升级-发电升级:64 * 发电机的等级

  • 结论:水发电机的理论最大发电量 = (世界的最高高度 - 1) * 基础发电量 *(组件升级-发电升级的数量 + 1)* 流体倍率