2018-12-16 02:33:22 +08:00
|
|
|
**SMAPI** is an open-source modding framework and API for [Stardew Valley](https://stardewvalley.net/)
|
|
|
|
that lets you play the game with mods. It's safely installed alongside the game's executable, and
|
|
|
|
doesn't change any of your game files. It serves eight main purposes:
|
2017-03-15 03:04:21 +08:00
|
|
|
|
|
|
|
1. **Load mods into the game.**
|
|
|
|
_SMAPI loads mods when the game is starting up so they can interact with it. (Code mods aren't
|
|
|
|
possible without SMAPI to load them.)_
|
|
|
|
|
|
|
|
2. **Provide APIs and events for mods.**
|
2017-10-08 11:33:03 +08:00
|
|
|
_SMAPI provides APIs and events which let mods interact with the game in ways they otherwise
|
|
|
|
couldn't._
|
2017-03-15 03:04:21 +08:00
|
|
|
|
|
|
|
3. **Rewrite mods for crossplatform compatibility.**
|
|
|
|
_SMAPI rewrites mods' compiled code before loading them so they work on Linux/Mac/Windows
|
|
|
|
without the mods needing to handle differences between the Linux/Mac and Windows versions of the
|
|
|
|
game._
|
|
|
|
|
|
|
|
4. **Rewrite mods to update them.**
|
2017-10-08 11:33:03 +08:00
|
|
|
_SMAPI detects when a mod accesses part of the game that changed in a game update which affects
|
|
|
|
many mods, and rewrites the mod so it's compatible._
|
2017-03-15 03:04:21 +08:00
|
|
|
|
|
|
|
5. **Intercept errors.**
|
|
|
|
_SMAPI intercepts errors that happen in the game, displays the error details in the console
|
|
|
|
window, and in most cases automatically recovers the game. This prevents mods from accidentally
|
|
|
|
crashing the game, and makes it possible to troubleshoot errors in the game itself that would
|
|
|
|
otherwise show a generic 'program has stopped working' type of message._
|
|
|
|
|
2018-05-13 07:27:23 +08:00
|
|
|
6. **Provide update checks.**
|
2017-10-08 11:18:06 +08:00
|
|
|
_SMAPI automatically checks for new versions of your installed mods, and notifies you when any
|
|
|
|
are available._
|
|
|
|
|
2018-05-13 07:27:23 +08:00
|
|
|
7. **Provide compatibility checks.**
|
|
|
|
_SMAPI automatically detects outdated or broken code in mods, and safely disables them before
|
|
|
|
they cause problems._
|
|
|
|
|
|
|
|
8. **Back up your save files.**
|
|
|
|
_SMAPI automatically creates a daily backup of your saves and keeps ten backups, in case
|
|
|
|
something goes wrong. (Via the bundled SaveBackup mod.)_
|
|
|
|
|
2017-10-08 11:16:25 +08:00
|
|
|
## Documentation
|
2019-07-06 13:04:05 +08:00
|
|
|
Have questions? Come [chat on Discord](https://stardewvalleywiki.com/Modding:Community) with SMAPI
|
|
|
|
developers and other modders!
|
2017-10-08 14:37:41 +08:00
|
|
|
|
|
|
|
### For players
|
2018-04-29 10:39:29 +08:00
|
|
|
* [Player guide](https://stardewvalleywiki.com/Modding:Player_Guide)
|
2017-10-08 14:37:41 +08:00
|
|
|
|
|
|
|
### For modders
|
|
|
|
* [Modding documentation](https://stardewvalleywiki.com/Modding:Index)
|
2019-07-06 13:04:05 +08:00
|
|
|
* [Mod build configuration](technical/mod-package.md)
|
2017-10-08 11:16:25 +08:00
|
|
|
* [Release notes](release-notes.md)
|
2017-10-08 14:37:41 +08:00
|
|
|
|
|
|
|
### For SMAPI developers
|
2019-07-06 13:04:05 +08:00
|
|
|
* [Technical docs](technical/smapi.md)
|