Mod Sets 模组集
此项目主要受到 ThatOrThis 的启发。
这个模组可以用于 Fabric/~~Quilt~~在游戏内管理模组的加载。
并且对于整合包作者很有用。
Feature 特性
Usage 用法
规则文件需要是在 `config/modsets/rules` 中的 json 文件。
添加规则后通过 Mod Menu 进入配置界面查看。
Mod Set 模组集
模组集是在 `config/modsets/modsets.json` 中定义的字符串到模组id集合的映射。
特别的,`mods` 里的子文件夹名会作为包含其中模组的模组集,模组 id 会作为仅包含它自己的模组集。
需要注意,配置中定义的模组集会覆盖同名文件夹或模组id。
例子:
{
// `sodium` 将会指向这两个模组
// 如果禁用模组集,其中的模组在存在时不会被加载
"sodium": {
"text": "Sodium",
"description": "Performance: +++++",
"mods": [
"sodium",
"indium"
]
}
}
Rule 规则
每个规则都有一个 `text` 和 `description` 来显示你所需的信息。
以及一个 YACL 用户界面的控制器。
例子:
{
"text": {
"text": "My first rule set",
"bold": true,
"color": "green"
},
"description": "Awwww",
"rules": [
{
"text": "text",
"description": "tooltip",
"controller": {
"type": "type"
}
}
]
}
Controllers 控制器
Label
用于在屏幕上显示文本。
例子:
{
"text": "The label",
"description": "Text Text",
"controller": {
"type": "label"
}
}
Boolean
用于切换单个模组集开关。
例子:
{
"text": "The boolean",
"description": "Text Text",
"controller": {
"type": "boolean",
"mod": "sodium"
}
}
Cycling
在模组集列表里切换。
在有互相冲突的模组时,如 Sodium 和 Optifabric 很有用。或者用于切换整合包难度
例子:
{
"text": "The cycling",
"description": "Text Text",
"controller": {
"type": "cycling",
"mods": [
"sodium",
"optifabric"
]
}
}
Mods Group
为在模组集中的每一个模组分配一个简单的 Boolean 控制器
例子:
{
"text": "The mods group",
"description": "Text Text",
"controller": {
"type": "mods_group",
// Default is true
"collapsed": false,
"mods": [
"sodium",
"optifabric"
]
}
}
Rules Group
将规则分组,这样就可以折叠规则
例子:
{
"text": "The rules group",
"description": "Text Text",
"controller": {
"type": "rules_group",
// Default is true
"collapsed": true,
"rules": [
{
"text": "text",
"description": "tooltip",
"controller": {
"type": "label"
}
},
{
"text": "text",
"description": "tooltip",
"controller": {
"type": "boolean",
"mod": "sodium"
}
}
]
}
}
需要注意,每个 text 和 description 都是 Text Raw Json。
使用合适工具如 https://www.minecraftjson.com/ 可以生成