ModSettingsMenu
Adds an in-game Mod Settings menu that displays configuration options without requiring mod registration. Supports Nexus Mods update checks, localization of mod settings, and optional custom metadata for mod authors.Note: This description is bilingual. The Chinese section is provided below the English section.
说明:本描述为中英双语版本,中文内容位于英文内容下方。
Mod Settings Menu (English)
Adds an in-game Mod Settings menu that displays configuration options without requiring mod registration. Supports Nexus Mods update checks, localization of mod settings, and optional custom metadata for mod authors.
Main Features
- Shows configurable mod names on the left and the selected mod's settings on the right.
- Automatically displays configuration entries from loaded BepInEx mods without requiring registration with Mod Settings Menu.
- Lets mod authors optionally register a display name, description, author, version, Nexus Mods ID, and Thunderstore package.
- Supports author-provided HTTPS update manifests, with update status shown to the right of the mod metadata.
For Players
This mod does not change gameplay by itself. It provides a common settings screen for compatible mods. Loaded mods with at least one configuration entry appear in the list. Mod Settings Menu itself also appears with its metadata. The available settings depend on the mods you have installed.
Config Text Localization
- Open Mod Settings in the game once. For each mod, a
<mod GUID>.jsonfile is created inBepInEx/config/ModSettingsMenu.Localizationwith entries for the current game language. - Open the JSON file for the mod you want to translate. Edit the text values under the current language code, such as
zh_cnoren. Keep the language codes and keys unchanged. - Save the file, then close and reopen Mod Settings to load your changes. The translated mod name, categories, setting names, descriptions, and supported choice labels appear in the menu.
The generated values start with the mod's current displayed text, so they are usable before translation. Switching the game language and reopening the menu adds that language and any missing keys without overwriting existing translations. Built-in on/off text and key names are not translation entries. To use a language the game does not support, put its translation under en or another existing game language and select that language in the game; this changes mod setting text only.
Mod Author API
- Registration is optional. A loaded BepInEx plugin with normal
Config.Bindentries is detected automatically. - Use
ModSettingsRegistry.Registeronly when you want to provide custom metadata or Nexus Mods and Thunderstore links. - Set
UpdateManifestUrlto an HTTPS JSON version manifest to show update status in this Thunderstore edition. Update checks only report status and never download files. - This edition does not search Nexus by mod name or query registered Nexus IDs automatically.
- Use
ModSettingsTags.SectionandModSettingsTags.EntryinConfigDescriptionfor display metadata, ordering, and custom slider steps. Lower order values appear first; unspecified values use1000. - Example mods for reference: Graveyard Keeper 2 example mods
Compatibility
- Game Version: 1.007+
Bug Reports & Feature Suggestions
If you have any questions or feature suggestions, please submit them through GitHub Issues, contact me on Discord at iceboxcool, or email me at [email protected] or [email protected].
Mod Settings Menu (中文)
在游戏中添加模组配置菜单,无需向模组注册即可显示配置项,支持 Nexus 模组更新检查,模组配置项本地化和用于模组作者的可选自定义元数据。
主要功能
- 左侧显示可配置的模组名称,右侧显示当前选中模组的设置项。
- 自动显示已加载 BepInEx 模组的配置项,无需向模组设置菜单注册。
- 模组作者可以选择注册显示名称、简介、作者、版本、Nexus Mods ID 和 Thunderstore 包信息。
- 通过守墓人 2 本地化 API 支持自行翻译文本,未提供翻译的模组也可使用。
给玩家
本模组不会自行修改游戏玩法,只为兼容的模组提供统一设置界面。 列表中会显示已经加载并且至少包含一个配置项的模组。模组设置菜单自身也会显示模组信息。实际可用设置由你安装的其他模组决定。
配置文本本地化
- 在游戏中打开一次模组设置。菜单会在
BepInEx/config/ModSettingsMenu.Localization中为每个模组生成<模组 GUID>.json,只包含游戏当前语言的文本。 - 打开想翻译的模组 JSON 文件,修改当前语言代码(如
zh_cn或en)下的文本值;不要修改语言代码和键名。 - 保存文件,关闭并重新打开模组设置。菜单会显示翻译后的模组名称、分类、配置项名称、说明和支持的选项文本。
生成的文本初始值为模组当前显示的文字,未翻译时也不会留空。切换游戏语言后重新打开菜单,会补入该语言及缺失项,保留已有译文。内置的开启/关闭文本和按键名称无需翻译。游戏不支持的语言可填写在 en 等已有游戏语言节,再在游戏中选择对应语言;这只替换模组配置文本,不会新增游戏语言。
模组作者 API
- 注册不是必需的。已加载的 BepInEx 模组只要使用普通
Config.Bind配置项,就会被自动识别。 - 只有需要自定义元数据或提供 Nexus Mods、Thunderstore 链接时,才需要调用
ModSettingsRegistry.Register。 - 设置
UpdateManifestUrl为 HTTPS JSON 版本清单后,菜单会显示更新状态。更新检查只提示状态,不下载文件。 - 本版本不会按模组名称搜索 N 网,也不会自动查询注册的 Nexus ID。
- 在
ConfigDescription中使用ModSettingsTags.Section和ModSettingsTags.Entry设置显示元数据、排序和自定义滑条步进。排序数值越小越靠前,未指定时使用1000。 - 参考例子模组:Graveyard Keeper 2 例子模组
兼容性
- 游戏版本:1.007+
Bug 提交 & 新功能建议
如果你有任何问题或新功能建议,请通过 GitHub Issues 提交,也可以通过 Discord:iceboxcool,或邮箱 [email protected]、[email protected] 联系我。
