ItemMultiPart
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | item.ItemMultiPart |
| 物品类 | ItemMultiPart |
| 所属 modid | appliedenergistics2 |
| 源码 | appeng/items/parts/ItemMultiPart.java |
| 注册点 | appeng/core/api/definitions/ApiParts.java:78 |
| 注册方式 | constructor.registerItemDefinition(itemMultiPart) → ItemFeatureHandler |
说明
这是唯一一个承载全部电缆部件的物品。ApiParts 构造函数先造出这一个实例并注册
(ApiParts.java:77-78),随后所有部件定义都通过
constructor.constructColoredDefinition(itemMultiPart, PartType.XXX)(ApiParts.java:80 起)
挂到这个实例上——DefinitionConstructor.java:87-102 的实现是按 AEColor.VALUES 逐色调用
target.createPart(type, color, deprecated) 造出 ItemStack,这些不是新的 GameRegistry 注册。
所以 cable-part 维度的 44 个条目与本条目是一对多关系:
44 个部件类型、乘以 16 种 AEColor,全部由这一个物品承载。
ItemFeatureHandler.java:66-70 的改写规则在这里生效:内部名先是 ItemPart,
提交 GameRegistry 时被换回 ItemMultiPart。因此本地化名与物品注册名不一致。
⚠️
ApiParts.java:85起的 4 个 lumen cable 定义 (lumenCableSmart/lumenCableCovered/lumenCableGlass/lumenCableDense) 是被注释掉的,注释写明 “has yet to be implemented, no PartType defined for it yet”。 它们没有出现在PartType枚举里,也不属于本分类的注册集合。Registration.java:336-339中对应的target.partLumenCableXxx赋值同样被注释。