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)。
相关条目
- 节点改装系统 - 2 种改装的完整规则与 Enhanced Recharging 的反射数值
- Node Transmodifier - 唯一容器
- Node Transmodifier GUI - 槽位坐标与锁定规则