过载与燃烧

概述

当电缆上传输的电压或电流超过其额定值时,电缆会燃烧(Burn)——被替换为 Minecraft 的火块(fire block),从而被销毁。这是 GT5-Unofficial 电力系统的核心保护机制,防止高压电流直接烧毁机器或造成更大范围的设备损坏。

电缆燃烧是永久性的:一旦某段路径被锁定(Locked),即使移除原因也不会自动恢复,除非重启世界或手动清除锁定标记。

两种过载触发器

GT5 的电缆燃烧机制有两个独立的触发条件,分别针对电压和电流:

触发器 1:过电压(Overvoltage)

触发条件:电缆路径上的瞬时电压超过了该路径中最弱电缆的额定电压(mVoltage)。

if (aVoltage > mMaxVoltage) {
    // 触发燃烧
}

特点:

  • 瞬时触发:只要有一次电压超过额定值,就会立即燃烧
  • 只烧额定值不足的电缆:路径中只有 mVoltage < currentVoltage 的电缆会燃烧,额定值足够的电缆不受影响
  • 多段路径:路径中最弱的电缆首先燃烧,然后可能蔓延

示例:

发电机输出 512V (HV)
├─ 电缆1: 铜缆, mVoltage=128 (MV 等级)  ← 额定值不足!
│  512 > 128 → 立即燃烧
└─ 电缆2: 银缆, mVoltage=512 (HV 等级)
   512 = 512 → 安全,不燃烧

错误示例(新手常见):

  • 用 MV 电缆(额定 128V)连接 HV 发电机(输出 512V)→ 电缆立即燃烧
  • 用 LV 电缆(额定 32V)连接 MV 机器(输出 128V)→ 电缆立即燃烧

正确做法:电缆电压等级必须 ≥ 设备输出/输入电压。

触发器 2:过电流(Overcurrent)

触发条件:电缆路径上的累积电流超过了该电缆额定载流量(mAmperage)的 40 倍,并且持续超过 40 个游戏刻(2 秒)。

if (this.mAmps > mMaxAmps * 40) {
    // 触发燃烧
}

累积机制:

  • 每 tick 注入的电流会累加到 mAmps 字段
  • 当没有电流通过时,mAmps 会按照 mMaxAmps × 经过的tick数 衰减
  • 只有当累积值持续超过 40× 额定载流量才会触发

40× 阈值的意义:

  • 允许短暂的电流涌入(如机器启动时的浪涌电流)
  • 防止因短暂的电流尖峰而误触发
  • 2 秒的持续超载才会触发,给玩家反应时间

示例:

电缆额定载流量: 2A (铜缆 1x)
阈值: 2A × 40 = 80A

场景: 5 个 HV 机器同时工作,每个需要 2A
总电流需求: 5 × 2A = 10A

10A < 80A → 不会触发,安全运行
电缆额定载流量: 2A (铜缆 1x)
阈值: 2A × 40 = 80A

场景: 连接了过多高功率机器,总需求 100A 持续 3 秒
100A > 80A → 持续 3 秒 (60 ticks) → 触发燃烧

只烧额定值不足的电缆:路径中只有 mAmperage × 40 < 当前累积电流 的电缆会燃烧。

示例(混合电缆路径):

电缆路径: 铜缆 1A → 银缆 2A → 机器

铜缆阈值: 1A × 40 = 40A
银缆阈值: 2A × 40 = 80A

如果总电流为 50A 持续超载:
- 铜缆: 50 > 40 → 燃烧
- 银缆: 50 < 80 → 安全

燃烧机制详解

setToFire() 执行过程

public final void setToFire() {
    worldObj.setBlock(xCoord, yCoord, zCoord, Blocks.fire);
}
  1. 电缆方块被替换为火(fire)方块
  2. 火块会自然蔓延到相邻的方块(如果可燃)
  3. 火块会烧毁电缆方块本身
  4. 电缆被永久销毁,需要玩家手动替换

锁定机制(Lock)

public class Lock {
    public void addTileEntity(TileEntity tileEntity) {
        tiles.add(tileEntity);  // 添加 null 会永久锁定
    }
    public boolean isLocked() {
        return !tiles.isEmpty();  // 一旦锁定,永不自动解除
    }
}

