退出游戏(quit)

基本信息

属性 值
type 值 quit(大小写不敏感)
实现类 lumien.custommainmenu.lib.actions.ActionQuit
参数 无
分发点 GuiConfig.getWantedAction(GuiConfig.java:405-407)

核心差异

8 个动作里最短的一个:整个 perform 方法体只有一行 menu.mc.shutdown()(ActionQuit.java:12-14)。没有确认框、没有保存检查、没有音效覆盖——ActionQuit 甚至没有字段。

与原版退出的差异

本动作 原版 GuiMainMenu 退出按钮
实现 Minecraft.shutdown() Minecraft.shutdown()
二次确认 无 无
退格键退出 GuiCustom.keyTyped 里 ESC 才 displayGuiScreen(null)(GuiCustom.java:76-80) 原版支持退格键退出

⚠️ 也就是说在自定义界面上退格键不再退出游戏:GuiCustom.keyTyped 覆盖了 keyTyped,只处理 keyCode == 1(ESC)返回 null 界面,没有原版 GuiMainMenu.keyTyped 里的"退格退出"分支。

关闭流程

Minecraft.shutdown() 走标准流程:保存 gameSettings、关流、停模组。若此时正在播放全景图/背景线程(贴图来源 的 LoadTextureURL/LoadStringURL 守护线程),它们是 daemon 线程,不阻塞退出。

使用场景

自定义主菜单的"退出游戏"按钮。仓库默认配置 mainmenu.json 的 quit 按钮用的就是它(posX: 2, posY: 132,靠 bottom_center 之外的绝对偏移)。

相关条目