已弃用的要素部件(Essentia Level Emitter / Terminal / Storage Monitor / Conversion Monitor)
基本信息
| 属性 | 值 |
|---|---|
| 注册方式 | 全部注册在同一个物品 thaumicenergistics:part.base 上,以 damage/meta 值区分(ItemEnum.ITEM_AEPART,ItemEnum.java:16) |
| 枚举定义 | thaumicenergistics.common.parts.AEPartsEnum |
| 弃用标记来源 | AEPartsEnum 的三参构造 AEPartsEnum(unlocalizedName, partClass, deprecated),当 deprecated == true 时传入 tooltip "§4DEPRECATED!" 并置 this.deprecated = true(AEPartsEnum.java:72-75) |
| 创造标签 | 不显示(见下) |
功能
这 4 个部件在枚举中占位保留但已被弃用,玩家在正常游戏中无法获得:
| 枚举常量 | meta | 部件类 | AEPartsEnum 行 |
|---|---|---|---|
EssentiaLevelEmitter |
1 | PartEssentiaLevelEmitter |
AEPartsEnum.java:32 |
EssentiaStorageBus |
2 | (非弃用,见 Essentia Storage Bus) | AEPartsEnum.java:34 |
EssentiaTerminal |
4 | PartEssentiaTerminal |
AEPartsEnum.java:43 |
EssentiaStorageMonitor |
7 | PartEssentiaStorageMonitor |
AEPartsEnum.java:49 |
EssentiaConversionMonitor |
8 | PartEssentiaConversionMonitor |
AEPartsEnum.java:51 |
AEPartsEnum 共 10 个常量,4 个带 deprecated = true(EssentiaLevelEmitter、EssentiaTerminal、EssentiaStorageMonitor、EssentiaConversionMonitor),因此只有 6 个部件实际可用。
弃用的三条源码证据
证据 1 —— 创造标签过滤(ItemAEPart.java:95-105):
for (int i = 0; i < count; i++) {
if (AEPartsEnum.VALUES[i].isDeprecated()) continue; // 跳过弃用部件
itemList.add(new ItemStack(item, 1, i));
}
证据 2 —— 物品提示标红(AEPartsEnum.java:72-75):三参构造在 deprecated 为真时传入 tooltip "§4DEPRECATED!"(§4 是深红色格式码),ItemAEPart.addInformation 会把该 tooltip 加进物品提示(ItemAEPart.java:148-155)。
证据 3 —— 无任何配方:grep -rn 'EssentiaLevelEmitter\|EssentiaTerminal\|EssentiaStorageMonitor\|EssentiaConversionMonitor' src/main/java/thaumicenergistics/common/features/ 返回 0 命中 —— common/features/ 目录下没有任何 feature 为它们注册合成、研究或伪研究。对照可见,所有可用部件(Import/Export/Storage Bus、ACT、VRI、CVRI)都在 FeatureRegistry 中有对应 feature(FeatureRegistry.java:158-210)。
仍然存在的引用
这 4 个部件并非完全无引用,以下位置仍指向它们(均为兼容性/遗留用途):
implementaion/ThEParts.java:18、:20、:22、:23—— 构造ThEItemDescription暴露给其他 mod 的 APIItemAEPart.java:135、:139、:142—— 为它们返回专用图标(LevelEmitter 借用 AE2 发射器图标,Storage/Conversion Monitor 借用 Arcane Crafting Terminal 贴图)registries/ThEStrings.java:29、:31、:35、:36—— 本地化键定义- 各
PartXxx.java—— 部件类实现本身仍完整存在
因此它们属于保留占位以维持 meta 值兼容的弃用内容:删除它们会导致 EssentiaStorageBus(2)、EssentiaExportBus(3) 等后续部件的 meta 值整体错位,破坏旧存档。
数值
| 数值名 | 值 | 来源 |
|---|---|---|
AEPartsEnum 常量总数 |
10 | AEPartsEnum.java:28-53 |
| 弃用部件数 | 4 | 带 deprecated = true 的三参构造调用(:32、:43、:49、:51) |
| 实际可用部件数 | 6 | 10 − 4 |
| 弃用部件占用 meta | 1、4、7、8 | ordinal() 值 |
| 弃用提示文本 | §4DEPRECATED! |
AEPartsEnum.java:73 |
| 可用升级卡 | 无(弃用部件的构造均未传升级对) | AEPartsEnum.java:32、:43、:49、:51 |
交互
| 触发 | 行为 |
|---|---|
| 创造标签浏览 | 不可见(getSubItems 跳过) |
| 物品提示 | 显示深红色 §4DEPRECATED! |
通过 /give 获取 |
可以获得(GameRegistry.registerItem 注册的是整个 part.base 物品,meta 决定具体部件) |
| 配方合成 | 不可能(common/features/ 中 0 引用) |
| 研究解锁 | 不可能(无对应 feature,无 ResearchTypes 枚举项) |
| 旧存档 | 玩家若在旧版本中已放置,升级后仍可正常存在(类与注册都在) |
合成配方
无合成配方 —— 这是本条目存在的核心结论,证据见上文「证据 3」。
ResearchTypes 枚举(ResearchRegistry.java:67-87)共 19 项,其中没有一项指向这 4 个弃用部件的 meta 值;对应的 ResearchTypes 是 ESSENTIA_PROVIDER、ARCANE_TERMINAL、STORAGE 等其他功能。
相关条目
- Essentia Import Bus - meta 0,可用
- Essentia Export Bus - meta 3,可用
- Essentia Storage Bus - meta 2,可用(与弃用部件交错排列)
- Arcane Crafting Terminal - meta 5,可用
- Vis Relay Interface - meta 6,可用
- Creative Vis Relay Interface - meta 9,可用