Node Augmentation

基本信息

属性 值
注册名 ThaumicMachina:nodeAugmentation
类 ItemNodeAugmentation(继承 TMItem)
堆叠上限 未调用 setter —— Item 默认 64
伤害 / 耐久 未调用 setter —— 默认 0 / 可修复
NBT 区分键 nodeAugmentation(字符串)
变体数 2(loadAugmentations() 硬编码 2 个实例)
唯一容器 Node Transmodifier 的 4 个 SlotLocked 槽

变体

物品本身只有一个注册名,区分靠 NBT 字符串(ItemNodeAugmentation.loadAugmentations,item/node/ItemNodeAugmentation.java:29-32):

NBT 值 类 效果
Dual Charging AugmentationDualCharging 无实际效果(handle() 恒返回 false)
Enhanced Recharging AugmentationEnhancedRecharging 反射改写 TileNode.regeneration 字段

安装后写进 TE 的 4 槽数组;NodeTransmodifier 触发时按 getAugmentation(stack) 解出实例并对区域内每个 TileNode 调 handle(node)。互斥与堆叠规则见 节点改装系统。

数值

数值 值
变体数 2
堆叠上限 64(默认值)
NBT 键 nodeAugmentation(TAG_String)
槽内 stackLimit 1(由 SlotLocked 之外 TE 的 getInventoryStackLimit() 强制)
tooltip "Augmentation: " + nbt(addInformation)

交互

触发 行为
拾取 普通物品
放入 Node Transmodifier SlotLocked.isItemValid 只放行 TMObjects.nodeAugmentation
移出 标准 Slot 行为;TileNodeTransmodifier 未覆写 transferStackInSlot
放回玩家背包 保留 NBT 变体

源码缺陷

  • 无配方。全仓无 GameRegistry.addRecipe 调用,生存模式无法获得。
  • getSubItems 只对客户端生效(@SideOnly(Side.CLIENT)),服务端无对应分支 —— 这是 1.7.10 的正常做法,但意味着服务器发 /give 或用命令生成时不会带变体 NBT,需要手工写 NBT。
  • getAugmentation(ItemStack) 对 null 不安全但对空 NBT 静默失败:NBTHelper.getCompoundFor 对无 NBT 的栈返回空 compound,比较不匹配即返回 null,安全;但这意味着任何缺失或拼错的 nodeAugmentation 字符串都会静默变成"无效改装",无报错。
  • ItemNodeAugmentation 不调用 setMaxStackSize(1),与 ItemWandAugmentationCore 的处理不一致。
  • lang 缺条目:无 item.nodeAugmentation.celestial 之类的 subtype key(正确),但也没有 item.wandCore.celestial.name,Celestial Wand Core 未本地化(见 Celestial Wand Core)。

相关条目