锁定行为:

  • 过载时调用 lock.addTileEntity(null),永久锁定该路径
  • 被锁定的路径在能量传输时直接跳过
  • null 无法通过 removeTileEntity 移除
  • 锁定状态不会因过载原因消除而自动解除

解除锁定的方式:

  1. 重启游戏/重载世界
  2. 破坏并重新放置电缆
  3. 使用调试工具手动清除(如果有)

过载时的视觉表现

  1. 电缆变红/冒烟(部分版本/配置)
  2. 电缆消失,替换为火块
  3. 火块蔓延(如果相邻有其他可燃方块)
  4. 路径断路:下游设备失去电力供应

玩家如何避免过载

避免过电压

错误做法 正确做法
用 MV 电缆连接 HV 发电机 使用 HV 电缆(额定 ≥ 512V)
用 LV 电缆连接 EV 变压器 使用 EV 电缆(额定 ≥ 2048V)
混用不同电压等级的电缆 整个路径使用统一或更高电压等级的电缆
在高压线路上使用低压分支 分支也要使用匹配的电缆等级

原则:电缆的 mVoltage 必须 ≥ 线路上传输的最高电压。

避免过电流

错误做法 正确做法
一根 1× 铜缆连接 10 个 HV 机器 使用更粗的电缆(4×/8×/16×)或分开多条电缆
电缆载流量远小于设备总电流需求 计算总电流需求,确保 电缆载流量 × 40 > 最大总电流
同一电缆回路连接过多高功率设备 将设备分散到不同的电缆回路
长距离输电使用细电缆 使用更粗的电缆增加载流量

计算示例:

计划: 1 条电缆连接 20 个 HV 机器
每个机器最大电流: 2A (HV 等级)
总最大电流需求: 20 × 2A = 40A

选择电缆:
- 铜缆 1×: 载流量 1A, 阈值 40A → 刚好临界,不安全
- 铜缆 4×: 载流量 4A, 阈值 160A → 40 < 160, 安全
- 银缆 4×: 载流量 4A, 阈值 160A → 同上,且损耗更低

安全设计原则

  1. 电压匹配:电缆电压等级 ≥ 设备最高电压
  2. 电流冗余:电缆载流量 × 40 > 最大总电流需求(留有安全余量)
  3. 分路供电:大电流需求设备使用独立电缆回路
  4. 定期检查:使用扫描仪监控电缆负载情况
  5. 使用超导体:对超高电流需求使用超导体,避免普通电缆的损耗和过载问题

过载的常见场景

场景 1:高压发电机直连低压电缆

错误配置:
HV 发电机 (输出 512V) → LV 电缆 (额定 32V) → 机器
结果:电缆立即燃烧(过电压)

场景 2:同一电缆连接过多发电设备

错误配置:
发电室: 10 个 HV 发电机 (每个 512V, 2A)
全部并联到 1 根 HV 电缆 (载流量 2A)
结果:电流累加超过 2A × 40 = 80A 持续 → 过电流燃烧

正确配置:
方案 A: 每 2-3 个发电机使用独立电缆
方案 B: 使用 16× 载流量电缆 (32A, 阈值 1280A)
方案 C: 使用超导体

场景 3:分支电路超载

HV 主干电缆 → 分支到 50 个 LV 机器
主干 HV 电缆载流量: 8A (8× 铜缆)
每个 LV 机器需求: 1A
总需求: 50A > 8A × 40 = 320A? 实际上不会超载...

但如果分支电缆本身是 LV 1×:
每个分支 LV 电缆载流量: 1A
如果 1 个分支上连接 50 个机器 → 50A > 1A × 40 = 40A → 该分支电缆燃烧

场景 4:长距离输电后电压不足

正确但不够:
HV 发电机 (512V) → 100 格铜缆 (损耗 200 EU/t) → 机器
机器收到电压: 512 - 200 = 312V (低于 HV 等级 512V)
机器可能运行异常或无法启动,但不一定会燃烧

修复方案:
1. 使用低损耗电缆 (银缆 loss=1 → 312V)
2. 使用超导体 (零损耗 → 512V)
3. 中途设置变压器升压

过载保护机制总结

触发条件 阈值 触发速度 影响范围
过电压 电压 > 电缆 mVoltage 瞬时(一次就触发) 路径中额定值不足的电缆燃烧
过电流 电流 > 载流量 × 40 持续 2 秒+ 路径中载流量不足的电缆燃烧

相关条目