TeaCon 茶后谈第 391 期
几乎所有 Minecraft 玩家都十分熟悉包括但不限于合成表等「配方」(Recipe)的概念;然而,这套机制的技术实现其实产生过多轮迭代。在 Minecraft 1.12 之前,所有原版配方都写死在代码里,而早期流行的 Risugami ModLoader 并没有做任何修改,这之后的 FML(后合并入 Forge)也只是简单包装了一下原版的代码。因此,模组开发者们通常也不得不编写 Java 代码将配方「硬编码」在模组中,而额外添加的其他种类的配方,则需要自行编程实现。一开始这可能不是什么问题,但当「魔改整合包」的数量与日俱增,玩家开始追求客制化的游戏内容时,模组开发者为了允许玩家修改其他种类的配方,往往需要自行设计修改手段,并编写复杂的文档,从而为魔改带来了不少麻烦。这一现象一直持续到 Minecraft 1.13 才得到较大缓解——从这一版本起,「数据包」(Datapack)的正式引入,使得玩家只需要编辑 JSON 文件就能调整各种配方。同时,模组开发者也可以通过数据包读取自定义配方类型。数据包大大简化了整合包的深度定制,极大地解放了模组社区的创造力。【本期编辑:NoName德里奇,ustc_zzzz】