LiamGaming-OpenShot icon

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 ObjectPoolAPI to 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 .bundle files 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 a ref bool cancel parameter, 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.