Aspect

基本信息

属性 值
注册名 item:itemCraftingAspect(ItemEnum.java:23,CRAFTING_ASPECT("crafting.aspect", new ItemCraftingAspect());但类内 setUnlocalizedName("itemCraftingAspect") 覆盖了枚举内部名,ItemCraftingAspect.java:40)
物品类 thaumicenergistics.common.items.ItemCraftingAspect
最大栈大小 64(setMaxStackSize(64),ItemCraftingAspect.java:36)
最大耐久 0(setMaxDamage(0),ItemCraftingAspect.java:38)
有子类型 是(setHasSubtypes(true),ItemCraftingAspect.java:37)
创造标签 thaumicenergistics.ThETab(ItemCraftingAspect.java:39)
NBT 键 "Aspect"(NBTKEY_ASPECT,ItemCraftingAspect.java:32)
在 NEI 中 被隐藏(API.hideItem(ItemEnum.CRAFTING_ASPECT.getStack()),ModuleNEI.java:276)
在 AE2 中 加入物品显示黑名单(AEApi.instance().registries().itemDisplay().blacklistItemDisplay(ItemCraftingAspect.class),ThaumicEnergistics.java:132)
显示名 Aspect(en_US.lang:item.itemCraftingAspect.name)

功能

Aspect(要素物品)是一个技术性物品,用一个 ItemStack 表示一个具体的 Thaumcraft Aspect。它的 meta 值对应要素在 Aspect.getAspectNBTs() / Aspect.aspects 列表中的索引。

  • 无独立玩法功能:它不进入合成、不提供加成,功能仅限于在 ThE 的网络与 GUI 内部传递「哪个要素」这一信息
  • 两处主动隐藏:
    1. NEI 中 API.hideItem(...) 隐藏(ModuleNEI.java:276)
    2. AE2 的 item display 黑名单(ThaumicEnergistics.java:132),使其不出现在 AE2 的物品显示列表中
  • 自定义物品渲染器:MinecraftForgeClient.registerItemRenderer(ItemEnum.CRAFTING_ASPECT.getItem(), new RendererItemCraftingAspect())(Renderers.java:83)—— 使要素物品在手中/展示时渲染为对应的要素图标而非普通方块贴图
  • 可发现性门控:canPlayerSeeAspect(player, aspect) 返回 Thaumcraft.proxy.playerKnowledge.hasDiscoveredAspect(playerName, aspect)(ItemCraftingAspect.java:50-52)—— 玩家未发现的要素不会被显示
  • getUnlocalizedName(ItemStack) 会读出该 stack 对应的 Aspect 再查本地化名(:189-192),因此不同 meta 显示不同要素名
  • 通过 NBT 键 "Aspect" 序列化具体要素(NBTKEY_ASPECT,:32)

尽管注册在 ItemEnum 中并拥有创造标签,但由于 NEI 隐藏 + AE2 黑名单 + 依赖玩家知识库,它实质上是内部通信载体而非玩家可得的物品。

数值

数值名 值 来源
最大栈大小 64 ItemCraftingAspect.java:36
耐久 0(不可损坏) :38
子类型 有(setHasSubtypes(true)) :37
变体数量 取决于 Aspect.aspects.size()(Thaumcraft 运行时决定,本仓不含该定义) —

交互

触发 行为
玩家查看 仅当玩家已发现对应要素时才可见(canPlayerSeeAspect)
NEI 检索 被 API.hideItem 隐藏
AE2 网格 被 itemDisplay().blacklistItemDisplay(...) 排除
NBT 以 "Aspect" 键记录具体要素

合成配方

无合成配方。grep -rn 'CRAFTING_ASPECT' src/main/java --include=*.java 的结果只有 5 处:ItemEnum.java:23(注册)、ItemCraftingAspect.java:63(内部构造 stack)、Renderers.java:83(渲染器)、ThaumicEnergistics.java:132(AE2 黑名单)、ModuleNEI.java:276(NEI 隐藏)—— 没有任何 addArcaneCraftingRecipe / addShapedOreRecipe / addShapelessOreRecipe 引用它。它只能由 ThE 内部代码构造(ItemCraftingAspect.java:63 调用 ItemEnum.CRAFTING_ASPECT.getStack(amount) 后写入 NBT)。

相关条目