本篇教程由作者设定未经允许禁止转载。

  1. 前言:

    因minecraft从1.13版本开始加入数据包这一概念,同时模组的配置文件加载相比于1.12版本更为复杂,故对一些基本的游戏资源文件架构进行简述,以方便大家理解个人整合包及更新包的更新操作步骤。


  2. 游戏资源文件架构:

    2.1 首先要知道版本隔离非版本隔离,游戏资源存放的路径是完全不同的。

    所谓非版本隔离,古早时代,很多国内教育版整合包都是直接模组文件、配置连带minecraft原版文件一起打包,于是就出现,打开文件夹,首先看到的是启动器,旁边是".minecraft"文件夹,打开".minecraft"文件夹后,看到里面有“config”“defaultconfigs”等模组配置存放点。

    版本隔离是在上述".minecraft"文件夹内,能看到“versions”文件夹,点进去里面有单独的整合包版本,里面还会有“config”“defaultconfigs”等模组配置存放点。

    所以我的更新包,每次都会在文档说明内写清楚:

    如是版本隔离安装此整合包的,游戏资源路径为“.minecraft\versions\Chapter of Yuusha”;如非版本隔离安装的,则为“.minecraft”。

    2.2 模组配置文件分“config”和“defaultconfigs”。

    “config”内大部分配置文件是实时同步的,每次加载游戏,都会从“config”内读取改动的配置内容,该部分相对整合包更新而言相对简单,只要直接覆盖就能更新成功。

    但是“defaultconfigs”内配置文件,只会在你建立存档时,将里面配置文件,复制一份到“saves\你的世界名称\serverconfig”文件夹内,所以如果你整合包更新了,但是存档内部单独的配置文件不更新,就会导致部分数据对不上。

    所以我的更新包,如果有对“defaultconfigs”内文件有改动,都会在更新文档内说明:

    如已有存档,则还需额外将游戏资源路径内“defaultconfigs”文件夹内的所有文件(如***.toml等),复制并粘贴到游戏资源路径内“saves\你的存档名称\serverconfig”内的同名文件。

    2.3 关于数据包的加载顺序问题:

    原本数据包的存放地点应该是在“saves\你的存档名称\datapacks”文件夹内,所以即使是原版无mod,也能顺利加载数据包,但这也导致一个问题,数据包每次都跟存档,你新建存档后,必须手动放置数据包才能加载,这样整合包又该如何存放并每次新建存档时自动加载呢?

    于是就出现了openloader等从外部加载数据包的模组,以openloader为例,该模组加载的路径位于游戏资源路径(详见上述2.1条)内的“openloader”文件夹,其内部的“data”文件夹存放数据包,而“resources”文件夹存放材质包,这样只要安装openloader模组,就会自动加载数据包和材质包。

    本来每次更新其实只要覆盖“openloader”文件夹即可,openloader(简述为A)就会自动加载数据包,但是如果你存在一个旧存档,然后这次更新还额外加了新的模组(简述为B),相对于这个旧存档,因为A加载在B之前,如果你对A修改,会导致先加载的A无法对B造成影响,就会魔改失败。

    所以针对旧存档的更新(新建存档的话,openloader会最后加载,所以没有上述问题),如果涉及到数据包加载顺序问题,都会在更新文档内说明:

    必须按以下步骤刷新openloader数据包加载顺序,否则会出现异常。将“openloader\data”内的“chapter_of_yuusha”这个文件夹剪切到“saves\你的游戏存档名\datapacks”内,加载一次存档后,也不用关游戏,然后可以把上述文件夹恢复原位。


  3. 后话:之所以想对文件架构说明,一方面是希望玩家就算一个旧存档,也能一直更新到最新版本游玩,另一方面是给更多初学的魔改作者进行解释,尤其是上述2.3条的情况,相信有魔改作者如果一直用同一个存档进行测试,会发现新加模组后,用openloader数据包魔改会失败,上面仅是个人提供的一个可解决的方案。