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 内部传递「哪个要素」这一信息
- 两处主动隐藏:
- NEI 中
API.hideItem(...)隐藏(ModuleNEI.java:276) - AE2 的 item display 黑名单(
ThaumicEnergistics.java:132),使其不出现在 AE2 的物品显示列表中
- NEI 中
- 自定义物品渲染器:
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)。
相关条目
- AE 要素赋予(AE2 物品获得要素) - 本物品承载的要素信息与之相关
- ThE 与第三方模组的集成 - 隐藏本物品的 NEI 模块