治疗槽多方块结构

基本信息

属性 值
结构名称 Curative Vat(治疗槽)
主控方块 ThaumicHorizons:vat(BlockVat,无参构造)
组成部分 ThaumicHorizons:vatSolid、ThaumicHorizons:vatInterior、可选顶盖 ThaumicHorizons:modMatrix
主控 TileEntity TileVat —— 由 metadata == 7 选出(common/blocks/BlockVat.java:56-57)
附属 TileEntity TileVatConnector(metadata == 4)、TileVatSlave(其余 metadata)(common/blocks/BlockVat.java:58-61)
GUI ID 7(common/CommonProxy.java:91-93 容器端 / client/ClientProxy.java 同号客户端)
硬度 / 抗性 / 光照 3.0 / 15.0 / 8(common/blocks/BlockVat.java:34-36;BlockVatInterior 完全相同)
研究条目 healingVat(复杂度 8)、incarnationVat(10)、infusionVat(10),见 研究列表

功能

治疗槽是本模组的核心结构,同一套方块按注入的要素不同而承担三种截然不同的用途,对应三条研究线。

一、治疗(healingVat)

槽体本身即为「诊断—配药」装置:接受受伤生物进入后自动判定伤情并向内注入对应要素。语言表 incarnationVat/healingVat 研究页原文给出的要素分工(src/main/resources/assets/thaumichorizons/lang/en_US.lang):

要素 作用
§5 Victu§0 缓慢恢复已损失生命值
§5 Fames§0 补充饥饿值
§5 Sano§0 快速恢复生命值,并驱散多数负面状态效果
§5 Mortuus§0 对亡灵缓慢恢复生命值
§5 Exanimis§0 对亡灵更高效地恢复生命值

进出方式:右键槽盖的检修口(access hatch)。检修口同时兼作扩展口(healingVat2 原文),即 TileVatConnector 所负责的连接部位。

二、化身 / 克隆(incarnationVat)

流程:放入目标生物的组织样本(肉块,或装有该生物血液的封禁注射器)→ 注入 4 点 §5 Victu§0 要素点燃生长 → 持续供给营养 → 成年后用空封禁罐右键取出。

incarnationVat2 明确记载两条限制:克隆体在生长中会自行凝聚灵魂(因此人类克隆必然失败);砸开装有生物的槽会造成生物死亡。healingVatContainment 页补充:用封禁罐可将捕获的生物放入槽内,空罐又可将其取出;同样地,砸开装有生物的槽会让其身体溶解为流质并从槽中爆炸性喷出。

代码侧对应常量:EFFIGY_ESSENTIA_AMOUNT = 8(common/tiles/TileVat.java:100)、BLOOD_SAMPLE_LIFE_COST = 4(:101)、BLOOD_SAMPLE_INITIAL_PROGRESS = 40(:87)、CLONE_PROGRESS = 800(:82)、COUNT_DELAY = 10(:83)。

三、生物注入(infusionVat)

槽顶必须先安装改造符文矩阵(ThaumicHorizons:modMatrix / TileVatMatrix)—— 研究页 infusionVat1 原文即以「You must first install a modified runic matrix atop the vat」开篇,并警告直接对符文矩阵做注入会产生可观的魔法反馈。

运行方式与 TC4 普通注入祭坛几乎相同,区别是要素必须由管道直接接入(infusionVat2)。代码中 TileVat implements IAspectContainer(common/tiles/TileVat.java),TileVatMatrix extends TileVisNode implements IWandable, IAspectContainer(common/tiles/TileVatMatrix.java:18)。

限制(infusionVat2 / infusionVat3 原文):

  • 过程不可中止,只能以成功或死亡告终;
  • 累积的「不稳定度」会伤害实验对象,强度高时直接致死;
  • 注入 §3 Aqua§0、§7 Ordo§0、§2 Terra§0 三种 centivis 的组合可减缓受伤速率;
  • 人类及有智慧的生物无法注入(人类灵魂会干扰魔法能量注入);
  • 不死生物与傀儡等本身即魔法造物的生物不受影响;
  • 同一生物可拥有任意多条通用注入,但物种专属注入最多一条;
  • 被注入的生物不会把注入遗传给后代;
  • 克隆被注入的生物时(infusionVatClone 页),需提供各次注入所用要素之和,但血样已包含完整图样,不产生不稳定度也无需任何实体材料,因此克隆是繁殖注入生物的高效途径。

