Render Tick Handler
基本信息
| 属性 | 值 |
|---|---|
| 类 | com.chaosthedude.naturescompass.client.RenderTickHandler |
| 注册方 | ClientProxy.registerEvents()(FMLCommonHandler.instance().bus().register()) |
| 事件 | RenderTickEvent(Phase.END) |
行为
每帧 END 阶段检查玩家是否手持 Nature’s Compass,结合 EnumCompassState 在 HUD 上叠加状态文字。
触发条件(必须全部满足)
event.phase == Phase.ENDmc.thePlayer != null!mc.gameSettings.hideGUI!mc.gameSettings.showDebugInfomc.currentScreen == null或(ConfigHandler.displayWithChatOpen且当前屏幕是GuiChat)
三种状态叠加
| 状态 | 显示文字(按行号顺序) | maxLineNum |
|---|---|---|
SEARCHING |
Status: <键> → Searching → 空 → Biome: <键> → 群系名 |
4 |
FOUND |
Status: <键> → Found → 空 → Biome: <键> → 群系名 → 空 → Coordinates: <键> → X, Z → 空 → Distance: <键> → 距离(米) |
10 |
NOT_FOUND |
Status: <键> → Not Found → 空 → Biome: <键> → 群系名 → 空 → Radius: <键> → SearchRadius(500 的倍数) |
7 |
文字颜色:标签 0xFFFFFF(白),值 0xAAAAAA(灰)。
数值
| 数值 | 默认值 |
|---|---|
| SEARCHING 最大行数 | 4 |
| FOUND 最大行数 | 10 |
| NOT_FOUND 最大行数 | 7 |
| 标签颜色 | 0xFFFFFF |
| 值颜色 | 0xAAAAAA |
限制
- 渲染行号来自硬编码
lineOffset序列号 +ConfigHandler.lineOffset。 maxLineNum用于底部对齐(BOTTOMLEFT/BOTTOMRIGHT时按maxLineNum * 9 + 28像素向上推)。
第三方 mod 集成
无;本类与 Minecraft.thePlayer.getHeldItem() 强耦合,未对其他 mod 的子类做反射/instanceof。
相关条目
- ConfigHandler - 读
displayWithChatOpen - EnumCompassState - 读
State - RenderUtils - 实际绘制调用
- Overlay Side - 控制落点