• 欢迎加入MineBBS QQ讨论群:点击查看所有的官方讨论群
  • 我们将于近期对服务器进行迁移,服务可能中断至多2日。请各位安排好自己的访问计划,造成不便敬请谅解!
  • MineBBS入站考试已经上线!想要成为【正式会员】解锁更多功能吗?快来参与吧!【点我去看】

周边信息 针对Mojang去除混淆,Fabric官方作出以下指示

与Minecraft并无强正相关,但仍然与Mojang等与Minecraft有关的组织、实体、个人与项目的内容,包括但不限于Mojang人事变动、抽奖信息、周边产品等。
[MD] # 从Fabric移除混淆 [原帖](https://fabricmc.net/2025/10/31/obfuscation.html)发布时间:2025-10-31 译者:teddyxlandlee | 原文及译文均以 [CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/) 协议发布 原标题:Removing Obfuscation from Fabric --------------------------- Mojang最新发了个[帖子](https://www.minecraft.net/en-us/article/removing-obfuscation-in-java-edition),宣布今年从《群骑纷争》正式版的下一个快照起,Java版将移除混淆。从11月5日的快照起,会同步发布附加的“实验性”版本,这给了我们准备和迁移的时间。 模组圈将迎来大变。本帖将尝试给出一个纲要,指导Fabric工具链的变化,以及其对Fabric模组开发者的影响。 ## 啥是混淆? 即游戏代码中原本的类名、方法名、字段名等被隐藏,并用无意义的字母序列替代,这些字母序列通常在版本之间会变化。举个例子,用于苦力怕的类可能从`Creeper`变成了像`brc`这样的东西。 自从Minecraft正式版依赖,Mojang就是这么干的。这意味着一直以来,人们如果想修改游戏,就需要弄明白每段代码是干什么的,并使用工具把代码翻译成人类可读的名字。 ### 之前我们是怎么应对混淆的? Fabric有两个项目:Intermediary和Yarn。Intermediary从混淆的名称出发,给它们分配在版本之间稳定不变的编号——所以`brc`可能对应`class_1548`。Yarn就把这些编号翻译成人类可读的名字——所以`class_1548`可能被翻译成`CreeperEntity`。Yarn中的名字由Fabric社区贡献者通过分析代码创建并确定。(如果你发现代码中还有Intermediary编号,那么它们还没翻译!) 从2019年起,尽管游戏本身还是混淆的,Mojang同步发布了他们自己的官方映射表,人称“Mojmap”,其中的符号名就是他们开发Minecraft时使用的名字。这些符号名和Yarn中的不同,有些Mod开发者开始使用Mojmap,有些仍偏好使用Yarn。Fabric的工具链同时支持两种映射。 ### 移除混淆意味着什么? 现在,原版代码中的名字将与Mojang自2019年以来发布的映射名相一致。此外,Mod开发者将可以知道Mojang开发者使用的方法参数名和局部变量名,这些在Mojmap里是没有的。 然而,Fabric工具链本为名称映射而设计,当映射不复存在,我们需要花大力气作出改变。 ## Fabric要怎么变? 我们计划更新我们的工具链,但工作量很大,需要花些工夫。 ### Fabric API的未来 Fabric API**不会**因此迎来破坏性大改,你喜欢的API亦将如常。但API的名字及其涉及的方法名、javadoc会更改,以准确反映Mojang官方使用的名称(Mojname)。 第一阶段(译注:1.21.11——如果Mojang不把版本号跳到1.22的话),我们将在不破坏API的前提下,把Fabric API迁移到Mojname。这会很快搞定,毕竟这对Mod开发者和玩家不会有影响。 当第一个完全不混淆的版本(译注:1.21.11**之后**的快照)发布,我们将把API中使用的名称改成Mojname下对应的名字。 ### Loom 新版本的Loom已开始开发。初始的目标,是让Mod开发者能够用新的实验性版本进行测试,这会在Loom 1.13完成。 长期来看,我们准备开发一个全新的、更模块化的Loom。Loom 2.0将提供一个最小化版本,该版本将不支持映射表。这会花些时间,我们刚新建完文件夹,还在设计中,请少安毋躁。 新版本Loom对Minecraft旧版本模组开发的支持绝不会移除,毕竟我们自始至终都是兼容Minecraft旧版本的,我们也希望继续这么做下去。我们也理解,不是所有人都想用新的Mojname,我们将给这些想用自己的符号名的用户提供一个重映射(remapping)方案。 ### Yarn的未来 ![省流:没有未来(悲)](https://fabricmc.net/assets/rip_yarn.png) 我们Fabric社区衷心感谢261位Yarn贡献者维护了9年2个月零17天的的`Identifier`之荣耀。你们的贡献一直、永远被铭记。 坏消息是,在当前的情况下,我们没有理由继续在新版本更新Yarn了。 Minecraft旧版本的Yarn将继续欢迎贡献。 如果你是个用Yarn映射表的Mod开发者,你很有可能需要迁移到Mojname。详见下文的“对于Mod开发者”部分。 ## 我要做些什么? ### 对于玩家 你不需要做什么!这主要影响的是Mod开发者。我们将尽可能保持和所有已知启动器的兼容性。 好消息是,这也意味着当一切尘埃落定,Fabric API之类的东西将会更新得更快,崩溃日志也会更容易看懂了。好耶! 我们一如既往地希望玩家们保持耐心,给Mod开发者一点时间去更新。我们衷心希望大家不要去轰炸他们。我们也建议所有玩家在更新世界前进行备份。 ### 对于Mod开发者 这将是次大改,特别对于使用Yarn映射的开发者。现在还没法立刻更新你的Mod,但你可能希望做好准备。在《群骑纷争》(1.21.11)正式版**及以前**不会有什么变化。 我们建议新开发的Mod都使用官方映射表,这样在未来升级会更容易。 如果你的Mod还在用Yarn,不用担心!Loom有自动化的工具,能帮你重映射你的代码。我们正在积极寻找办法来改进这个工具,并在未来提供一些资源来帮助你。 升级后,你将受益于更简单、更快速的工具链,更易懂的日志、崩溃报告,以及新的调试方案。 ## 省流:有啥影响 ### 玩家 - 耐心等待Mod更新 - 崩溃报告更易懂 ### Modders - 别担心!甭着急 - Yarn用户基本上都要迁移到Mojname - 你的构建脚本可能要改改 - 生产环境的崩溃日志将更容易调试 - 再见Intermediary!游戏运行时将使用Mojname [/MD]
 
内容版权许可
CC BY-NC-SA 署名-非商业性使用-相同方式共享
原帖地址
https://fabricmc.net/2025/10/31/obfuscation.html
  • 喜欢
反馈: YYT
将是后面新版本腐竹的福音,能看得懂更多的错误了,这将是新时代
 

在线会员

  • DJRsiri
  • Mian_Xing
  • Al2SO43-硫酸铝
后退
顶部 底部