节点列表(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)中被轮询,同一次按键会做两件事:
Minecraft.getMinecraft().displayGuiScreen(new GuiMain())—— 打开节点列表界面。- 若 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 == 1GuiConfig.keyTyped(gui/GuiConfig.java:204-208):同样的判断
因此在界面内按 I 或 Esc(i == 1)都会关闭当前界面。