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.END
  • mc.thePlayer != null
  • !mc.gameSettings.hideGUI
  • !mc.gameSettings.showDebugInfo
  • mc.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。

相关条目