MageConfigurationAPI
An API that implements a settings menu to change BepInEx Configs.
About this mod Author’s original text
MageConfigurationAPI
This BepInEx mod provides a centralized configuration system for Mage Arena mods, allowing all registered BepInEx configurations to appear in the game's settings menu automatically.
Features
- Automatic UI Integration: Registered configurations appear in-game without additional GUI work
- Mod Configuration Access: Safely access configurations from other mods
- Change Notification: Subscribe to events when configurations change
- Type-Safe Access: Get configuration values with proper type handling
- BepInEx Config Description Tags: Settings GUI will automatically check BepInEx Config Description Tag validation
Installation
- Prerequisites:
- Mage Arena with BepInEx 5.4.21
- Installation:
MageArena/
└── BepInEx/
└── plugins/
├── MageConfigurationAPI.dll
Usage for Mod Developers
Basic Configuration Registration
using BepInEx;
using BepInEx.Configuration;
using MageConfigurationAPI.Data;
[BepInPlugin(PluginGuid, PluginName, PluginVersion)]
public class YourPlugin: BaseUnityPlugin
{
private const string PluginGuid = "your.mod.guid";
private ConfigEntry ExampleSetting;
private void Awake()
{
// Create standard BepInEx config entry
ExampleSetting = Config.Bind(
"Section Name",
"Setting Name",
0.5f,
"Description of this setting"
);
// Register with MageConfigurationAPI
var registeredConfig = new ModConfig(this, ExampleSetting);
}
}
Advanced Features
// Accessing other mods' configurations
var otherModConfig = ConfigManager.GetConfigByGUIDAndName(
"other.mod.guid",
"TheirSettingName"
);
// Subscribing to configuration changes
registeredConfig.SettingChanged += (sender, args) =>
{
Logger.LogInfo($"Setting changed to: {args.ChangedSetting.BoxedValue}");
};
Configuration Support
- Types:
- (bool, int, float, string, Enums)
- Tags:
- BepInEx Config Description Tags
Changelog
v1.3.1
- Fixed issues with settings positioning.
v1.3.0
- Fixed issues with subscribing to OnSettingChanged in ModConfig.
v1.2.0
- Remove testing configs.
v1.1.0
- Added settings flag to choose when the option is visible.
v1.0.0
- Initial public release.
- Core configuration registration system.
- Basic in-game UI integration.
Install & use Install: follow the bundled instructions
- Unzip the archive from playbuff and read the bundled readme / instructions first.
- Most mods rely on the game's mod loader — the usual route is a community mod manager (such as r2modman): pick this game, install, and it handles the loader and dependencies.
- For a manual install, put the mod files into the matching Mod / plugins folder inside the game directory.
- Launch the game to confirm it loaded; mods with listed dependencies need those installed as well.
Install locations vary a lot between mods — the bundled readme is the most reliable guide.
Install these first, or the mod will not work: