跳到正文
烈焰甘蔗Wiki

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、提示渲染系统、多方块构造机制。

浏览全部模组