GT 电压等级表(GTTier)
基本信息
| 属性 | 值 |
|---|---|
| 枚举 | com.gtnewhorizons.tcwands.api.GTTier |
| 档位 | 8(LV(0) … UV(7)) |
| 决定的东西 | 导体物品、螺丝 ore dict、进阶方向 |
GTTier 直接持有 3 个 GTNH-TC-Wands 不自有的外部物品:
1 个导体 + 1 根螺丝,均从别处取,取不到时回退到食物。
完整档位表
| 档位 | GT 材料 | 螺丝 ore dict | 导体物品 | 来源 mod |
|---|---|---|---|---|
LV(0) |
Aluminium | screwAluminium |
TwilightForest:item.nagaScale |
Twilight Forest |
MV(1) |
StainlessSteel | screwStainlessSteel |
dreamcraft:LichBone |
GTNH |
HV(2) |
EnergeticAlloy | screwEnergeticAlloy |
dreamcraft:LichBone |
GTNH |
EV(3) |
VibrantAlloy | screwVibrantAlloy |
TwilightForest:item.fieryBlood |
Twilight Forest |
IV(4) |
TungstenSteel | screwTungstenSteel |
TwilightForest:item.fieryTears |
Twilight Forest |
LUV(5) |
Enderium | screwEnderium |
TwilightForest:item.carminite |
Twilight Forest |
ZPM(6) |
Oriharukon | screwOriharukon |
TwilightForest:item.carminite |
Twilight Forest |
UV(7) |
Osmiridium | screwOsmiridium |
dreamcraft:SnowQueenBlood |
GTNH |
- 螺丝 ore dict 由
WandDetails.getScrew()拼成"screw" + GTTier.material.mName(WandDetails.java:18-21) - 导体由
GTTier.conductor()直接返回 (GTTier.java:20-24的switch) getConstructor()返回Materials.X.getItem(1)——只是元数据, 源码中没有任何地方读取它(见下方缺陷)
进阶(nextTier)
nextTier() 返回 ordinal + 1 对应的档位,但到最高档时返回自身
(GTTier.java:51-55 的 if (this == UV) return UV;)。
WandRecipeCreator.regUpwardStaffRecipe 用它把 staff 自动定为「wand 等级 +1 档」。
⚠️ 重复导体(数据事实,不是笔误)
| 重复 | 两档共用同一导体 |
|---|---|
MV 与 HV |
dreamcraft:LichBone |
LUV 与 ZPM |
TwilightForest:item.carminite |
⇒ 8 个档位实际只对应 6 种导体。
LUV/ZPM 的区分完全靠螺丝(screwEnderium vs screwOriharukon)。
⚠️ 回退物品全是食物
GTTier.java:12-17 用 GTModHandler.getModItem(modid, item, amt, meta, fallback)
取外部物品,取不到时回退成:
| 目标 | 回退物品 |
|---|---|
TwilightForest:item.nagaScale |
minecraft:wheat(小麦) |
dreamcraft:LichBone |
minecraft:carrot(胡萝卜) |
TwilightForest:item.fieryBlood |
minecraft:potato(马铃薯) |
TwilightForest:item.fieryTears |
minecraft:poisonous_potato(毒马铃薯) |
TwilightForest:item.carminite |
minecraft:apple(苹果) |
dreamcraft:SnowQueenBlood |
minecraft:cake(蛋糕) |
⇒ 不装 Twilight Forest / GTNH 的话,配方仍能匹配, 玩家会看到「用 4 个苹果当导体」这种明显错误的界面。 这不是「没有就是没有」的数值,而是源码写死的回退值,故照实记录。
源码核对(2026-10-01 审计)
- ⚠️ 源码缺陷(死代码):
GTTier枚举构造时就调用了Materials.X.getItem(1)存进getConstructor字段(:14), 但全仓没有任何读取方(grep getConstructor只命中定义处)。 ⇒ 这 8 次 GT 材料物品构造是无谓的;且枚举初始化在类加载期发生, 若 GT 类尚未就绪会在此处直接失败。 - ⚠️ 源码缺陷:依赖声明与实际引用不一致。
TCWandsMod.DEPENDENCIES只硬依赖Thaumcraft/gregtech/TwilightForest(dreamcraft那行被注释)。 但GTTier直接 importgregtech.api.enums.Materials(硬依赖成立), 并引用dreamcraft的LichBone/SnowQueenBlood—— 后者没有任何 FML 依赖声明,只能靠回退物品兜底。 - ⚠️
TWILIGHT_FOREST = "TwilightForest"硬编码在GTTier里 (而CompatibleMods枚举只管 6 个附属杖身 mod,不含 Twilight Forest)。 - 本 mod 的必备依赖 TwilightForest 的唯一理由就是导体: 8 档里 4 档的导体来自它。