Block Hint(提示方块物品)
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | structurelib:blockhint |
| 物品类 | com.gtnewhorizon.structurelib.item.ItemBlockHint |
| 对应方块 | com.gtnewhorizon.structurelib.block.BlockHint |
| 最大耐久 | 0(setMaxDamage(0),damage 值用作 metadata 亚型) |
| 有亚型 | 是(setHasSubtypes(true)) |
| 创意模式标签 | Blocks(原版 CreativeTabs.tabBlock) |
物品与方块在 GameRegistry.registerBlock(blockHint = new BlockHint(), ItemBlockHint.class, "blockhint") 中一次性注册,因此物品与方块共用注册名 structurelib:blockhint。注意本物品没有独立的注册名,StructureLib.preInit 中的 itemBlockHint 字段是通过 ItemBlock.getItemFromBlock(...) 取得的引用,而非再次注册。
功能
ItemBlockHint 是 Hint Block 的物品形态,为 16 种提示变体提供 metadata 感知的悬浮提示。玩家可以从创造标签或物品栏中选择特定的提示方块变体,每个变体代表一种用于多方块可视化的不同结构占位符类型。
未本地化名称规则
方块自身的未本地化名称是 tile.structurelib.blockhint(由 setBlockName("structurelib.blockhint") 加 tile. 前缀得到)。ItemBlockHint 重写了 getUnlocalizedName(ItemStack),返回方块的未本地化名称加上 . 和 damage 值:
- 形式为
tile.structurelib.blockhint.<damage>,例如tile.structurelib.blockhint.0、tile.structurelib.blockhint.12。
对应的语言键即 tile.structurelib.blockhint.0.name … tile.structurelib.blockhint.15.name;这与物品类自身的 item.* 前缀命名规则不同。
各 Metadata 的悬浮提示
addInformation 对所有变体先追加一行 Helps while building(无颜色修饰),随后按 damage 值追加具体说明:
| Damage | 追加的提示内容 | 颜色 |
|---|---|---|
| 0–11 | Placeholder for a certain group. |
青色 + 粗体 |
| 12 | General placeholder. |
青色 + 粗体 |
| 13 | Make sure it contains Air material. |
青色 + 粗体 |
| 14 | Make sure it does not contain Air material. |
青色 + 粗体 |
| 15 | ERROR, what did u expect? |
蓝色 |
| 其他 | Damn son where did you get that!? + From outer space... I guess... |
第一行无色,第二行蓝色 |
最后两行是硬编码英文字符串,不是语言文件中的键,因此在非英文环境下也不会被翻译。