You are viewing a potentially older version of this package. View all versions.
Ice_Box_Studio_GK2-ModSettingsMenu-1.2.0 icon

ModSettingsMenu

Adds an in-game Mod Settings menu that displays configuration options without requiring mod registration. Supports background update checks through author-provided manifests, localization of mod settings, and optional custom metadata for mod authors.

Date uploaded a month ago
Version 1.2.0
Download link Ice_Box_Studio_GK2-ModSettingsMenu-1.2.0.zip
Downloads 254
Dependency string Ice_Box_Studio_GK2-ModSettingsMenu-1.2.0

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2305 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2305
Ice_Box_Studio_GK2-GK2LocalizationAPI-1.0.1 icon
Ice_Box_Studio_GK2-GK2LocalizationAPI

Graveyard Keeper 2 Localization API is a shared localization library for Graveyard Keeper 2 mods, making it easier for mod authors to add multilingual support to their mods.

Preferred version: 1.0.1

README

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 entries without requiring mod registration. Supports mod update checks, localization of mod configuration text, 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.
  • [Experimental] Customize the Mod Settings Menu font by selecting a system font under Mod Settings Menu > Appearance > Font.
  • Automatically checks installed mods in the background. When updates are available, the count appears above the main menu version information and affected mods are marked in gold in the mod list.
  • The optional Check Thunderstore Updates setting only controls automatic Thunderstore lookups for mods without an author-provided manifest. Author-provided update manifests are always checked and their results are always shown.
  • 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 self-managed text translations through the Graveyard Keeper 2 Localization API, including for mods that do not provide their own translations.

Config Text Localization

  1. Open Mod Settings in the game once. For each mod, a <mod GUID>.json file is created in BepInEx/config/ModSettingsMenu.Localization with entries for the current game language.
  2. Open the JSON file for the mod you want to translate. Edit the text values under the current language code, such as zh_cn or en. Keep the language codes and keys unchanged.
  3. 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.Bind entries is detected automatically.
  • Use ModSettingsRegistry.Register only when you want to provide custom metadata or Nexus Mods and Thunderstore links.
  • Updates are always checked when UpdateManifestUrl is set, regardless of platform settings.
  • Use ModSettingsTags.Section and ModSettingsTags.Entry in ConfigDescription for display metadata, ordering, and custom slider steps. Lower order values appear first; unspecified values use 1000.
  • 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].


If you enjoy my mods, feel free to support me! / 如果你喜欢我的模组,请支持我一下吧!

Ko-fi   爱发电

Mod Settings Menu (中文)

在游戏中添加模组配置菜单,无需向模组注册即可显示配置项,支持模组更新检查,模组配置项本地化和用于模组作者的可选自定义元数据。

主要功能

  • 左侧显示可配置的模组名称,右侧显示当前选中模组的设置项。
  • [实验性功能]自定义模组设置菜单字体,在“模组设置菜单 → 外观 → 字体”中可选择系统字体。
  • 后台自动检查已安装模组,有更新时在主菜单版本信息上方显示数量,并在模组列表中用金色标记。
  • 可关闭的 “检查 Thunderstore 更新” 配置项,只控制未配置作者清单时的 Thunderstore 自动查询。作者提供的更新清单始终检查并显示结果。
  • 自动显示已加载 BepInEx 模组的配置项,无需向模组设置菜单注册。
  • 模组作者可以选择注册显示名称、简介、作者、版本、Nexus Mods ID 和 Thunderstore 包信息。
  • 通过守墓人 2 本地化 API 支持自行翻译文本,未提供翻译的模组也可使用。

配置文本本地化

  1. 在游戏中打开一次模组设置。菜单会在 BepInEx/config/ModSettingsMenu.Localization 中为每个模组生成 <模组 GUID>.json,只包含游戏当前语言的文本。
  2. 打开想翻译的模组 JSON 文件,修改当前语言代码(如 zh_cn 或 en)下的文本值;不要修改语言代码和键名。
  3. 保存文件,关闭并重新打开模组设置。菜单会显示翻译后的模组名称、分类、配置项名称、说明和支持的选项文本。

生成的文本初始值为模组当前显示的文字,未翻译时也不会留空。切换游戏语言后重新打开菜单,会补入该语言及缺失项,保留已有译文。内置的开启/关闭文本和按键名称无需翻译。游戏不支持的语言可填写在 en 等已有游戏语言节,再在游戏中选择对应语言;这只替换模组配置文本,不会新增游戏语言。

