Hacker News 中文摘要

RSS订阅

Minecraft: Java版现已使用SDL3 -- Minecraft: Java Edition now uses SDL3

文章摘要

Minecraft 26.3快照4发布,将窗口管理库从GLFW切换为SDL3,新增自定义熔炉燃料组件,并对告示牌、世界生成和战利品表进行技术调整。旁观模式玩家现可传送,犰狳在水中不再卷曲。

文章总结

好的,这是根据您的要求,对文章主要内容进行的中文重述,保留了关键细节,并删减了与主题无关的冗长技术列表。


Minecraft 26.3 快照 4 发布说明

本次快照的发布日有些特殊,因为正值瑞典的旅游旺季,所以未能按常规时间发布。

核心变化: * 窗口与输入系统升级:游戏用于窗口管理、输入和平台集成的底层库已从 GLFW 切换为 SDL3。这带来了多项改进,包括: * 移除了“原始输入”鼠标设置,游戏内鼠标输入将始终使用相对模式。 * 按键绑定现在基于物理按键位置,而非键盘布局,解决了非QWERTY键盘用户的键位错乱问题。 * 无边框全屏现为默认模式,且切换全屏模式无需重启游戏。 * macOS 不再支持独占全屏模式。 * 窗口最小尺寸调整为 320x240 像素。 * Linux 系统将优先原生使用 Wayland 显示协议。 * 新物品组件:新增了用于自定义熔炉燃料的 cooking_fuel 组件,以及用于酿造台的 brewing_fuel 组件。这意味着可以通过数据包自定义燃料的燃烧时间和速度。 * 旁观模式传送:旁观模式的玩家现在可以右键点击传送门(下界传送门、末地传送门等)进行传送。 * 犰狳行为调整:犰狳在浸入液体时不再尝试蜷缩成球。 * 创造模式物品栏整理:重新整理了矿物和方块,将非层级材料排在前面,层级材料排在后面。自然方块标签页的排序也进行了优化,使其与其它标签页保持一致。

技术性变更(数据包版本 111.0,资源包版本 92.0): * 战利品表系统重构:大量字段现在支持直接引用命名空间ID、标签ID或内联值,使得数据包编写更加灵活。例如,战利品表的 rollsbonus_rolls 字段现在可以接受数字提供器。 * 环境属性:新增了 natural_mob_spawnscreature_world_gen_spawn_probability 环境属性,用于更精细地控制生物生成。 * 数据组件:新增了 sign_text_frontsign_text_backwaxedvillager_foodmob_visibility 等多个数据组件,为物品和方块提供了更丰富的自定义能力。 * 告示牌改动:告示牌上的文本默认不再执行点击事件命令。新增 allow_op_features 字段以恢复旧行为。编辑告示牌屏幕的打开规则也发生了变化。 * 世界生成:移除了 nether_forest_vegetationtwisting_vinesweeping_vines 三种地物类型。噪声设置中的 final_density 不再隐式添加“胡须”密度函数。含水层和矿脉的配置方式也进行了重构。 * 密度函数:新增了 sub(减法)、div(除法)、negate(取反)、lerp(线性插值)、floorroundceiltruncate(取整)和 beardifier(结构埋藏密度)等函数,并对现有函数的参数名进行了统一重命名。 * 配方:烟熏炉和高炉的配方现在使用与熔炉相同的烹饪时间,速度提升通过燃料的 speed_multiplier 组件实现。

修复的漏洞(部分列举): * 修复了旁观模式无法使用传送门的问题。 * 修复了 /spreadplayers 命令会将玩家传送到告示牌、海草等无效方块上的问题。 * 修复了非QWERTY键盘用户的键位绑定问题。 * 修复了 macOS 上按住 Shift 键时无法滚动的问题。 * 修复了游戏窗口没有最小尺寸限制的问题。 * 修复了多个与“改进透明度”选项相关的渲染问题。 * 修复了多个与文本、翻译相关的错误。

如何获取快照: 在 Minecraft Launcher 的“安装”选项卡中启用快照即可下载。请注意,测试版本可能损坏存档,请务必备份。

评论总结

根据评论内容,主要观点和论据如下:

1. 技术迁移的潜在风险
- 评论1指出,SDL3在Windows独占全屏模式和Wayland下存在崩溃问题,可能影响发布稳定性。
- 关键引用:
- "Exclusive fullscreen mode on Windows may cause the game to crash... Entering Exclusive fullscreen mode crashes the game on Wayland"
- "Those... seem like the kind of blocking bug that would usually delay a snapshot"

2. SDL3的性能优势
- 评论2以《osu!》为例,说明SDL3切换后显著提升了性能并消除了Discord导致的延迟。
- 关键引用:
- "switching to SDL3 eliminated lag from having Discord client open while playing osu"
- "significant performance/latency improvements"

3. 对迁移必要性的质疑
- 评论3认为Minecraft仅使用窗口、输入和平台集成功能,SDL3的完整软件渲染器等功能未被充分利用。
- 关键引用:
- "I kind of don't see the benefit, as it's still going to use only the window, input and platform integrations features"

4. 对跨平台兼容性的担忧
- 评论7怀疑此次迁移可能被用作减少跨平台支持的借口。
- 关键引用:
- "check if they're using this transition as an excuse to make the game less cross platform"

5. 其他技术讨论
- 评论5称赞SDL3的API设计优秀。
- 评论6询问从GLFW迁移到SDL3的决策依据。
- 评论8调侃了犰狳在液体中不再卷曲的更新细节。
- 评论9感叹Minecraft正逐渐演变为独立的游戏引擎。

平衡性总结
评论对SDL3迁移持混合态度:部分用户担忧稳定性与跨平台问题,另一些则认可其性能提升和API设计。技术细节(如崩溃问题、性能改进)和潜在动机(如跨平台支持)是讨论焦点。