Mod设置标签加强版

Mod设置标签加强版

替换标准选项选项卡,增加了编辑已安装模组设置的功能。为模组制作者提供API。

用户界面

好的,作为模组详情编辑与翻译专家,我将把您提供的模组详情内容翻译成简体中文并整理为 Markdown 格式。


模组设置标签页

你安装了多少个模组?

安装了一个模组,但开发者预装的按键设置不适合你?

许多你安装的模组可能都有着未曾预料到的设置。

在模组设置标签页中,您可以在用户友好的环境中更改模组设置,并注意避免配置文件错误。

它还提供 API 供模组作者使用,允许你在不重启的情况下修改模组设置。

与流行模组的集成将在未来的更新中添加。

模组制作者信息:

你可以在维基上学习如何使用集成功能   Modder_Guide/APIs/Integrations

通过 API 获取设置变更的示例:

剧透: 显示

using ModSettingsTabApi.Framework.Interfaces;
using ModSettingsTabApi.Events;

public override void Entry(IModHelper helper)
{
    helper.Events.GameLoop.GameLaunched += (sender, args) => {
        var modSettingsTabApi = Helper.ModRegistry.GetApi<IModTabSettingsApi>("GilarF.ModSettingsTab");
        var modTab = modSettingsTabApi?.GetMod(ModManifest.UniqueID);
        if (modTab != null)
        {
            modTab.OptionsChanged += (o, eventArgs) =>
            {
                //在这里你可以访问更改后的参数,
                //在用户更改后,大约3秒后保存到您的 config.json 中
                //最简单的办法是重新读取设置
                YourModConfig = helper.ReadConfig<YourModConfig>();
                var oldValue = eventArgs["OptionName(JSON Path)"].oldValue;
                var newValue = eventArgs["OptionName(JSON Path)"].NewValue;
            };
        }
    };
}

你可以通过在你的模组根目录中添加 settingsTab.json 来覆盖类型并添加设置的描述(以及它们的本地化)。

为了便于理解设置,增加一个小功能。

在你的 settingsTab.json 的开头

"$ schema": "https://raw.githubusercontent.com/GilarF/SVM/develop/ModSettingsTab/schema.json",

注意:每个参数必须有一个与 JSON 路径匹配的名称

例如:

剧透: 显示

{
  "$schema": "https://raw.githubusercontent.com/GilarF/SVM/develop/ModSettingsTab/schema.json",
  "Description": {
    "en": "替换标准设置选项卡",
    "zh": "取代標准設定標籤",
    "fr": "替换标准设置标签页",
    "de": "替换选项卡默认设置",
    "hu": "切换至常规设置选项卡",
    "it": "替换标准设置选项卡",
    "ja": "標準設定タブを置き換えます",
    "ko": "替代标准设置标签页",
    "pt": "替换默认设置选项卡",
    "ru": "Заменяет стандартную вкладку настроек",
    "es": "替换标准设置选项卡",
    "tr": "切换标准设置选项卡",
    "th": "替换标准设置标签"
  },
  "Config": [
    {
      "Name": "ShowSavingNotify",
      "Description": {
        "en": "显示存档成功通知",
        "zh": "顯示成功的保存通知",
        "fr": "显示成功保存的提示",
        "de": "显示保存成功的通知",
        "hu": "显示成功的保存通知",
        "it": "显示成功保存通知",
        "ja": "成功した保存通知を表示する",
        "ko": "成功保存通知显示",
        "pt": "显示保存成功的通知",
        "ru": "显示保存成功的通知",
        "es": "显示保存成功通知",
        "tr": "显示成功保存通知",
        "th": "顯示保存成功的通知"
      },
      "Type": "复选框",
      "Label": {
        "en": "显示成功保存通知",
        "zh": "顯示成功的保存通知",
        "fr": "显示成功保存的通知",
        "de": "显示保存成功的通知",
        "hu": "显示成功的保存通知",
        "it": "显示保存成功的通知",
        "ja": "成功した保存通知を表示する",
        "ko": "显示成功保存提示",
        "pt": "显示保存成功的通知",
        "ru": "显示保存成功的通知",
        "es": "显示存档成功的通知",
        "tr": "显示成功保存的通知",
        "th": "显示保存成功的通知"
      }
    },
    {
      "Name": "ShowReloadIcon",
      "Description": {
        "en": "需要重启时显示一个图标。",
        "zh": "需要重啟時顯示圖標。",
        "fr": "当需要重启时,显示一个图标。",
        "de": "当需要重启时显示一个图标。",
        "hu": "显示需要重新启动时的图标。",
        "it": "当需要重新启动时显示一个图标。",
        "ja": "再起動が必要なときにアイコンを表示します。",
        "ko": "在需要重启时显示图标。",
        "pt": "当需要重启时显示一个图标。",
        "ru": "显示需要重启时的图标",
        "es": "需要重启时显示图标。",
        "tr": "当需要重新启动时显示一个图标。",
        "th": "在需要重启时显示图标"
      },
      "Type": "复选框",
      "Label": {
        "en": "显示需要重启时的图标。",
        "zh": "需要重啟時顯示圖標。",
        "fr": "Affiche une icône lorsqu'un redémarrage est nécessaire.",
        "de": "当需要重启时,显示一个图标。",
        "hu": "显示需要重启时的图标。",
        "it": "当需要重启时显示一个图标。",
        "ja": "再起動が必要なときにアイコンを表示します。",
        "ko": "需要重启时显示图标。",
        "pt": "当需要重启时显示一个图标。",
        "ru": "需要重启时显示图标",
        "es": "需要重启时显示一个图标。",
        "tr": "当需要重启时,显示一个图标。",
        "th": "必要时显示重启图标"
      }
    }
  ]
}