数值

common/tiles/TileVat.java:82-102 中的全部 private static final 调参常量:

常量名 值 行
CLONE_PROGRESS 800 82
COUNT_DELAY 10 83
HEAL_ASPECT_COOLDOWN 40 84
LIFE_ASPECT_COOLDOWN 50 85
EFFIGY_PROGRESS 80 86
BLOOD_SAMPLE_INITIAL_PROGRESS 40 87
INFUSER_SOUND_INTERVAL 65 88
CRAFTCOUNT_WIND_DOWN_MAX 50 89
INSTABILITY_EFFECT_CHANCE 200 90
INSTABILITY_CRAFT_CHANCE 500 91
INSTABILITY_INCREASE_CHANCE_BASE 100 92
MAX_INSTABILITY 25 93
EFFIGY_ESSENTIA_AMOUNT 8 100
BLOOD_SAMPLE_LIFE_COST 4 101
VIS_DRAIN_AMOUNT 100 102

不稳定度的封顶逻辑位于 common/tiles/TileVat.java:1055-1056:

1055:            if (this.instability > MAX_INSTABILITY) {
1056:                this.instability = MAX_INSTABILITY;

即 instability 单向增长并在 25 处截断,不做衰减。*_CHANCE 常量(200/500/100)参与随机判定,具体掷骰实现未逐一核对。

交互

触发 行为
右键槽盖检修口 进入 / 离开治疗槽(healingVat2)
右键(手持封禁罐) 放入捕获的生物;空手罐则取出(healingVatContainment)
右键(成年克隆体就绪时持空罐) 取出克隆体(incarnationVat2)
供给要素 需由 TileVatConnector(implements IEssentiaTransport)从 Essentia 管道接入
破坏装有生物的槽 生物死亡 / 溶解并爆炸(incarnationVat2、healingVatContainment)
GUI ID 7,ContainerVat + GuiVat

TileVatSlave 与 TileVatConnector 的继承关系:TileVatSlave extends TileThaumcraft implements IAspectContainer(common/tiles/TileVatSlave.java:16),TileVatConnector extends TileVatSlave implements IEssentiaTransport, ISidedInventory(common/tiles/TileVatConnector.java:15)。附属方块在主控消失时通过 killMyBoss(md) 通知主控(common/tiles/TileVatSlave.java:131,调用点 common/blocks/BlockVat.java:66-71)。

合成配方

槽体本身不在本模组的任何工作台配方中产出。顶盖所需的改造符文矩阵由一条 Thaumcraft 4 注入配方产出(common/ThaumicHorizons.java:1447-1455):

项 值
配方 API ThaumcraftApi.addInfusionCraftingRecipe,配方名 "infusionVat"
产物 ThaumicHorizons:modMatrix(1 个)
注入等级 10
所需要素 LIFE 32 + CRAFT 32 + MAGIC 32 + BEAST 32(四系各 32)
输入基底 thaumcraft:blockStoneDevice meta 2(1 个)
注入物 thaumcraft:itemResource meta 14 ×2、ThaumicHorizons:syringeBlood ×2

该配方无条件注册(位于 postInit 主体,不在 enablePocket 或 GregTech 判断块内)。注意受 GregTech 门控的是基座插槽 blockSlot(ThaumicHorizons:slotTH,配方见 common/ThaumicHorizons.java:2111-2129 与无 GT 分支 :2153-2161),不是 modMatrix,两者不可混淆。

相关条目

  • 方块列表 - vat / vatSolid / vatInterior / modMatrix 的注册与未本地化名
  • 研究列表 - 三条槽体研究线的要素与复杂度
  • 生物注入物品 - 注射器、封禁注射器、营养剂等槽体耗材