Difference between revisions of "Modding:Content packs"
Margotbean (talk | contribs) (direct link) |
Pathoschild (talk | contribs) (+ folder name convention) |
||
Line 10: | Line 10: | ||
# [[Modding:Player Guide/Getting Started#Getting started|Install SMAPI]]. | # [[Modding:Player Guide/Getting Started#Getting started|Install SMAPI]]. | ||
# Open your game's <tt>Mods</tt> folder (located in [[Modding:Player Guide/Getting Started#Find your game folder|your game folder]]). | # Open your game's <tt>Mods</tt> folder (located in [[Modding:Player Guide/Getting Started#Find your game folder|your game folder]]). | ||
− | # Add a subfolder with the name you want ( | + | # Add a subfolder with the name you want (see [[#Folder name|folder naming convention]]). |
# Inside the subfolder: | # Inside the subfolder: | ||
#* Add a <tt>manifest.json</tt> file with the <tt>ContentPackFor</tt> field (see [[Modding:Modder Guide/APIs/Manifest|manifest format]]). | #* Add a <tt>manifest.json</tt> file with the <tt>ContentPackFor</tt> field (see [[Modding:Modder Guide/APIs/Manifest|manifest format]]). | ||
Line 35: | Line 35: | ||
===Consume a content pack=== | ===Consume a content pack=== | ||
If you're writing a SMAPI mod which will read content packs, see [[Modding:Modder Guide/APIs/Content Packs]]. | If you're writing a SMAPI mod which will read content packs, see [[Modding:Modder Guide/APIs/Content Packs]]. | ||
+ | |||
+ | ==Conventions== | ||
+ | These are recommended practices, but they're not required. | ||
+ | |||
+ | ===Folder name=== | ||
+ | The folder name should use [https://en.wikipedia.org/wiki/Camel_case upper camel case] with a prefix showing which mod it's for. For example, a folder named <code>[CP] SampleName</code> is a content pack for Content Patcher. | ||
+ | |||
+ | Here are some common prefixes: | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! prefix | ||
+ | ! for mod | ||
+ | |- | ||
+ | | <code>[ALL]</code> | ||
+ | | {{nexus mod|2270|Advanced Location Loader}} | ||
+ | |- | ||
+ | | <code>[CFR]</code> | ||
+ | | {{nexus mod|991|Custom Farming Redux}} | ||
+ | |- | ||
+ | | <code>[CP]</code> | ||
+ | | {{nexus mod|1915|Content Patcher}} | ||
+ | |- | ||
+ | | <code>[JA]</code> | ||
+ | | {{nexus mod|1720|Json Assets}} | ||
+ | |} | ||
[[Category:Modding]] | [[Category:Modding]] |
Revision as of 19:22, 29 January 2019
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.
For players
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.
For modders
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.
Conventions
These are recommended practices, but they're not required.
Folder name
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:
prefix | for mod |
---|---|
[ALL]
|
Advanced Location Loader |
[CFR]
|
Custom Farming Redux |
[CP]
|
Content Patcher |
[JA]
|
Json Assets |