血石
基本信息
| 属性 |
值 |
| 注册名 |
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 会残留上一次注册的内容。
当前各方块名互不相同,暂未造成实际后果,但属于状态泄漏缺陷。
相关条目