找回密码
 初始化身份识别芯片
查看: 1604|回复: 3

被很多人忽略的 tag_data.json 的实用知识与技巧

[复制链接]

势力巨擘

发表于 2025-2-3 21:48:40 | 显示全部楼层 |阅读模式
本帖最后由 常规型妹抖 于 2025-2-4 18:00 编辑

tag_data.json,这个文件在游戏本体位于 \starsector-core\data\config,在模组中位于 mods\XXXXXX\data\config
其功能很直白,为游戏程序中的 tag 在 [情报信息] 界面中赋予一个名称,实际功能上相当于一种外置本地化文件,并且可以设置排序、文字颜色、标签宽度等内容。
在原版游戏 (汉化) 的该文件中,你会发现一系列类似内容:
    "Colony threats":{
        "name":"殖民地威胁",
        #"color":[200,0,0,255],
        #"width":119,
        "putFirst":true,
        "sort":34,
    },
"Colony threats" 是游戏程序中的对应 tag;"name" 是在游戏内 [情报信息] 中对应内容显示的标签文字;"color" 是文字颜色,前面的注释用 # 符号使该项无效;"width" 是标签宽度;有 "putFirst" 这一项的会优先放在前面 (靠上靠左);"sort" 则是强制排序按数字从大到小排序,而非出现先后顺序。
图片.png
原版文件中有很多项的 "color" 被 # 无效化,删除 # 并保存后便能得到多彩情报 (不对),你也可以手动给想要更鲜艳的项目添加颜色。

然后是模组制作与汉化相关,理解以上内容就应该能明白,制作与汉化时不需要再将这些 tag 做成中文,还可以用该文件在显示上使其获得色彩——汉化前最好先检查一下这个模组有没有 tag_data.json 文件。
这里最大的意义是,一些模组在联动时会在功能上共用同一个tag,而不知情的汉化者把一个模组的 tag 改掉以后,联动模组就会显示多个重复标签,而非合并同类项。

例子之一就是 势力争霸,该模组的外置汉化文件 Nexerelin\data\strings\strings.json 中可以找到以下条目:
        "intelTagDebug":"调试",
        "intelTagStrategicAI":"战略AI",
        "intelTagPersonal":"人事",

而在修改头像、MagicLib成就等模组中,都调用了 "Personal" 这一 tag,导致游戏中同时显示 [Personal] 与 [人事] 两个标签。
运用 tag_data.json 的解决办法:
将 势力争霸 的 strings.json 文件中的对应条目修改为:
        "intelTagDebug":"Debug",
        "intelTagStrategicAI":"Strategic AI",
        "intelTagPersonal":"Personal",

在 Nexerelin\data\config 文件夹中新建 txt 文件并改名为 tag_data.json,其中输入以下内容并保存:

{
    "Debug":{
        "name":"调试",
    },
    "Strategic AI":{
        "name":"战略 AI",
    },
    "Personal":{
        "name":"人事",
    },
}
图片.png
成功实现 tag 项目合并

星域军阀

经理&准执柄者

学院教员

发表于 2025-2-3 21:57:56 | 显示全部楼层
非常好量产妹妹,这就去给我用不上的tag全整到一个trash合集里(

点评

这个是没戏的,必须一致的 tag 才能合并,这也是为啥我举的例子是改 Nex 的外置文件——这个好改,不像其他老外模组你得去改 jar 文件才行…… 一个 tag 是 "人事",一个 tag 是 "Personal",就算都在 tag_data.jso  详情 回复 发表于 2025-2-4 02:00

势力巨擘

 楼主| 发表于 2025-2-4 02:00:58 | 显示全部楼层
forrevenge 发表于 2025-2-3 21:57
非常好量产妹妹,这就去给我用不上的tag全整到一个trash合集里(

这个是没戏的,必须一致的 tag 才能合并,这也是为啥我举的例子是改 Nex 的外置文件——这个好改,不像其他老外模组你得去改 jar 文件才行……

一个 tag 是 "人事",一个 tag 是 "Personal",就算都在 tag_data.json 里设置显示为 "人事",游戏里也只会变成并排俩 "人事" 标签

势力巨擘

发表于 2025-2-4 11:01:23 | 显示全部楼层
而在修改头像、MagicLib成就等模组中,都调用了 "Personal" 这一 tag,导致游戏中同时显示 [Personal] 与 [人事] 两个标签。
运用 tag_data.json 的解决办法:
将 strings.json 文件中的对应条目修改为:
        "intelTagDebug":"Debug",
        "intelTagStrategicAI":"Strategic AI",
        "intelTagPersonal":"Personal",

这个personal的文本之前找了半天没找着在哪,用这法直接解决了,
将 strings.json 文件中的对应条目修改为

不过这句话我直接空指针了2分钟,才反应过来是改Nexerelin的strings不是改MagicLib的

本版积分规则

Archiver|手机版|小黑屋|远行星号中文论坛

GMT+8, 2025-12-6 07:47

Powered by Discuz! X3.5

© 2001-2077 Tencent Cloud | Durian Software Studio

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