Open Exporter GUI(打开导出器界面)
[!INFO] RecEx 全部 21 个 Java 文件中只注册了这一个热键。
基本信息
| 属性 | 值 |
|---|---|
| 未本地化名 | Open Exporter GUI |
| 默认按键 | K(LWJGL Keyboard.KEY_K) |
| 分类 | Recipe Exporter |
| 注册代码 | com.bigbass.recex.KeyBindings:16-18 |
| 注册时机 | ClientProxy.init() → KeyBindings.getInstance()(客户端独有) |
| 可否重映射 | 可,Minecraft 选项 → 控制 → 键位设置 |
三参数构造 new KeyBinding(String description, int keyCode, String category) 的三个实参依次为 "Open Exporter GUI"、Keyboard.KEY_K、"Recipe Exporter"。
description 是字面英文字符串,不是语言键:src/main/resources/ 下没有任何 .lang / .properties 文件(仅 mcmod.info 与 gson/zip4j 的 LICENSE、NOTICE),所以它在控制列表里原样显示,不随语言切换。
功能
按下后在主屏幕打开 配方导出器 GUI:listeners/KeyInputEventHandler.onKeyInput 监听 InputEvent.KeyInputEvent,命中后执行 Minecraft.getMinecraft().displayGuiScreen(guiInstance)。
guiInstance 是 KeyInputEventHandler 构造时创建的单个 GuiMain 实例,全程复用同一个对象,不每次按键新建。
本热键仅在客户端存在。CommonProxy.init() 是空实现,ServerProxy 未覆写 init(),因此专用服务端不会注册它——服务端也没有 GUI 可开,详见 仅客户端模组。
权限
无。代码中没有任何 canPlayerEdit / 权限等级判定;导出内容只读取本地已加载世界的合成注册表,不改写世界数据,也不需要 OP。相关机制见 配方导出流程。