你可以跳过大部分选项和翻译。

当前可用的选项有:

剧透: 显示

下拉

当您想要提供几个选项(不超过七个)时推荐使用

剧透: 显示

// config.json

{
  "Options": {
    "名称": "数值"
  }
}

// settingsTab.json

{
  "Config": [
    {
      "Name": "选项.名称",
      "Description": {
        "en": "当需要重启时,显示一个图标。",
        "de": "当需要重启时显示一个图标。"
      },
      "Type": "下拉菜单",
      "Label": {
        "en": "某个标签"
      },
      "DropDownOptions": [ //<< 必须包含所有可能的值
        "值",
        "VALUE2"
      ]
    }
  ]
}

加减

如果您想提供多个选项供选择,建议使用此选项。

剧透: 显示

// config.json

{
  "Options": {
    "名称": "VALUE"
  }
}

// settingsTab.json

{
  "Config": [
    {
      "Name": "选项.名称",
      "Description": {
        "en": "当需要重启时显示一个图标。",
        "de": "当需要重新启动时,显示一个图标。"
      },
      "Type": "下拉菜单",
      "Label": {
        "en": "某个标签"
      },
      "PlusMinusOptions": [ //<< 必须包含所有可能的值
        "价值",
        "VALUE2"
      ]
    }
  ]
}

List

推荐当你有一系列值时使用

剧透: 显示

// config.json

{
  "Options": {
    "名称": ["值1","值2"]
  }
}

// settingsTab.json

{
  "Config": [
    {
      "Name": "选项.名称",
      "Description": {
        "en": "当需要重启时显示图标。",
        "de": "当需要重新启动时,显示一个图标。"
      },
      "Type": "List",
      "Label": {
        "en": "某个标签"
      }
    }
  ]
}

输入监听器

当你有一个类似于 SButton 的按钮时推荐使用

剧透: 显示

// config.json

{
  "Options": {
    "名称": "OemTilde"
  }
}

// settingsTab.json

{
  "Config": [
    {
      "Name": "选项.名称",
      "Description": {
        "en": "需要重启时显示图标。",
        "de": "当需要重新启动时显示一个图标。"
      },
      "Type": "输入监听器",
      "Label": "some label"
    }
  ]
}

滑块

Recommended when you have a numerical value in a certain range

剧透: 显示

// config.json

{
  "Options": {
    "VALUE": 5
  }
}

// settingsTab.json

{
  "Config": [
    {
      "Name": "选项.数值",
      "Description": {
        "en": "当需要重启时显示图标。",
        "de": "需要重启时显示图标。"
      },
      "Type": "滑块",
      "Label": {
        "en": "某个标签"
      },
      "SliderMaxValue": 100,
      "SliderMinValue": 0,
      "SliderStep": 1
    }
  ]
}

适用于大多数类型值

剧透: 显示

// config.json

{
  "Options": {
    "VALUE": 5
  }
}

// settingsTab.json

{
  "Config": [
    {
      "Name": "选项.值",
      "Description": {
        "en": "当需要重新启动时,显示一个图标。",
        "de": "当需要重新启动时,显示一个图标。"
      },
      "Type": "TextBox",
      "Label": {
        "en": "某个标签"
      },
      "TextBoxNumbersOnly": false,
      "TextBoxFloatOnly": false
    }
  ]
}

复选框

简单复选框

剧透: 显示

// config.json

{
  "Options": {
    "VALUE": true
  }
}

//设置选项卡.json

{
  "Config": [
    {
      "Name": "选项.值",
      "Description": {
        "en": "当需要重启时显示一个图标。",
        "de": "当需要重启时显示一个图标。"
      },
      "Type": "复选框",
      "Label": {
        "en": "某个标签"
      }
    }
  ]
}

源代码已在 GitHub 上提供