Arcane Crafting Terminal
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | thaumicenergistics:part.base(meta/damage = AEPartsEnum.ArcaneCraftingTerminal.ordinal(),即 5) |
| 部件类 | thaumicenergistics.common.parts.PartArcaneCraftingTerminal |
| 继承/实现 | extends AbstractPartTerminal implements IGridTickable(PartArcaneCraftingTerminal.java:43) |
| 合成网格 | 9 格(AppEngInternalInventory(this, 9),:57) |
| 法杖槽 | 1 格(AppEngInternalInventory(this, 1),:58) |
| 护甲槽 | 4 格(AppEngInternalInventory(this, 4),:59) |
| Vis 源配置 | DigiVisSourceData visSourceInfo(:61) |
| 显示名 | Arcane Crafting Terminal(en_US.lang:thaumicenergistics.aeparts.arcane.crafting.terminal.name) |
功能
Arcane Crafting Terminal(奥术合成终端)是 AE2 的 ME Crafting Terminal 在 Thaumcraft 语境下的对位部件:它让玩家在 AE 网络里远程使用自己的奥术合成法杖,并可自动为法杖充 Vis。
核心机制(PartArcaneCraftingTerminal):
- 继承 AE2 的
AbstractPartTerminal,因此获得终端的全部标准行为(网络访问、电池槽、玩家所有权) - 三个额外仓库:
craftingGridInventory(9 格)—— 合成网格wandInventory(1 格)—— 放入自己的ItemWandCasting合成法杖armorInventory(4 格)—— 放入护甲用于削减要素消耗(与 Arcane Assembler 的护甲折扣槽同机制)
- 自动充 Vis(
tickingRequest,:76-120)—— 本部件的独有能力:getTickingRequest声明节拍new TickingRequest(2, 20, false, false),即最低 2 tick、常规 20 tick(:69-72)- 无
visSourceInfo配置或法杖槽为空时返回IDLE(:73-80) wand.getAspectsWithRoom(stack)取得法杖还能容纳哪些要素;为 0 表示已充满,转IDLE(:86-89)- 对每个待充要素计算缺口
wand.getMaxVis(stack) - wand.getVis(stack, vis),向IDigiVisSource.consumeVis(vis, amount)请求,再wand.addRealVis(stack, vis, amountDrained, true)灌入(:96-113)
- Vis 源配置持久化:用 AE2 记忆卡读写
DigiVisSourceData,NBT 键VisInterface(:54、:150-178、:223);用空白记忆卡可清除配置(:164-172) - 破坏掉落完整:
getDrops除父类掉落外,还掉落合成网格、护甲槽、法杖槽的全部内容(:194-208) - 旧存档兼容:读取旧 NBT 键
TEACT_Inventory+Slot#,按旧槽位布局(法杖=9、电池=11–15、护甲=16+)迁移到新布局(:230-268) - NBT 键:
craftingGrid、wand、armor、VisInterface(:210-224)
可用升级卡
AEPartsEnum.java:45 使用两参构造(ThEStrings.Part_ArcaneCraftingTerminal, PartArcaneCraftingTerminal.class),未注册任何升级卡。
数值
| 数值名 | 值 | 来源 |
|---|---|---|
| 合成网格槽位 | 9 | AppEngInternalInventory(this, 9)(:57) |
| 法杖槽位 | 1 | AppEngInternalInventory(this, 1)(:58) |
| 护甲槽位 | 4 | AppEngInternalInventory(this, 4)(:59) |
| 网格节拍 | 最低 2 tick / 常规 20 tick | new TickingRequest(2, 20, false, false)(:69-72) |
| 旧布局库存大小 | 20 | OLD_MY_INVENTORY_SIZE = 20(:45) |
| 旧法杖槽索引 | 9 | OLD_WAND_SLOT_INDEX = 9(:46) |
| 旧电池槽范围 | 11–15 | OLD_VIEW_SLOT_MIN/MAX = 11/15(:47-48) |
| 旧护甲槽起始索引 | 16 | OLD_ARMOR_SLOT_MIN = 16(:49) |
| 可用升级卡 | 无 | AEPartsEnum.java:45 |
| 合成所需要素 | AIR 10 + EARTH 10 + ENTROPY 10 + FIRE 10 + ORDER 10 + WATER 10 |
FeatureACT.java:61-66 |
| 研究要素 | CRAFT 5 + ENERGY 3 + MECHANISM 3 + VOID 3 |
FeatureACT.java:82-86 |
研究(FeatureACT.java:79-99):id thaumicenergistics.TEARCANETERM,研究要素 CRAFT 5 + ENERGY 3 + MECHANISM 3 + VOID 3,复杂度 COMPLEXITY_SMALL(=1),图标为 AEPartsEnum.ArcaneCraftingTerminal.getStack(),2 页(说明页 + 配方页),父研究为 getFirstValidParentKey(false)。registerPseudoParents() 为空(:77),且未调用 setConcealed() —— 该研究在神秘录中直接可见。
本部件还是 FeatureVisRelayInterface 的父 feature(FeatureVisRelayInterface.java:46-48),即 Vis Relay Interface 的研究链建立在本部件之后。
交互
| 触发 | 行为 |
|---|---|
| 放入合成法杖 | 终端用该法杖执行远程奥术合成 |
| 记忆卡写入 Vis 源 | 配置 DigiVisSourceData,供自动充 Vis 使用(:150-163) |
| 空白记忆卡点击 | 清除 Vis 源配置(:164-172) |
| 网格节拍触发 | 逐要素为法杖充 Vis,直至充满(:96-113) |
| 无 Vis 源 / 法杖已满 | 转 IDLE 停止充能(:73-89) |
| 破坏部件 | 掉落网格、护甲、法杖槽全部内容(:194-208) |
| 加载旧存档 | 自动从 TEACT_Inventory 迁移(:230-268) |
| 潜行右键 | 交给父类处理(:190);非潜行右键打开 GUI(:180-188) |
合成配方
无序奥术合成(Shapeless Arcane),FeatureACT.java:72-73 —— 仅三个成分:
| 成分 | 物品 |
|---|---|
| 1 | METerminal(AE2 ME 合成终端) |
| 2 | ArcaneWorkTable(Thaumcraft 奥术工作台) |
| 3 | CalculationProcessor(AE2 计算处理器) |
合成所需要素:AIR 10 + EARTH 10 + ENTROPY 10 + FIRE 10 + ORDER 10 + WATER 10(:61-66,六大元要素各 10)—— 这是 ThE 要素消耗最高的配方之一。
可用性受配置 craft_Arcane_Crafting_Term(默认 true)控制(ConfigurationHandler.java:98-102)。
相关条目
- Vis Relay Interface - 父 feature 提供者,可为本终端提供 Vis 源
- Creative Vis Relay Interface - 可作为无限 Vis 源
- Arcane Assembler - 护甲折扣机制的方块对位
- ThE 配置项 -
Arcane Crafting Terminal开关