StoneForge

StoneForge is a C# mod loader for Stoneshard on Windows. Mods are source folders with a mod.json manifest, C# code and optional assets and GML bindings. StoneForge compiles and checks them when the game starts, and provides context APIs for items, consumables, buffs, skills, UI and game hooks.
Where to start
- Playing with mods: Installation. StoneForge runs on the game's default (native) branch and the VM modbranch; mods with GML need the modbranch: see Native and VM branches. MSL mods (
.sml) work too, on the modbranch. Your saves are backed up. If the game crashes, see crash windows and reports; to report a bug, use the Esc menu's Report a bug. - Your first mod: Writing a mod, then the mod context, the keyboard and mouse and game events. Mods can use other mods and be translated. The profiler (Ctrl+Shift+P) shows what each mod costs a frame. The Example Mod shows most of the API in one mod.
- How it reaches into the game: How GML maps to C# code: values, instances, calling the game's scripts and built-ins, and hooking its scripts and events.
- Adding content: items, buffs, skills, damage, effects and game objects.
- UI: screens and elements, windows, drawing, dialogs, the main menu, the Esc menu, right-click menus, NPC dialogues.
- The world: the player, units and turns, time and the world map, rooms and saves, locations and ground items, inventory and containers, loot tables, custom quests and contracts, character looks.
- Working on StoneForge itself: Building and testing, the developer host, crash reports and the repository layout.
Repositories
| Repository | Contents |
|---|---|
| StoneForge | The loader, API, native bridge, patcher, generators, tests and build tooling |
| ExampleMod | The sample mod |
| StoneForgeDocs | This documentation |