附属模组杖身配方
基本信息
| 属性 | 值 |
|---|---|
| 注册位置 | GTWandRegistry.register() 的 5 个 if (CompatibleMods.X.isPresent()) 块 |
| 检测方式 | Loader.isModLoaded(modid)(CompatibleMods.isPresent()) |
| 条件来源 | CompatibleMods 枚举,6 个条目 |
⚠️ 这 5 个块全部是条件注册:没装对应模组时,下表的所有杖身
连同其原有配方都会消失——因为 removeTCWands() 已经先把它们删了,
而本 mod 不会补回。⇒ 装 GTNH-TC-Wands 但不装这些附属,会导致这些杖无法制作。
Forbidden Magic(检测 modid ForbiddenMagic)
| 杖身 tag | base | cap | GT 等级 | 权杖倍率 | staff base,cap | staff-权杖倍率 |
|---|---|---|---|---|---|---|
profane |
25 | 5 | HV | 2.0 | — | — |
tainted |
175 | 15 | IV | 1.4 | — | — |
blood |
115 | 15 | EV | 1.35 | 150, 15 | 1.2 |
infernal |
165 | 15 | IV | 1.35 | — | — |
livingwood |
105 | 15 | EV | 1.35 | — | — |
dreamwood |
200 | 20 | LUV | 1.3 | 300, 15 | 1.2 |
witchwood |
115 | 15 | EV | 1.3 | 150, 15 | 1.2 |
共 7 种杖身 + 5 个端盖(见 端盖表)。
Thaumic Tinkerer(检测 modid ThaumicTinkerer)
| 杖身 tag | base | cap | GT 等级 | 权杖倍率 | staff | staff-权杖 |
|---|---|---|---|---|---|---|
ICHORCLOTH |
250 | 25 | UV | 1.25 | — | — |
⚠️ tag 全大写,与 Thaumic Tinkerer 自身的注册名一致,
不是本 mod 统一的 snake_case 风格。CapWrapper 的 ICHOR 同样全大写。
Blood Arsenal(检测 modid BloodArsenal)
| 杖身 tag | base | cap | GT 等级 | 权杖倍率 | staff base,cap | staff-权杖倍率 |
|---|---|---|---|---|---|---|
blood_wood |
110 | 15 | EV | 1.2 | 145, 20 | 1.6 |
⚠️ blood_wood 是全表**权杖倍率最低(1.2)但 staff-权杖倍率最高(1.6)**的一根,
两个方向相反,不要当成录入错误去「统一」。
Tainted Magic(检测 modid TaintedMagic)
| 杖身 tag | base | cap | GT 等级 | 权杖倍率 | staff base,cap | staff-权杖倍率 |
|---|---|---|---|---|---|---|
warpwood |
215 | 20 | LUV | 1.2 | 320, 20 | 1.2 |
该块额外覆写了两个端盖的 Thamcraft 侧参数(见 端盖表),
crimsoncloth / shadowcloth 走的是 TCWandAPI.makeCap(...) 而非
regCap(...),是两步操作,不是笔误。
Thaumic Bases(检测 modid thaumicbases)
| 杖身 tag | base | cap | GT 等级 | 权杖倍率 | staff | staff-权杖 |
|---|---|---|---|---|---|---|
tbthaumium |
75 | 10 | HV | 1.5 | — | — |
tbvoid |
175 | 15 | EV | 1.2 | — | — |
⚠️ 检测用的 modid 是全小写 thaumicbases(CompatibleMods.java:11),
与另外 5 个的驼峰写法不同。
Thaumic Exploration(检测 modid ThaumicExploration)
| 杖身 tag | base | cap | GT 等级 | 权杖倍率 | staff base,cap | staff-权杖倍率 |
|---|---|---|---|---|---|---|
AMBER |
20 | 5 | MV | 2.0 | 75, 15 | 1.4 |
TRANSMUTATION |
50 | 10 | HV | 1.5 | 125, 15 | 1.5 |
NECROMANCER |
— | — | — | — | 150, 15 | 1.5 |
⚠️ NECROMANCER 走显式 regStaffRecipe(150, 15, EV),没有 wand 配方。
这与 primal 是同一模式:只做 staff,不做 wand。
依赖声明 vs 实际检测(不一致点)
TCWandsMod.DEPENDENCIES(:22-32)里声明了
after:ChromatiCraft;,但 CompatibleMods 枚举里没有 ChromatiCraft
⇒ 源码注释直言「ChromatiCraft is non-supported content」。
凡是用 ArcaneWandRecipe / ArcaneSceptreRecipe 注册杖配方的模组
(本 mod 未检测的),其配方会被 removeTCWands() 删掉且不补回。
⚠️ DEPENDENCIES 中
/* + "required-after:dreamcraft;" */ 是被注释掉的,
注释写「will be automatically uncommented while building」。
⇒ 仓库里检出状态下 dreamcraft 不是硬依赖;GTNH 正式构建产物中是否启用,
无法从本仓库核实。
源码核对(2026-10-01 审计)
- 5 个块的开关全部是
CompatibleMods.XXX.isPresent(),即Loader.isModLoaded, 不是Loader.instance().isModLoaded的重载,也没有@Optional。 - 每个块进入时打一行
LOGGER.info("Detected X. Applying GTNH Recipes...")。 CompatibleMods枚举只有 6 项(FM / TT / BA / TM / TB / TE), 而DEPENDENCIES里的after:有 8 项(多出 Thaumcraft、gregtech、 TwilightForest、ChromatiCraft)—— 后者是 FML 依赖声明,不是内容开关。