粉笔
基本信息
| 属性 | 值 |
|---|---|
| modid | modernmarkings |
| 注册名 | chalk |
| 资源名 | modernmarkings:chalk |
| 实现类 | modernmarkings.items.ItemBase |
| 声明位置 | modernmarkings.init.ModItems.CHALK |
| 数量 | 1(本 mod 唯一的手持物品) |
public static final Item CHALK = new ItemBase("chalk", "chalk");
它唯一的用途
全仓库对 CHALK 的引用只有两处,且都不是游戏内功能:
ModTab#getTabIconItem()—— 创造模式标签页的图标- 上面的声明本身
@Override
public Item getTabIconItem() {
return new ItemStack(ModItems.CHALK).getItem();
}
没有任何其他功能
- 没有合成配方:
ModRecipes里只有FLOOR_MARKING_EXIT与WALL_MARKING_EXIT两条配方,都用纸 + 木板,都不涉及粉笔。粉笔在生存模式下无法获得。 - 没有燃料值:
ModFuelHandler判定的是Block.getBlockFromItem(fuel.getItem()) instanceof BlockBase——只有方块物品返回 4 tick,普通Item一律返回 0。粉笔不是方块物品,因此烧不出任何时间。 - 没有 Tooltip / 特殊能力:
ItemBase的构造函数只设了创造标签页、未本地化名和材质名,没有覆写任何Item方法。 - 没有右键贴地功能:尽管叫「粉笔」、材质名也是
chalk,但没有任何代码让它画出或放置方块。
[!NOTE] 因此
chalk是一个纯粹为图标而存在的占位物品——选它大概是因为「用粉笔在地面画标线」的意象贴切,但功能尚未实现。
创造模式标签页
ModernMarkings.CREATIVE_TAB 是一个 new ModTab("modernmarkings"),其内部 tab 名为 modernmarkings.modernmarkings(ModernMarkings.MODID + "." + name,name 恰好又等于 modid)。ItemBase 与 BlockBase 的构造函数都会 setCreativeTab(CREATIVE_TAB),所以 170 个方块物品和粉笔都归到这个标签页。
[!NOTE] 构造参数传的
"modernmarkings"与ModernMarkings.MODID完全相同,因此最终 tab 标识符是modernmarkings.modernmarkings(重复一次)。这与实际存档/配置中的字符串一致,不是笔误,但读起来重复。