节点列表(aspectMenu)

打开节点列表界面的主热键,也是本 mod 唯一真正生效的按键。

基本信息

属性 值
字段名 KeyBindings.aspectMenu
语言键 key.aspectMenu
显示名(en_US) Node List
默认按键 I(Keyboard.KEY_I)
分类语言键 key.cat.tcnodetracker
分类显示名 TC Node Tracker
注册条件 无条件,客户端始终注册

定义于 src/main/java/com/dyonovan/tcnodetracker/bindings/KeyBindings.java:13-16, 注册于同文件 :23 的 ClientRegistry.registerKeyBinding(aspectMenu)。

功能

在 KeyInputEvent.onKeyInput(events/KeyInputEvent.java:16-25)中被轮询,同一次按键会做两件事:

  1. Minecraft.getMinecraft().displayGuiScreen(new GuiMain()) —— 打开节点列表界面。
  2. 若 Navigator 已加载,额外调用 ThaumcraftNodeButtonManager.instance.toggle() —— 在 Navigator 地图上切换 本 mod 的节点图层开关。详见 Navigator 地图图层整合。

注意:两个分支用同一个 KeyBindings.aspectMenu.isPressed() 判断。isPressed() 是每 tick 的边沿标志, 所以同一次按键触发两次调用是预期行为,不是 bug。

在其他界面中的行为

节点列表界面与屏幕指引箭头配置界面的 keyTyped 都把本热键当作「关闭界面」:

  • GuiMain.keyTyped(gui/GuiMain.java:193-197):i == KeyBindings.aspectMenu.getKeyCode() || i == 1
  • GuiConfig.keyTyped(gui/GuiConfig.java:204-208):同样的判断

因此在界面内按 I 或 Esc(i == 1)都会关闭当前界面。

相关条目