请选择 进入手机版 | 继续访问电脑版

星界边境中文论坛-StarboundForum

查看: 4242|回复: 0

[MOD教程] MOD优先级

[复制链接]
  • TA的每日心情
    难过
    10 小时前
  • 签到天数: 1518 天

    连续签到: 23 天

    [LV.Master]劳模

    237

    主题

    2046

    帖子

    1万

    积分

    超级版主

    【数据删除】

    Rank: 16Rank: 16Rank: 16Rank: 16

    积分
    13289

    突出贡献荣誉管理劳模附体

    发表于 2016-7-30 23:15:19 | 显示全部楼层 |阅读模式
    本帖最后由 印斯茅斯:温馨 于 2016-9-13 10:36 编辑

    mod优先级决定了mod加载顺序。这也意味着同一个文件如果被多次修改会是最后一个有效,后来者居上。
    汉化mod会与其他mod冲突大都因为这个。

    现有mod加载顺序最直观的表现就是mod管理器。从上到下依次加载。

    那么具体是什么决定的?


    mod的metadata文件有一项"priority" 属性,即mod的优先级,若不填写该项默认优先级为0;
    数字越小的优先级越高越先加载,在mod管理器排序靠前——sb的基础assest包的优先级为-1(不知从1.0.4还是1.0.5开始改成-9999了),排最上;user文件夹则是一个超大的数,排最下。
    显然地,所有优先级设置不应该小于-1(1.1时代了,-9999是极限),比基础包还先加载是什么鬼……

    那么,优先级设定一样的如何处理?

    首先根据包所在文件夹排序,排序依据在你启动的sb程序所在的文件夹(win32/win64之类)里的sbinit.config文件中,里面有"assetDirectories"这么个属性。文件夹就依照这里写的顺序排列。依次为——assest->mod。另外还有steam workshop(workshop不太确定,似乎是这样)它加载在mod之后。所以总共就是assest->mod->steam workshop
    (注:另据传言称只会搜索一层文件夹,意思是假如你在D:\1\2下面放了几个mod而只填了D:\1,会搜索不到那些mod)
    即:若两包优先级相同,所在文件夹排序靠前的,优先加载,在mod管理器排序靠前

    如果再相同,则比较包名进行排序。不过wokshop不一样,它比较的是mod的ID——也就是Steam\steamapps\workshop\content\211820文件夹里各个mod文件夹的名字。(211820指的是sb)


    这意味着,一个存放在mod文件夹的包,填写优先级为-1  -9999可以保证在sb基础包之后加载而高于其它包。
    一般来说,汉化这种基础类包优先级填-1  -9999比较好,避免加载冲突

    而其他的功能包一般不应填-1  -9999,以免影响到汉化之类的基础包。可以不填(即0)或选填一个合适的整数,

    SEO:Starbound sb













    We Secure. We Contain. We Protect. And We Never Forget.
    我的心属于你,可你什么时候才能空出属于我的位置……能早一点么……
    也许,那时侯我就已经失去了最后的机会了吧您配么?
    0 0.5 0.7 i 2i -10 0.6 0.8 0.9 10i -10 -100/1 我的你,你的我
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    小黑屋|星界边境中文论坛-StarboundForum  

    GMT+8, 2019-6-16 20:42 , Processed in 0.078797 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表