This wiki is a read-only version of the Stardew Valley Wiki. The official editable wiki maintained by ConcernedApe can be found at stardewvalleywiki.com

Changes

Jump to: navigation, search

Modding:Content Patcher

2,600 bytes added, 22:50, 24 September 2019
expand
Do you want to create Content Patcher packs for Stardew Valley? This guide is for you! '''For using mods, see [[Modding:Player Guide/Getting Started|Modding:Player Guide]].'''
==IntroQuick start==This guide is meant as a gentle introduction to creating Content Patcher packs. If you don't need a gentle introduction, see the [https://github.com/Pathoschild/StardewMods/tree/develop/ContentPatcher#readme full Content Patcher readme]. ==Basic concepts==
===What is Content Patcher?===
{{nexus mod|1915|Content Patcher}} is a SMAPI mod which lets you change the game assets (images, dialogue, data, and maps) without replacing game files or writing code. You use it by creating a content pack (basically a folder with certain files) with a couple of JSON files(basically text). Just by editing a JSON file, you can...
* replace one image file;
* and much more.
===Assets===An ''asset'' is essentially a file in the <tt>Content</tt> folder with a unique ''asset name''. The asset name never includes the <tt>Content</tt> path, language, or file extension (you can use [[/Tokens|tokens]] to target specific languages). For example: {| class="wikitable"|-! file! asset name|-| <tt>Content/Portraits/Abigail.xnb</tt>| <tt>Portraits/Abigail</tt>|-| <tt>Content/Maps/spring_beach.xnb</tt><br /><tt>Content/Maps/spring_beach.es-ES.xnb</tt><br /><tt>Content/Maps/spring_beach.fr-FR.xnb</tt>| <tt>Maps/spring_beach</tt>|} An asset may contain multiple sprites or data entries. For example, here's what <tt>Portraits/Abigail</tt> contains if you unpack it: [[File:Modding - creating an XNB mod - example portraits.png]] So if you wanted to change Abigail's portraits, you would use Content Patcher to load or edit <tt>Portraits/Abigail</tt>. ===Load vs other edits===There are two conceptual ways you can change an asset: * ''Load'' the initial version of an asset. Each asset can only be loaded by one mod at the same time. This is mainly useful for total replacement mods(like a mod that completely changes an NPC's portraits), or to provide files that don't exist in the <tt>Content</tt> folder.* ''Edit'' an asset after it's loaded. Any number of edits can be applied to the same asset. For example, let's say the game needs Abigail's portraits. This is how changes are applied:<pre> ┌────────────┐ │ edit asset │ ┌───────────┐ ├────────────┤get Portraits/Abigail ──>│ load file │───>│ edit asset │──> portrait asset └───────────┘ ├────────────┤ │ edit asset │ └────────────┘</pre> This is divided into four different action types (<tt>Load</tt>, <tt>EditImage</tt>, <tt>EditData</tt>, <tt>EditMap</tt>), which is explained in more detail on the following pages. ==Get started==First let's get our basic content pack up and running:<ol><li>Install [https://smapi.io/ SMAPI] and {{nexus mod|1915|Content Patcher supports all }}.</li><li>Unpack the game assets with some very powerful features, but it's <tt>Content</tt> folder so you can see what each asset contains (see [[Modding:Editing XNB files#Unpack game files]]).</li><li>[[Modding:Content packs#Create a general frameworkcontent pack|Create a SMAPI content pack]]. More specialised frameworks might be better for specific things</li><li>Create a <tt>content. You json</tt> file in the same folder this content:<source lang="javascript">{ "Format": "1.9", "Changes": [ ]}</source></li><li>Launch the game.</li></ol> If you did everything correctly so far, you should consider whether one of these would work see the new mod under "Loaded X content packs" in the SMAPI console! (If not, review the above steps or [[/Troubleshooting#Ask for you:help|come ask for help]].)
* {{nexus mod|2270|Advanced Location Loader}} for complex changes to maps. (For simple changes, see ''[[/Edit maps|edit maps]]==Next steps==You've created a Content Patcher pack! Next we'll make it do something.)* {{nexus This tutorial will walk you through creating Blueberries Everywhere, a mod|991|Custom Farming Redux}} to add machines.* {{nexus mod|1254|Custom Furniture}} to add furniture.* {{nexus mod|2416|Custom Shirts}} to add shirts.* {{nexus mod|1720|Json Assets}} to add items, crafting recipes, crops, fruit trees, hats, and weaponswhich just turns various things into blueberries.
(For a comparison with legacy XNB modsWhen you're ready to continue, see ''[[Modding:Using XNB mods|using XNB mods]]''the navigation at the bottom of the page to continue.)
===Content Patcher vs SMAPI=See also==SMAPI is the modding API used to add mods to the game (* [https://github.com/Pathoschild/StardewMods/tree/develop/ContentPatcher#readme Content Patcher itself is a SMAPI mod). If readme] for the mod you want to create is possible with Content Patcherfull technical reference, that's recommended since it's easier to maintain and update. Howeverknown limitations, you can also program a mod using SMAPI directly if you want; see [[Modding:Modder Guide/Get Started|creating SMAPI mods]] for more info.FAQs, etc
{{modding guide footer
|prev =
|next = [[/Tutorial ModLoad|Creating a Basic ModLoad assets]]
}}
Protected, translators
5,421
edits

Navigation menu