Difference between revisions of "Modding:Modder Guide/APIs"
Jump to navigation
Jump to search
Pathoschild (talk | contribs) (→Content: + content interception in SMAPI 2.0) |
m |
||
(101 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
− | + | {{../header}} | |
− | SMAPI | + | SMAPI provides a number of APIs for mods to use. Click a section on the right or below for more details. |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | ==Basic APIs== | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
− | ! | + | ! page |
− | + | ! summary | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
− | + | | [[/Manifest|Manifest]] | |
+ | | A file needed for every mod or content pack which describes the mod, lists dependencies, enables update checks, etc. | ||
|- | |- | ||
− | | | + | | [[/Events|Events]] |
+ | | Respond when something happens in the game (''e.g.,'' when a save is loaded), and often include details about what happened. | ||
|- | |- | ||
− | | | + | | [[/Config|Configuration]] |
− | + | | Let players edit a <samp>config.json</samp> file to configure your mod. | |
− | |||
− | |||
− | < | ||
− | |||
− | |||
|- | |- | ||
− | + | | [[/Content|Content]] | |
+ | | Load images/maps/data, and edit or replace the game's images/maps/data. | ||
|- | |- | ||
− | | | + | | [[/Data|Data]] |
+ | | Store arbitrary data and retrieve it later. | ||
|- | |- | ||
− | | | + | | [[/Input|Input]] |
+ | | Check and suppress keyboard, controller, and mouse state. | ||
|- | |- | ||
− | | | + | | [[/Logging|Logging]] |
+ | | Write messages to the SMAPI console and log. | ||
|- | |- | ||
− | | | + | | [[/Reflection|Reflection]] |
− | | | + | | Access fields, properties, or methods which are normally inaccessible. |
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
− | + | | [[/Multiplayer|Multiplayer]] | |
+ | | Provides methods for supporting multiplayer. | ||
|- | |- | ||
− | | | + | | [[/Translation|Translation]] |
+ | | Translate your mod text into any game language. | ||
|- | |- | ||
− | | | + | | [[/Utilities|Utilities]] |
+ | | Use constants, contextual information, date logic, and semantic versions. | ||
|} | |} | ||
− | == | + | ==Advanced APIs== |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
− | ! | + | ! page |
− | ! | + | ! summary |
|- | |- | ||
− | | | + | | [[/Content Packs|Content packs]] |
− | | | + | | Let other modders provide files for your mod to read, which players can install like any other mod. |
|- | |- | ||
− | | | + | | [[/Console|Console commands]] |
− | | | + | | Add custom commands to the SMAPI console. |
|- | |- | ||
− | | | + | | [[/Integrations|Mod integrations]] |
− | | | + | | Get information about loaded mods, and integrate with mods using mod-provided APIs. |
|- | |- | ||
− | | | + | | [[/Harmony|Harmony patching]] |
− | + | | Harmony lets you patch or replace methods, effectively rewriting the game code. | |
− | | | ||
− | | | ||
− | |||
|} | |} | ||
− | + | [[es:Modding:Guía del Modder/APIs]] | |
− | + | [[tr:Modlama:Mod Rehberi/API'ler]] | |
− | + | [[zh:模组:制作指南/APIs]] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | / | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Latest revision as of 20:53, 14 September 2024
- Get started
- Game fundamentals
- Test & troubleshoot
- Release
- API reference
- Basic SMAPI APIs:
- Advanced SMAPI APIs:
- Specific guides
SMAPI provides a number of APIs for mods to use. Click a section on the right or below for more details.
Basic APIs
page | summary |
---|---|
Manifest | A file needed for every mod or content pack which describes the mod, lists dependencies, enables update checks, etc. |
Events | Respond when something happens in the game (e.g., when a save is loaded), and often include details about what happened. |
Configuration | Let players edit a config.json file to configure your mod. |
Content | Load images/maps/data, and edit or replace the game's images/maps/data. |
Data | Store arbitrary data and retrieve it later. |
Input | Check and suppress keyboard, controller, and mouse state. |
Logging | Write messages to the SMAPI console and log. |
Reflection | Access fields, properties, or methods which are normally inaccessible. |
Multiplayer | Provides methods for supporting multiplayer. |
Translation | Translate your mod text into any game language. |
Utilities | Use constants, contextual information, date logic, and semantic versions. |
Advanced APIs
page | summary |
---|---|
Content packs | Let other modders provide files for your mod to read, which players can install like any other mod. |
Console commands | Add custom commands to the SMAPI console. |
Mod integrations | Get information about loaded mods, and integrate with mods using mod-provided APIs. |
Harmony patching | Harmony lets you patch or replace methods, effectively rewriting the game code. |