A content pack is a collection of files for a specific SMAPI mod to read (essentially a sub-mod). Content packs can contain any files, but usually consist of JSON files and images.
If you want to use a content pack, install it just like a SMAPI mod (see player guide). Make sure you install the mod it needs too.
Create a content pack
- Install SMAPI.
- Open your game's Mods folder (located in your game folder).
- Add a subfolder with the name you want (see folder naming convention).
- Inside the subfolder:
- Add a manifest.json file with the ContentPackFor field (see manifest format).
- Add the files needed by the mod that will read it. (See the instructions for the mod for which you're creating the content pack.)
- Launch the game, and make sure your new content pack appears under "Loaded X content packs" in the SMAPI console.
Release your content pack
- Add an update key to your manifest (if you haven't already).
- Update the Version field in the manifest. (Increase it for each release! SMAPI will use it for update and compatibility checks.)
- Create a .zip file containing the content pack's folder.
- Upload that file to Nexus Mods.
In your mod description, providing clear install steps will help reduce support questions. Example BBCode:
[size=5]Install[/size] [list=1] [*][url=https://smapi.io]Install the latest version of SMAPI[/url]. [*][url=<url of required mod>]Install <name of required mod>[/url]. [*]Download this mod and unzip it into [font=Courier New]Stardew Valley/Mods[/font]. [*]Run the game using SMAPI. [/list]
Consume a content pack
If you're writing a SMAPI mod which will read content packs, see Modding:Modder Guide/APIs/Content Packs.
These are recommended practices, but they're not required.
The folder name should use upper camel case with a prefix showing which mod it's for. For example, a folder named
[CP] SampleName is a content pack for Content Patcher.
Here are some common prefixes:
||Advanced Location Loader|
||Better Farm Animal Variety|
||Custom Farming Redux|
||More Than Necessary|