Mojang Studios于10月30日宣布,计划取消《我的世界》(Minecraft)Java版代码的“混淆”处理。此举有望使模组的开发、更新和调试变得更加容易。

作为沙盒游戏,《我的世界》根据不同平台分为两个版本:面向PC的“Java版”以及可在主机和智能手机上运行的“基岩版”。Java版如其名采用Java编程语言编写,而后发的基岩版则使用C++开发。
本次宣布取消的是Java版的代码混淆。混淆是指在游戏等软件开发中,故意将代码复杂化以增加程序分析难度的技术。其中具代表性的手法是名称混淆,通过将类名、函数名等标识符替换为短字符串,使其难以阅读。
引入混淆旨在防止代码被不当利用及应对作弊行为,但同时也给模组开发者进行更新和调试带来困难。《我的世界》虽采用了混淆技术,但模组开发者仍需解读这些经过混淆的代码。自2019年9月发布的快照19w36a起,官方开始向模组开发者提供“混淆映射表”,作为展示名称混淆对应关系的参考。然而,使用“混淆映射表”解除混淆需借助专用工具,且解读过程耗费资源。
据Mojang Studios透露,在下一个游戏更新“Mounts of Mayhem”正式发布后的快照中,类名和变量名等将使用未经混淆的原始名称。考虑到可能对专为混淆代码设计的现有工具造成影响,从下一个快照开始,除混淆版本外,还将试验性发布未经混淆的版本。
在长期开发的《我的世界》Java版中,模组社区扮演着重要角色,Mojang Studios亦曾表示模组正是本作的核心所在。此次变更有望推动未来模组开发更趋活跃与顺畅。



