-
Notifications
You must be signed in to change notification settings - Fork 2
Covers_CN
MIAOKATZE edited this page Jul 12, 2026
·
2 revisions
链路终端覆盖板是 GTSWN 的虚空覆盖板,无合成配方。由无线网络链路终端右击 GT 机器自动附着(详见 06 无线网络链路终端)。覆盖板完全由 NBT 数据驱动,支持跨存档持久化。
- 虚空覆盖板,无合成配方
- 由无线网络链路终端右击机器自动附着
- NBT 驱动,跨存档持久化
- 裸覆盖板(无参数时)无效,必须通过链路终端附着时写入参数才能工作
注意: 裸覆盖板无参数时不会产生任何效果。只有通过链路终端附着时写入的电压、电流、容量等参数后,覆盖板才能正常工作。
能源覆盖板(Link Terminal Energy Cover)作为虚拟电源,内部维护电容量缓冲池,从无线电网获取能量供机器使用:
- 容量公式: V × A × 800 ticks
- 每 tick 行为: 注入 min(V × A, machine_needed, storedEU) EU 到机器
- 补满机制: 每 600 ticks,扣除 (capacity - storedEU) × (1 + 下行损耗) EU 从电网补满
- 立即补满: 配置时(configure 调用)立即从电网补满缓冲池
- 卸载: 移除覆盖板时,剩余缓冲按 (1 - 上行损耗) 返还电网
| 行为 | 触发条件 | 能量流向 |
|---|---|---|
| 注入能量 | 每 tick | 缓冲池 → 机器 |
| 定期补满 | 每 600 ticks | 电网 → 缓冲池(含下行损耗) |
| 立即补满 | configure 调用时 | 电网 → 缓冲池(含下行损耗) |
| 卸载返还 | 移除覆盖板 | 缓冲池 → 电网(扣除上行损耗) |
动力覆盖板(Link Terminal Dynamo Cover)作为虚拟导线,读取机器输出存入缓冲池,再上送至无线电网:
- 容量: Long.MAX_VALUE(263 - 1,GT5U MAX Battery)
- 每 tick 行为: 读取 getOutputVoltage / getOutputAmperage,若 V > 0 则取 min(available, V × A) EU
- 尊重底线: 尊重 getMinimumStoredEU() 底线,不会掏空机器内部存储
- 阻断输出: letsEnergyOut() = false,阻止机器向真实导线输出(防双消耗)
- 上送: 每 600 ticks,缓冲按 (1 - 上行损耗) 上送电网
- 卸载: 移除时剩余缓冲按 (1 - 上行损耗) 返还电网
| 行为 | 触发条件 | 能量流向 |
|---|---|---|
| 读取输出 | 每 tick(V > 0 时) | 机器 → 缓冲池 |
| 阻断真实导线 | letsEnergyOut() = false | 阻止机器 → 真实导线(防双消耗) |
| 定期上送 | 每 600 ticks | 缓冲池 → 电网(扣除上行损耗) |
| 卸载返还 | 移除覆盖板 | 缓冲池 → 电网(扣除上行损耗) |
链路终端覆盖板的损耗参数设计为不对称:
| 参数 | 默认值 | 范围 | 说明 |
|---|---|---|---|
| 下行损耗(DownlinkLossEU) | 0.15(15%) | [0.0, 10.0] | 电网 → 缓冲池时的能量损耗,电网多扣 |
| 上行损耗(UplinkLossEU) | 0.0(0%) | [0.0, 1.0] | 缓冲池 → 电网时的能量损耗,默认无损耗 |
不对称设计说明: 下行有损耗(电网多扣 15%),上行默认无损耗(电网全额增加)。这种设计使得取电有一定成本(防止滥用),而送电无损耗(鼓励能量回收)。
电弧炉(Arc Furnace)有特殊的安培处理逻辑:
- 单方块电弧炉: 强制 4A
- 识别方式: recipeMap == RecipeMaps.arcFurnaceRecipes(非类名判断)
设计说明: 通过 RecipeMap 而非类名识别,确保兼容所有使用 arcFurnaceRecipes 配方图的机器(包括第三方扩展),而非仅限于原版电弧炉类。
右键覆盖板可查看当前配置信息:
- 电压等级
- 电流等级
- 电容量
- 当前缓存
- 距下次补能
- 电容量(MAX)
- 当前缓存
- 距下次上传
| 字段 | 说明 |
|---|---|
| voltage | 电压等级 |
| amperage | 电流等级 |
| capacity | 电容量 |
| storedEU | 当前缓存能量 |
| ticksSinceLastRefill | 距上次补能的 tick 数 |
| configured | 是否已配置(false 时覆盖板无效) |
| 字段 | 说明 |
|---|---|
| storedEU | 当前缓存能量 |
| ticksSinceLastUpload | 距上次上传的 tick 数 |
| configured | 是否已配置(false 时覆盖板无效) |
能源覆盖板与动力覆盖板共享同一基类,以下 6 个布尔方法在基类中统一定义:
| 方法 | 返回值 | 说明 |
|---|---|---|
| isRedstoneSensitive | false | 不响应红stone信号 |
| allowsCopyPasteTool | false | 不允许复制粘贴工具 |
| allowsTickRateAddition | false | 不允许调整 tick 速率 |
| alwaysLookConnected | true | 始终显示为已连接状态 |
| getMinimumTickRate | 1 | 最小 tick 速率为 1 |
| hasCoverGUI | true | 拥有覆盖板 GUI |
覆盖板移除逻辑上提至基类统一处理:
返还公式:
actualAdded = storedEU × (1 - uplinkLossEU),当 actualAdded > 0 时将剩余缓冲返还电网。