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)—— 本部件的独有能力:
    1. getTickingRequest 声明节拍 new TickingRequest(2, 20, false, false),即最低 2 tick、常规 20 tick(:69-72)
    2. 无 visSourceInfo 配置或法杖槽为空时返回 IDLE(:73-80)
    3. wand.getAspectsWithRoom(stack) 取得法杖还能容纳哪些要素;为 0 表示已充满,转 IDLE(:86-89)
    4. 对每个待充要素计算缺口 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)。

相关条目