summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md36
1 files changed, 30 insertions, 6 deletions
diff --git a/README.md b/README.md
index 565967b7..1b4b52d5 100644
--- a/README.md
+++ b/README.md
@@ -1,11 +1,7 @@
![](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.
-
## Contents
+* [What is SMAPI?](#what-is-smapi)
* **[For players](#for-players)**
* **[For mod developers](#for-mod-developers)**
* [For SMAPI developers](#for-smapi-developers)
@@ -16,6 +12,34 @@ your game files.
* [Configuration file](#configuration-file)
* [Command-line arguments](#command-line-arguments)
+## What is SMAPI?
+**SMAPI** is an [open-source](LICENSE) modding API for [Stardew Valley](http://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 five main purposes:
+
+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.**
+ _SMAPI provides low-level APIs and events which let mods interact with the game in ways they
+ otherwise couldn't._
+
+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.**
+ _SMAPI detects when a mod accesses part of the game that changed in a recent update which
+ affects many mods, and rewrites the mod so it's compatible._
+
+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._
+
## For players
* [How to install SMAPI & use mods](http://canimod.com/guides/using-mods#installing-smapi)
* [Release notes](release-notes.md#release-notes)
@@ -26,7 +50,7 @@ your game files.
* [How to develop mods](http://canimod.com/guides/creating-a-smapi-mod)
* [How to update mods](http://canimod.com/guides/updating-a-smapi-mod)
* [Release notes](release-notes.md#release-notes)
-* [SMAPI/Farmhand Discord](https://discordapp.com/invite/0t3fh2xhHVc6Vdyx) (chat with SMAPI developers)
+* [Chat on Discord](https://discord.gg/KCJHWhX) with SMAPI developers and other modders
## For SMAPI developers
_This section is about compiling SMAPI itself from source. If you don't know what that means, this