namespace WeaveLoader.API; /// /// The main interface all WeaveLoader mods must implement. /// Default interface methods allow mods to only override what they need. /// public interface IMod { /// /// Called before vanilla registries are populated. /// Use for very early setup that must happen before any game content loads. /// void OnPreInit() { } /// /// Called after vanilla registries are populated. /// This is the main initialization point -- register your blocks, items, /// entities, recipes, and event handlers here. /// void OnInitialize(); /// /// Called after the game client has finished its own initialization. /// Use for client-side setup like custom renderers or UI. /// void OnPostInitialize() { } /// /// Called once per game tick (20 times per second). /// Use for ongoing mod logic. /// void OnTick() { } /// /// Called when the game is shutting down. /// Use for cleanup and saving mod state. /// void OnShutdown() { } }