注意事项
本文适用于Thaumcraft 6.1.BETA26,其他版本可能与本文略有偏差,请以魔导手册为准;
本文分为两部分,分别阐述神秘时代6本体和附属或联动模组的研究解锁方法;
下文不再标出魔导手册上已明示的内容,包括但不限于观测及理论知识、要素;
若“{}”前带有“!”则表明需要完成“{}”内所有内容,否则只需其中一种。
基础信息
发现:神秘学
活动:!{到达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的位置。
由上归纳得到获知研究解锁方法的一般流程:
由语言文件得知研究对应的 key;
通过key在json文件中寻找解锁研究的条件关键字;
在源代码中得到关键字对应的判断条件。