Forbidden Magic 研究
[!INFO] 注册真源:
ForbiddenResearch.java(主段)+ 3 个 compat 文件 调用点:Forbidden.java:85ForbiddenResearch.addResearch()(FMLPostInitializationEvent)
Forbidden Magic 共注册 54 个研究条目,但主段只有 34 个,其余 20 个分散在三个条件兼容中。这是本模组最容易统计错误的地方:naive grep registerResearchItem 会得到 54,但玩家实际能看到的数量取决于装了哪些兼容 mod。
主段研究(34 个,无条件)
ForbiddenResearch.addResearch() 注册,注册分类均为 FORBIDDEN:
CRYSTALWELL、PRIMEWELL、TRANSEMERALD、BLACKFLOWER、RIDINGCROP、CONSUMING、EDUCATIONAL、SCHOOLS、NETHERSHARDS、HELLFIRE、ROD_profane、SUBCOLLAR、SKULLAXE、RINGFOOD、ARCANECAKE、FOCUSBLINK、MORPHTOOLS、ROD_infernal、WRATH、GREEDY、CORRUPTING、CLUSTER、IMPACT、VOIDTOUCHED、FORK、WRATHCAGE、TAINTSHOVEL、TAINTPICK、ROD_tainted、TAINTTREE、TAINTSTONE
[!NOTE]
CRYSTALWELL、NETHERSHARDS、WRATHCAGE各出现 2 次DarkResearchItem构造 —— 说明这些条目在源码中按条件分支各写了一份(不同配方形态),而非重复注册同一 id。DarkResearchItem包装ResearchItem,同一 id 的后注册会覆盖前者。
条件研究(20 个)
Thaumic Tinkerer 兼容(3 个,compat/Compat.java)
| id |
|---|
ROD_witchwood |
CAP_vinteum |
ROD_witchwood_staff |
Botania 兼容(10 个,compat/ForbiddenBotany.java)
| id | 备注 |
|---|---|
BOTANY |
父研究 stub |
ROD_livingwood |
|
ROD_dreamwood |
虚拟研究 .setVirtual(),无实际物品 |
ROD_dreamwood_staff |
父 ROD_dreamwood,setConcealed() |
CAP_manasteel |
setSecondary().setConcealed() |
CAP_elementium |
|
CAP_terrasteel |
|
EUCLIDAISY |
Botania 功能花 |
WHISPERWEED |
Botania 功能花 |
TAINTHISTLE |
Botania 功能花 |
[!NOTE] 三个花的研究(
EUCLIDAISY/WHISPERWEED/TAINTHISTLE)只在装了 Botania 时存在,因为它们是 Botania 的 SubTile 而非方块。见魔杖部件与下方说明。
Blood Magic 兼容(7 个,compat/BloodMagic.java)
| id | 备注 |
|---|---|
BLOODMAGIC |
父研究 SCHOOLS,.setRound().setStub().setAutoUnlock() |
ROD_blood |
父 BLOODMAGIC |
ROD_blood_staff |
父 ROD_blood |
CAP_alchemical |
父 BLOODMAGIC |
BLOODWELL |
|
BLOODRAPIER |
|
ELDRITCHORB |
[!IMPORTANT]
compat/BloodMagic.java全文直接 importcom.gtnewhorizon.gtnhlib.api.thaumcraft.FormattedResearchPage与thaumcraft.api.research.ResearchPage,并通过Compat.getItem("AWWayofTime", ...)取得 12 个血魔法物品(masterBloodOrb、imbuedSlate、magicales、aether、terrae、aquasalus、incendium、sanctus、tennebrae、weakBloodOrb、demonBloodShard、bucketLife、transcendentBloodOrb)。这些是 AWWayofTime 的物品,不是本 mod 的。
Botania SubTile 说明
tiles/ 包下的 4 个 SubTile* 类(SubTileTainthistle、SubTileWhisperweed、SubTileEuclidaisy、SubTileBloodthorn)虽然物理位置在主包,但注册只发生在 compat/ForbiddenBotany.java 中,通过 BotaniaAPI.registerSubTile(...) / registerSubTileSignature(...) 注册 —— 它们是 Botania 魔法花,不是 Thaumcraft 植物。
SubTileTainthistle 继承 Botania 的 SubTileGenerating(产精华),其余 3 个继承 SubTileFunctional。