跳到正文
烈焰甘蔗Wiki

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... 第一行无色,第二行蓝色

最后两行是硬编码英文字符串,不是语言文件中的键,因此在非英文环境下也不会被翻译。

浏览全部模组