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 内部的自反序列化方法中。

相关条目