模组作者 API

  • 注册不是必需的。已加载的 BepInEx 模组只要使用普通 Config.Bind 配置项,就会被自动识别。
  • 只有需要自定义元数据或提供 Nexus Mods、Thunderstore 链接时,才需要调用 ModSettingsRegistry.Register。
  • 如果设置 UpdateManifestUrl 会始终会检查更新,不受平台设置影响。
  • 在 ConfigDescription 中使用 ModSettingsTags.Section 和 ModSettingsTags.Entry 设置显示元数据、排序和自定义滑条步进。排序数值越小越靠前,未指定时使用 1000。
  • 参考例子模组:Graveyard Keeper 2 例子模组

兼容性

  • 游戏版本:1.007+

Bug 提交 & 新功能建议

如果你有任何问题或新功能建议,请通过 GitHub Issues 提交,也可以通过 Discord:iceboxcool,或邮箱 [email protected]、[email protected] 联系我。

CHANGELOG

v1.2.0

中文

  • 新增更新检查开关,检查无作者清单模组版本。作者提供的更新清单始终检查,不受开关影响;主菜单显示更新数量,模组列表标记有更新的模组。
  • 新增实验性功能,在配置中可自定义模组设置菜单的字体。
  • 超过五项的选择改用可滚动下拉框。
  • 更新本地化 API 最低依赖至 1.0.1,支持 ConfigurationManagerAttributes.DispName 配置名称兼容。
  • 增加独立补丁和配置行异常隔离;原生入口或控件不可用时提供备用入口和恢复界面,仍可编辑、保存和恢复默认。
  • 修复更新检查失败后的重试、匹配缓存和版本比较,以及元数据链接点击范围。
  • 修复缺少模组元数据时手柄焦点无法从配置区返回左侧模组列表的问题。

English

  • Added an update check toggle for mods without author-provided manifests. Author-provided manifests are always checked regardless of the toggle. The main menu shows the update count and the mod list marks mods with updates.
  • Added an experimental feature to customize the font of the mod settings menu.
  • Choices with more than five values now use a scrollable dropdown.
  • Raised the minimum Localization API dependency to 1.0.1 for ConfigurationManagerAttributes.DispName compatibility.
  • Isolated patch and setting-row failures. When native menu controls are unavailable, a fallback entry and recovery menu still allow editing, saving, and resetting settings.
  • Fixed retries after update-check failures, matching caches, version comparison, and metadata link hit areas.
  • Fixed controller focus being unable to return from the settings area to the mod list when mod metadata is absent.

v1.1.1

中文

  • 配置区域新增多语言搜索框,可按配置键名、分类、描述及已有翻译筛选配置项。
  • 新增手柄虚拟键盘,可编辑字符串和数字,支持大小写、空格、删除、清空、提交和取消。
  • 虚拟键盘在屏幕底部横向铺满,使用原生风格按键,支持 11 种语言和弹出、收起动画。
  • 改进手柄调值和焦点记忆;列表末项可向下进入“返回”或“恢复默认”,底栏支持左右选择。

English

  • Added a multilingual settings search that filters by config keys, categories, descriptions, and existing translations.
  • Added a controller virtual keyboard for text and numeric settings, with case switching, spaces, deletion, clearing, submission, and cancellation.
  • The keyboard spans the bottom of the screen with native-style keys, 11 languages, and opening and closing animations.
  • Improved controller value adjustment and focus memory. Moving down past the last list item reaches Back or Restore Defaults, with horizontal navigation between footer buttons.

v1.1.0

中文

  • 无范围数值改用滑条,右侧数字可直接编辑;改进主菜单按钮及设置界面布局。
  • 模组列表和配置选项区域新增滚动条。
  • 改进手柄调值、分栏焦点记忆和循环导航;支持确认编辑滑条数字、返回取消编辑,并恢复操作提示和数值调节音效。

English

  • Added sliders with editable numeric values for unrestricted numbers and improved menu layout.
  • Added scrollbars to the mod list and settings area.
  • Improved controller value adjustment, focus memory, and wraparound navigation. Confirm edits slider numbers, Back cancels editing, and control hints and slider sounds are restored.

v1.0.0

中文

  • 初始发布。

English

  • Initial release.