星露谷物语吧 关注:495,691贴子:2,982,466
  • 7回复贴,共1

通过修改manifest文件解决部分CP美化mod覆盖问题

取消只看楼主收藏回复

新人发帖,起因是下载了Hesper(DustBeauty)大佬的工业风家具包(N网ID:5444)和工业风厨房与内饰(N网ID:5351)。


IP属地:福建1楼2022-05-31 12:15回复
    安装并打开游戏后,发现原本应当被替换成吧台的豪华树家具变回了树的样子。


    IP属地:福建2楼2022-05-31 12:17
    回复
      检查mod发现,两个mod对豪华树的美化并不一样。

      (家具包美化)

      (厨房与内饰美化,替换为吧台)
      经查阅WIKI等网站发现,造成这个现象的原因是Mod的加载顺序问题。SMAPI会根据一定的顺序加载Mod,对修改了同一位置的冲突Mod,加载顺序在后的Mod会覆盖顺序在前的,而家具包美化的加载顺序在厨房与内饰美化之后,因此出现吧台被覆盖的情况。


      IP属地:福建3楼2022-05-31 12:20
      回复
        因此,要解决这个问题,解决方案就是修改加载顺序,让希望使用的美化Mod在最后加载。
        对修改加载顺序,WIKI上给出了一个可行的解决方案:设置Dependencies(依赖项)。

        简而言之就是通过设置依赖项,把希望先加载的Mod设置成希望后加载Mod的前置Mod,SMAPI加载Mod时,会先加载前置Mod,从而实现修改加载顺序的目的。


        IP属地:福建4楼2022-05-31 12:22
        回复
          以下是详细方法(以之前两个美化Mod为例):
          打开希望后加载Mod的存储文件夹(此处我希望加载吧台,因此打开厨房与内饰美化)

          打开manifest.json(我使用Notepad+++来编辑,比较美观方便)

          可以看到作者已经设置了部分前置Mod,只需在Dependencies项继续添加即可
          选中任意一段前置Mod代码,复制粘贴(注意逗号)

          这段代码中UniqueID就是指向需要前置Mod的,需要去该Mod存储位置的manifest中查找(我这里就是家具包美化),如图阴影处所示


          复制粘贴到之前的代码中


          IP属地:福建5楼2022-05-31 12:35
          回复
            保存退出,打开游戏测试效果

            完成!


            IP属地:福建7楼2022-05-31 12:37
            回复
              注意:
              该方法使用时,游戏版本为1.5.6,SMAPI版本为3.14.6。
              使用该方法修改的补丁均为Content Patcher(CP)补丁,其他类型补丁暂未测试。
              如想了解更多,参阅英文WIKI界面: Modding:Modder Guide/APIs/Manifest - Stardew Valley Wiki


              IP属地:福建8楼2022-05-31 12:42
              收起回复
                另外,复制粘贴的代码中,有一段“IsRequired”,这部分是指前置Mod是不是必须的,如果设置成True,那么没有前置Mod,这个Mod也就不会加载。这里设置成False,只需要改变加载顺序即可。


                IP属地:福建来自Android客户端9楼2022-05-31 12:54
                回复