2016-10-31 09:07:44 +08:00
|
|
|
![](https://raw.githubusercontent.com/Gormogon/SMAPI/master/docs/imgs/SMAPI.png)
|
|
|
|
|
|
|
|
**SMAPI** is an [open-source](LICENSE) modding API for [Stardew Valley](http://stardewvalley.net/).
|
|
|
|
It takes care of loading mods into the game context, and exposes events they can use to interact
|
|
|
|
with the game. It's safely installed alongside the game's executable, and doesn't change any of
|
|
|
|
your game files.
|
|
|
|
|
|
|
|
## For players
|
|
|
|
|
|
|
|
* [How to install SMAPI & use mods](http://canimod.com/guides/using-mods#installing-smapi)
|
|
|
|
* [Support forums](http://community.playstarbound.com/threads/stardew-modding-api-0-40-1-1.108375/)
|
|
|
|
* [Stardew Valley Discord](https://discord.gg/KCJHWhX) (chat with players and developers)
|
|
|
|
|
|
|
|
## For mod developers
|
|
|
|
|
|
|
|
* [How to develop mods](http://canimod.com/guides/creating-a-smapi-mod)
|
2016-10-31 10:36:39 +08:00
|
|
|
* [Release notes](release-notes.md)
|
2016-10-31 09:07:44 +08:00
|
|
|
* [SMAPI/Farmhand Discord](https://discordapp.com/invite/0t3fh2xhHVc6Vdyx) (chat with SMAPI developers)
|
|
|
|
|
|
|
|
## For SMAPI developers
|
|
|
|
|
|
|
|
### Compiling from source
|
|
|
|
Using one of the SMAPI releases is recommended for most users.
|
|
|
|
|
|
|
|
If you'd like to compile SMAPI from source, you can do that on any platform. SMAPI uses build
|
|
|
|
configuration derived from the [crosswiki mod config](https://github.com/Pathoschild/Stardew.ModBuildConfig#readme)
|
|
|
|
to detect your current OS automatically and load the correct references.
|
|
|
|
|
|
|
|
### Preparing a release
|
|
|
|
|
|
|
|
1. Open the project in [Visual Studio](https://www.visualstudio.com/vs/community/) or [MonoDevelop](http://www.monodevelop.com/).
|
|
|
|
2. Switch to _Release_ build mode.
|
|
|
|
3. Update the version number in `AssemblyInfo.cs`.
|
|
|
|
4. Update the version number in `Constants::Version`. Add the minimum game version and target
|
|
|
|
platform at the end of the version number (like `0.41.0 1.1 for Windows`).
|
|
|
|
5. Build the solution.
|
|
|
|
6. Copy the files for the target platform into the archive structure below.
|
|
|
|
7. Repeat for each platform.
|
|
|
|
|
|
|
|
The release should consist of three files like this:
|
|
|
|
|
|
|
|
```
|
|
|
|
SMAPI-1.0-Linux.tar.gz
|
|
|
|
Mods/*
|
|
|
|
Newtonsoft.Json.dll
|
|
|
|
StardewModdingAPI
|
|
|
|
StardewModdingAPI.exe
|
|
|
|
StardewModdingAPI.mdb
|
|
|
|
System.Numerics.dll
|
|
|
|
|
|
|
|
SMAPI-1.0-Mac.tar.gz
|
|
|
|
Mods/*
|
|
|
|
Newtonsoft.Json.dll
|
|
|
|
StardewModdingAPI
|
|
|
|
StardewModdingAPI.exe
|
|
|
|
StardewModdingAPI.mdb
|
|
|
|
System.Numerics.dll
|
|
|
|
|
|
|
|
SMAPI-1.0-Windows.zip
|
|
|
|
Mods/*
|
|
|
|
StardewModdingAPI.exe
|
|
|
|
StardewModdingAPI.pdb
|
|
|
|
```
|