OpenShot
A core library and API for Lucky Shot modding. Provides a Mod Menu, Developer Console, unified GameEvents, AudioAPI, InputAPI, and Asset Registries.
CHANGELOG
Changelog
1.2.0
- 3D Main Menu Injection: Added an in-world 3D "MODS" button to the game's physical main menu. Modders can use
ModMenu.Register3DButton()to add their own physical buttons. - UI Theming: Entirely overhauled the IMGUI theming to a modern, flat Cyberpunk/Dark Mode aesthetic with proper hover states.
- Object Pool API: Added
ObjectPoolAPIto allow mods to recycle GameObjects (like bullets) and save massive CPU overhead. - Update Checker: Automatically checks Thunderstore for updates asynchronously in the background.
1.1.0
- Custom Attributes Registration: Modders can now use
[ConsoleCommand]and[OpenShotMenuTab]attributes to automatically register UI tabs and commands via reflection. - AssetBundle Loader: Added
AssetLoader.GetPrefab()to automatically load and cache prefabs from.bundlefiles in the plugins folder. - Localization API: Mods can now easily support multiple languages using
LocalizationAPI.GetString()and corresponding JSON files. - GameEvents 2.0: Key events (
OnShotFired,OnShopTryBuy,OnWeaponReloaded) are now cancelable using aref bool cancelparameter, allowing mods to intercept and block game actions! - Auto-UI Generator: Added
UIHelper.DrawSettings(obj)which uses reflection to automatically generate interactive UI elements (toggles, sliders, text fields) from a given data object. - Audio & Input APIs: Added helper classes for playing custom sounds from disk and managing keyboard inputs seamlessly.