MaterialType.InvalidType

基本信息

属性 值
枚举常量 MaterialType.InvalidType
源码行号 appeng/items/materials/MaterialType.java:33
meta(damage 值) -1
物品注册名 item.ItemMultiMaterial
定义字段 无(哨兵,不在注册集合内)
特性门控 AEFeature.Core
ore dict 无
掉落实体 无
所属 modid appliedenergistics2
源码声明 InvalidType(-1, AEFeature.Core)

说明

哨兵常量(sentinel),meta -1。ItemMultiMaterial.getTypeByStack(ItemMultiMaterial.java:122-127)在 dmgToMaterial 查不到时返回它;getCheckedSubItems(:253-259)与 registerIcons(:262-271)都显式跳过 damageValue < 0/!= -1。它不是任何已注册材料。

所有 MaterialType 常量共用同一个 GameRegistry 注册名 item.ItemMultiMaterial(ApiMaterials.java:111-112 构造并注册实例),靠 damage 值区分;因此本维度的「条目数」不等于物品数。

⚠️ 哨兵常量,不在注册集合内。 集合运算:MaterialType 枚举共 70 个常量,ApiMaterials 里 createMaterial(MaterialType.X) 调用共 69 处,差集恰为 {InvalidType},即它是唯一的哨兵。

关于「矿石 / 粉碎 / 精准采集变体」

本仓库不存在这些变体。 全文检索 src/main/java 中 crushed 出现 0 次;唯一的 SILK_TOUCH 相关定义是 parts/automation/PartIdentityAnnihilationPlane.java:32 的 SILK_TOUCH_FACTOR = 16,与 MaterialType 无关。矿石在本版本是独立的方块(ApiBlocks.java:206-207 的 OreQuartz / OreQuartzCharged),不是 MaterialType 的变体;所以 MaterialType 上不存在「原矿 / 粉碎 / 精准采集」三件套。

关于密度 / 能量参数

MaterialType 本身不携带任何容量、密度或能量字段。枚举字段只有 features / oreName / droppedEntity / damageValue / itemInstance / isRegistered 等(MaterialType.java:124-136)。

Cell*Part 系列只是胞体的组件(component),只有 meta;真正的容量在外壳物品上,由 ApiItems.java:170-180 的 new ItemBasicStorageCell(MaterialType.Cell1kPart, 1) 形式以 kilobytes 实参给出,存入 AEBaseCell。把容量记在 MaterialType 上是错误的。

相关条目