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 直接 import gregtech.api.enums.Materials(硬依赖成立), 并引用 dreamcraft 的 LichBone / SnowQueenBlood—— 后者没有任何 FML 依赖声明,只能靠回退物品兜底。
  • ⚠️ TWILIGHT_FOREST = "TwilightForest" 硬编码在 GTTier 里 (而 CompatibleMods 枚举只管 6 个附属杖身 mod,不含 Twilight Forest)。
  • 本 mod 的必备依赖 TwilightForest 的唯一理由就是导体: 8 档里 4 档的导体来自它。