Arcane Crafting Pattern
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | thaumicenergistics:arcane.pattern(ItemEnum.java:26,ARCANE_PATTERN("arcane.pattern", new ItemArcaneCraftingPattern())) |
| 物品类 | thaumicenergistics.common.items.ItemArcaneCraftingPattern(实现 AE2 ICraftingPatternItem) |
| 创造标签 | 无(不在 getSubItems 中输出) |
| NBT 结构 | tag["pattern"] → ArcaneCraftingPattern 的序列化数据 |
| 显示名 | arcane.pattern(ItemArcaneCraftingPattern 未覆写 getUnlocalizedName,en_US.lang 中无对应条目) |
功能
Arcane Crafting Pattern 是纯技术物品,源码注释直言:
This is a technical item used to serialize/deserialize Knowlegde Core crafting tasks. It cannot be crafted and should be invisible to players. (
ItemArcaneCraftingPattern.java:16-17)
它是 Knowledge Core 内部奥术配方在 AE2 网络层传输时的载体 —— 当 Arcane Assembler 需要把配方请求送往整个网络时,配方便被包装成本物品的 ItemStack。
核心机制:
- 实现 AE2
ICraftingPatternItem,使 AE2 网络把它当作标准配方物品传输 getPatternForItem(ItemStack, World)从 NBT 的"pattern"复合标签反序列化为ArcaneCraftingPattern(ItemArcaneCraftingPattern.java:33-45)getItemFromPattern(ArcaneCraftingPattern)完成反向序列化(:47-56)- 创造标签中完全隐藏:
getSubItems方法体只有一行注释// hide in creative tab,方法体为空(:26-30) - 该类还没有调用
setCreativeTab,因此不会被分配到任何创造标签 - 无 lang 本地化条目,玩家无法看到有意义的名称
它是 ThE 内部通信机制的组成部分,不是玩家可获取的物品。
数值
| 数值名 | 值 | 来源 |
|---|---|---|
| 创造标签 | 无(getSubItems 空实现,且未调用 setCreativeTab) |
ItemArcaneCraftingPattern.java:26-30 |
| 最大栈大小 / 耐久 | 源码未覆写(沿用 Item 基类默认 64 / 0) |
该类无 setMaxStackSize / setMaxDamage 调用 |
| 变体数 | 无子类型 | 该类无 setHasSubtypes 调用 |
交互
| 触发 | 行为 |
|---|---|
| 玩家获得 | 无法合成、无法在创造标签看到 |
| AE2 网络传输 | 作为 ICraftingPatternItem 参与配方请求/分发 |
getPatternForItem |
NBT 无 "pattern" 键或 stack 为 null 时返回 null(:34-43) |
getItemFromPattern |
传入 null 时返回 null(:48) |
合成配方
无合成配方,且设计上不可合成(见上方源码注释)。全仓 ARCANE_PATTERN 的引用仅出现在 ItemEnum.java:26(注册)与 ItemArcaneCraftingPattern.java 内部的自反序列化方法中。
相关条目
- Knowledge Core - 本物品所序列化的配方来源
- Arcane Assembler - 消费本物品的机器