ModSettingsMenu
Adds a unified in-game mod configuration screen to the main and pause menus.
模組介紹 作者原文
Note: This description is bilingual. The Chinese section is provided below the English section.
說明:本描述爲中英雙語版本,中文內容位於英文內容下方。
Mod Settings Menu (English)
Adds a Mod Settings button below Settings in the main menu and to the in-game pause menu, providing a unified configuration interface for mods.
Main Features
- Shows configurable mod names on the left and the selected mod's settings on the right.
- Lets mod authors optionally register a display name, description, author, version, ID, and package.
For Players
This mod does not change gameplay by itself. It provides a common settings screen for compatible mods.
Only loaded mods with at least one configuration entry appear in the list. The available settings depend on the mods you have installed.
Mod Author API
- Registration is optional. A loaded BepInEx IL2CPP plugin with normal Config.Bind entries is detected automatically.
- Use ModSettingsRegistry.Register only when you want to provide custom metadata or and links.
Optional hard dependency example:
using BepInEx;
using BepInEx.Configuration;
using BepInEx.Unity.IL2CPP;
using ModSettingsMenu.Api;
using UnityEngine;
[BepInPlugin(PluginInfo.PLUGIN_GUID, PluginInfo.PLUGIN_NAME, PluginInfo.PLUGIN_VERSION)]
[BepInDependency(ModSettingsMenu.PluginInfo.PLUGIN_GUID)]
public sealed class MyPlugin: BasePlugin
{
public override void Load()
{
Config.Bind("General", "Enabled", true, "Enable this mod.");
Config.Bind("General", "SpeedMultiplier", 1f, new ConfigDescription("Adjust the speed multiplier.", new AcceptableValueRange(0.1f, 5f)));
Config.Bind("Controls", "QuickAction", KeyCode.F7, "Choose the quick action key.");
ModSettingsRegistry.Register(
PluginInfo.PLUGIN_GUID,
new ModSettingsModOptions
{
Name = "My Mod",
Description = "A short description shown above this mod's settings.",
Author = "Author Name",
Version = PluginInfo.PLUGIN_VERSION,
NexusModsId = 6,
ThunderstoreTeam = "MyTeam",
ThunderstoreModName = "MyMod"
});
}
}
ThunderstoreTeam and ThunderstoreModName must be provided together and may only contain ASCII letters, numbers, and underscores. The example opens Do not pass a full URL.
When both links are registered, the metadata uses the compact format V1.0.0 · Author Name · · to help keep it on one line. and remain separate clickable links with hover underlines.
The menu chooses controls from the config entry type and acceptable values:
- bool: toggle
- UnityEngine.KeyCode: key binding button
- Numeric value with AcceptableValueRange: slider
- Enum or AcceptableValueList: dropdown
- Other supported serialized values: text field
Compatibility
- Game version: 1.0.1.0723.2253+
Installation
- Download and install BepInEx be.785 Unity (IL2CPP) for Windows (x64) games.
- Install Shift At Midnight Localization API.
- Extract this mod into the game's root folder. The archive already includes the BepInEx\plugins folder structure.
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 764884112@qq.com or ibox2333@gmail.com.
If you enjoy my mods, feel free to support me! / 如果你喜歡我的模組,請支持我一下吧!
Mod Settings Menu (中文)
在主菜單的“設置”下方和遊戲內暫停菜單中添加“模組設置”按鈕,爲模組提供統一的配置界面。
主要功能
- 左側顯示可配置的模組名稱,右側顯示當前選中模組的設置項。
- 模組作者可以選擇註冊顯示名稱、簡介、作者、版本、 ID 和 包信息。
給玩家
本模組不會自行修改遊戲玩法,只爲兼容的模組提供統一設置界面。
列表中只會顯示已經加載並且至少包含一個配置項的模組。實際可用設置由你安裝的其他模組決定。
模組作者 API
- 註冊不是必需的。已加載的 BepInEx IL2CPP 模組只要使用普通 Config.Bind 配置項,就會被自動識別。
- 只有需要自定義元數據或提供、 鏈接時,才需要調用 ModSettingsRegistry.Register。
可選硬依賴示例:
using BepInEx;
using BepInEx.Configuration;
using BepInEx.Unity.IL2CPP;
using ModSettingsMenu.Api;
using UnityEngine;
[BepInPlugin(PluginInfo.PLUGIN_GUID, PluginInfo.PLUGIN_NAME, PluginInfo.PLUGIN_VERSION)]
[BepInDependency(ModSettingsMenu.Plugin
安裝與使用 安裝:按包內說明操作
- 解壓本站下載的壓縮包,先讀包內的 readme / 說明檔案。
- 多數模組依賴遊戲的模組載入器:常見做法是用社群模組管理器(如 r2modman)選中本遊戲安裝,由管理器自動處理載入器與依賴。
- 手動安裝時,把模組檔案放進遊戲目錄下對應的 Mod / plugins 資料夾。
- 啟動遊戲確認載入成功;帶「前置依賴」的模組需要把依賴一併安裝。
不同模組的安裝位置差異較大,包內說明是最可靠的依據。
下面這些內容需要先安裝,否則該模組不會生效: