注意事项

  1. 本文适用于Thaumcraft 6.1.BETA26,其他版本可能与本文略有偏差,请以魔导手册为准;

  2. 本文分为两部分,分别阐述神秘时代6本体和附属或联动模组的研究解锁方法;

  3. 下文不再标出魔导手册上已明示的内容,包括但不限于观测及理论知识、要素;

  4. 若“{}”前带有“!”则表明需要完成“{}”内所有内容,否则只需其中一种。

基础信息

发现:神秘学

活动:!{到达Y<10,到达 Y>105左右(主世界)或 Y>51(下界)*}

* :此数据的选取标准为玩家所在世界的最大高度*0.4,因此存在两种不同的解锁条件


发现:傀儡学

扫描:{铁傀儡,雪傀儡}

 

深入研究邪术学

扫描:虚空种子


神秘学

基础法术

活动:被火灼烧

 

核心媒介:抛射

扫描或被!{"箭","被发射的火焰弹","羊驼的口水"}攻击

 

核心媒介:云雾

扫描:龙息

 

核心效果:诅咒(隐藏研究)

扫描:岩精法杖

 

核心媒介:巫蝠(隐藏研究)

扫描:九狱焱蝠


炼化学

炼狱熔炉

活动:拜访下界

 

镜中奇缘

扫描:{"末影珍珠","末影人","末地传送门(或框架),"下界传送门"}

 

自动十字弩

扫描:发射器


奥术注魔

旅行者之靴

活动:统计信息内!{"行走距离">1.6km,"奔跑距离">0.8km, "跳跃次数">500 ,"游泳距离">0.8km}

 

不死护符(隐藏研究)

扫描:不死图腾

 

奥术注魔:邪术石(隐藏研究)

扫描:邪术石

 

奥术注魔:荒古石

扫描:荒古石


傀儡学

材料研究:铁

扫描:{铁块,铁锭,铁板,铁矿石}

 

材料研究:黄铜

扫描:{黄铜方块,黄铜锭,黄铜板}

 

材料研究:粘土

扫描:{(染色)硬化粘土,粘土}

 

材料研究:神秘锭

扫描:{神秘方块,神秘锭,神秘板}

 

材料研究:虚空金属

扫描:{虚空金属块,虚空金属锭,虚空金属板}

 

缸中之脑

扫描:僵尸之脑

 

机动改良:攀爬

扫描:蜘蛛

 

机动改良:飞行

扫描:{"嘤鹦鹉","恶魂","腐化孢子群","九狱焱蝠","蝙蝠","蜘蛛","烈焰人"}

 

战争机器

扫描:发射器

 

神秘生物学之心

扫描:僵尸之脑


杂项(一些隐藏研究)

精灵

扫描:精灵

 

神秘史莱姆

扫描:神秘史莱姆

 

九狱焱蝠

扫描:九狱焱蝠

 

岩精强盗

扫描:岩精强盗

 

腐化孢子

扫描:腐化孢子

 

腐化孢子群

扫描:腐化孢子群

 

腐化魔蛛

扫描:腐化魔蛛

 

腐化触手怪

扫描:腐化触手怪

 

邪术爪牙

扫描:邪术爪牙

 

邪术守卫

扫描:邪术守卫

 

红眼僵尸

扫描:红眼僵尸

 

血腥崇拜

扫描:血腥教徒

 

血腥仪式

扫描:血腥仪式(前置研究:“血腥崇拜”)

 

元始珍珠

扫描:{元始珍珠,元始结核,元始尘埃}


附属与联动相关

下文将阐述如何找到神秘时代6附属模组和联动所添加的研究的解锁方法,这一部分默认读者拥有一定的阅读Java代码的能力。

工具:JDGUI或其他反编译工具。

MCPMappingViewer或其他能进行MCP Name-Srg Name对照的方法。

以神秘时代6的“发现:神秘学”这一研究为例,从语言文件中从我们能够知道该研究对应的key为“UNLOCKAUROMANCY”,随后在保存研究的json文件中能找到如下内容:

"key": "UNLOCKAUROMANCY",
 ……
 "stages": [
{
    "text": "research.UNLOCKAUROMANCY.stage.1",
    "required_research":["m_deepdown","m_uphigh"]
},

解锁研究的方法就在于如“required_research”之类的字段,在这里为"m_deepdown","m_uphigh"。用 JDGUI 打开Mod文件,对关键字进行搜索得到如下源码:

if (knowledge.isResearchKnown("UNLOCKAUROMANCY@1") && !knowledge.isResearchKnown("UNLOCKAUROMANCY@2")) {
      if (player.field_70163_u < 10.0D && !knowledge.isResearchKnown("m_deepdown")) {
        knowledge.addResearch("m_deepdown");
        knowledge.sync((EntityPlayerMP)player);
        player.func_146105_b(new TextComponentString(TextFormatting.DARK_PURPLE + I18n.func_74838_a("got.deepdown")), true);
      }

综上“m_deepdown”这一条件的达成归结于“player.field_70163_u < 10.0D”的达成,通过MCPMappingViewer还原得到为“player.posY”,从而不难看出条件为玩家在游戏中达到Y值<10的位置。

    由上归纳得到获知研究解锁方法的一般流程:

  1. 由语言文件得知研究对应的 key;

  2. 通过key在json文件中寻找解锁研究的条件关键字;

  3. 在源代码中得到关键字对应的判断条件。