item.itemBasicMars
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | item.itemBasicMars |
| 物品类 | ItemBasicMars |
| 所属 modid | GalacticraftMars |
| 注册变量 | MarsItems.marsItemBasic / marsItemBasic |
| 构造 | MarsItems.java:34 — new ItemBasicMars()(无参,且没有 setUnlocalizedName) |
| 注册名来源 | 无显式设置 → 落到 net.minecraft.item.Item.getUnlocalizedName(),其返回 "item." + getClass().getSimpleName(),故为 item.itemBasicMars |
| 注册 | MarsItems.java:63 |
| 变体数 | 7(ItemBasicMars.names,ItemBasicMars.java:22) |
| 源码 | micdoodle8/mods/galacticraft/planets/mars/items/MarsItems.java |
说明
⚠️ 注册名既不是变量名 marsItemBasic,也不是类名 ItemBasicMars。
MarsItems.java:34 的 new ItemBasicMars() 既没有字符串实参、也没有
.setUnlocalizedName(...),所以注册用的名字由 Item 基类的默认实现派生:
"item." + getClass().getSimpleName() → item.itemBasicMars。
这是本分类里唯一一个注册名由基类默认值兜底的物品。
7 个 metadata 变体由 getUnlocalizedName(ItemStack) 覆写按 names[damage] 取名
(ItemBasicMars.java:71-77),显示名为:
rawDesh、deshStick、ingotDesh、reinforcedPlateT2、slimelingCargo、
compressedDesh、fluidManip(ItemBasicMars.java:22)。
越界时返回字符串 "unnamed"(ItemBasicMars.java:76)。
⚠️ 覆写只影响带 ItemStack 的显示名;
GameRegistry.registerItem用的是 无参getUnlocalizedName(),所以注册表里的键仍是item.itemBasicMars。
说明
由 GalacticraftMars 注册,注册辅助方法为 registerItem(Item),其实现为:
// MarsItems.java —— 本类**自带的** registerItem 辅助方法
public static void registerItem(Item item) {
GameRegistry.registerItem(item, item.getUnlocalizedName(), Constants.MOD_ID_PLANETS);
}
Constants.MOD_ID_PLANETS的值是GalacticraftMars(core/Constants.java:8), 与本条目所属 modid 一致。Mars / Asteroids 各有自己的registerItem, 与GCItems.java:330-332那个写死MOD_ID_CORE的不是同一个方法。
相关条目
- Galacticraft 分类页 - 2 个 modid、4 个维度的总览与注册真源