Hint Block(提示方块)
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | structurelib:blockhint |
| 方块类 | com.gtnewhorizon.structurelib.block.BlockHint |
| 物品类 | com.gtnewhorizon.structurelib.item.ItemBlockHint |
| 材质 | Iron(铁) |
| 硬度 | 未调用 setHardness(),沿用 1.7.10 原版 Block 默认值 |
| 创意模式标签 | StructureLib(物品形式为 Blocks 标签页) |
注册调用为 GameRegistry.registerBlock(blockHint = new BlockHint(), ItemBlockHint.class, "blockhint"),注册名取自字符串字面量 blockhint,不是目录名。
功能
Hint Block(提示方块)是 StructureLib 的标志性方块,用于在多方块结构建造过程中标记结构要求。它根据 metadata 值渲染 16 种不同的图标,每种代表一种不同的结构提示类型。
该方块本身没有游戏性逻辑——纯视觉辅助。其真实用途是作为图标来源:StructureLibAPI.getBlockHint() 返回该方块,StructureUtility 在生成提示时以 hintParticle(world, x, y, z, 结构库的提示方块, meta) 的形式取用它的图标纹理。玩家实际看到的全息提示是渲染出来的粒子/立方体线框,而不是真的放置了 Hint Block。
Metadata 状态(0–15)
| Meta | 图标 | 描述 | 方块显示名 |
|---|---|---|---|
| 0–11 | HINT_0 到 HINT_11 |
编号占位符,对应特定方块组 | Hint 1 dot … Hint 12 dots |
| 12 | HINT_DEFAULT |
通用占位符(任意方块类型) | Hint general |
| 13 | HINT_AIR |
必须包含 Air(空气/空)的占位符 | Hint air |
| 14 | HINT_NOAIR |
必须不包含 Air 的占位符 | Hint no air |
| 15 | HINT_ERROR |
错误指示器 | Hint error |
编号提示(0–11)的顶面和底面渲染 HINT_AIR(meta 13),侧面渲染编号图标;该行为在 getIcon(int aSide, int aMeta) 中以 aSide <= 1 && aMeta <= 11 判定。
物品提示
方块自身的未本地化名称为 tile.structurelib.blockhint,物品形式会在其后追加 damage 值,因此 16 个变体的语言键分别是 tile.structurelib.blockhint.0.name 到 tile.structurelib.blockhint.15.name。
ItemBlockHint 为每个 metadata 添加上下文提示,所有变体第一行固定追加 Helps while building:
- 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...
注册与创造标签
方块与物品在同一次 registerBlock 调用中一并注册,setHasSubtypes(true) 由物品类设置。BlockHint.getSubBlocks 向创造标签输出 0–15 共 16 个变体,物品类使用原版 CreativeTabs.tabBlock,方块使用本 mod 自建的 structurelib 标签页。
相关条目:Block Hint、提示渲染系统、多方块构造机制。