血石
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | bloodarsenal:blood_stone |
| 字段 | ModBlocks.blood_stone |
| 类 | BlockBloodStone |
| 材质 | Material.iron(BlockBloodStone.java:25) |
| 硬度 | 2.0 |
| 抗性 | 5.0 |
| 声音 | soundTypePiston |
| ItemBlock | BloodStoneBlock.class |
| TileEntity | 无 |
| 贴图 | 自绘 5 张(registerBlockIcons) |
| 创造标签 | 有 |
贴图
方块自行在 registerBlockIcons(BlockBloodStone.java:31)注册 5 张图标:
| 图标 | 用途 |
|---|---|
BloodArsenal:blood_stone_1 |
顶/底 |
BloodArsenal:blood_stone_2 |
侧 |
BloodArsenal:blood_stone_3 |
内层 |
BloodArsenal:blood_stone_4 |
内层 |
BloodArsenal:blood_stone_5 |
内层 |
已知缺陷
- 本 mod 唯一没有设置方块名的方块:
blood_stone通过三参重载registerBlock(Block, Class, String)(ModBlocks.java:99)注册,而该重载只调用setCreativeTab, 既不调用setBlockName也不调用setBlockTextureName(对比两参重载ModBlocks.java:79–:80)。BlockBloodStone构造函数(:24–:28)也没有setBlockName。 两者叠加 →blood_stone从未设置方块本地化名。 它靠自绘图标掩盖了贴图缺失,但名字缺失无法掩盖。 同走三参重载的portable_altar(BlockPortableAltar.java:49)与compacted_mrs(BlockCompactedMRS.java:31)都在自己的构造函数里 补了setBlockName,只有本方块漏了。 - 三参重载缺少
blocksNotToBeRegistered.clear():ModBlocks.java:102的循环之前没有.clear(), 而两参重载在:86有。该静态ArrayList会残留上一次注册的内容。 当前各方块名互不相同,暂未造成实际后果,但属于状态泄漏缺陷。