#nullable disable
namespace StardewModdingAPI.Events
{
/// Manages access to events raised by SMAPI.
public interface IModEvents
{
/// Events related to assets loaded from the content pipeline (including data, maps, and textures).
IContentEvents Content { get; }
/// Events related to UI and drawing to the screen.
IDisplayEvents Display { get; }
/// Events linked to the game's update loop. The update loop runs roughly ≈60 times/second to run game logic like state changes, action handling, etc. These can be useful, but you should consider more semantic events like if possible.
IGameLoopEvents GameLoop { get; }
/// Events raised when the player provides input using a controller, keyboard, or mouse.
IInputEvents Input { get; }
/// Events raised for multiplayer messages and connections.
IMultiplayerEvents Multiplayer { get; }
/// Events raised when the player data changes.
IPlayerEvents Player { get; }
/// Events raised when something changes in the world.
IWorldEvents World { get; }
/// Events serving specialized edge cases that shouldn't be used by most mods.
ISpecializedEvents Specialized { get; }
}
}