Minecraft Java版这周发布26.3 Snapshot 4,把游戏用了十几年的窗口管理库GLFW,换成了SDL3。这是Minecraft窗口层近年最大的一次底层迁移,不是加方块、调数值那种日常快照。

反常的地方在于:换库当天,官方自己就在更新说明里列出崩溃问题。Wayland下进入独占全屏——必崩。一边换更现代的库,一边先把部分平台的全屏功能弄崩了,这个反差才是这次更新最值得琢磨的地方。

发生了什么

  • 窗口、鼠标键盘输入、平台集成库.GLFW → SDL3
  • 快捷键判定方式变了.原来按键盘布局识别键码,现在按物理按键位置识别,也就是SDL scancode
  • 全屏默认模式换了.无边框全屏(Borderless Fullscreen)成为默认,切换全屏不用再重启游戏
  • 数据包版本升到111.0,资源包版本升到92.0,新增cooking_fuel、brewing_fuel两个数据组件,熔炉、烟熏炉、酿造台的燃料可以被数据包自定义了

另外这批快照里,告示牌文字的点击事件默认不再自动执行。这条和SDL3迁移没关系,是同一批快照里的另一项独立改动,别混着算账。

窗口/输入库:GLFW → SDL3 旧:GLFW 按键盘布局识别键码 独占全屏为主 沿用十余年,未做过这级别改动 新:SDL3 按物理按键位置识别(scancode) 无边框全屏为默认 切换全屏无需重启游戏

谁会受影响,该怎么办

普通玩家先别急:这是快照(Snapshot),可装可不装,不影响正式版存档。真正要留意的是多显示器用户、macOS用户和Linux/Wayland用户。

Snapshot 4 已知问题 · 按平台 Wayland 进入独占全屏必崩溃 Windows 多显示器下独占全屏,特定情况崩溃 macOS 独占全屏功能已直接移除,不再支持
对象已知风险建议动作
Windows多显示器用户独占全屏特定组合可能崩溃装快照前先切无边框全屏,或等正式版再装
Linux/Wayland用户进入独占全屏必崩全程用无边框全屏,独占全屏先别碰
macOS用户独占全屏被直接移除,不是bug是设计改用无边框全屏,不用等"修复"
模组/数据包作者战利品表、成就触发器部分字段格式变了,旧写法可能失效对照111.0/92.0变更逐项自查,别等玩家报bug才发现

我的判断

工欲善其事,必先利其器——这句老话放在这次迁移上挺贴切,但换刀的过程本身也可能割手。SDL3给Mojang换来的是趁手的新工具,前提是别在动手的时候先伤了自己人。

底层库统一的价值是长期的:一套输入和窗口逻辑,少两套平台专属代码分支要维护,Windows、macOS、Linux三端以后改起来更省心。但这个好处要等三条崩溃问题清零才真正兑现。现在只能说方向选对了,还没到"做对了"的时候。SDL3迁移不等于性能变好,也不等于游戏更稳,过渡期往往才是最不稳的阶段。

真正的分水岭不是这次快照,是SDL3迁移进正式版前,官方更新日志里这几条Known Issues还在不在。如果正式版发布时Wayland独占全屏还崩着,这次"统一底层"的说法就要打折扣——技术选型对不对,不看新闻稿,看下一版更新日志。

换库图的是十年之后不折腾,不是这一版就顺。眼下这笔账,先由多显示器、Wayland和macOS用户,以及要重新对接接口的模组作者垫着。