Difference between revisions of "Modding:Index"

From Stardew Valley Wiki
Jump to navigation Jump to search
(→‎Migration guides: + Stardew Valley 1.5)
(add pictorial guide link)
(38 intermediate revisions by 9 users not shown)
Line 4: Line 4:
 
{|
 
{|
 
|-
 
|-
|style="border: 2px solid rgb(0, 116, 72); background: rgba(3, 160, 7, 0.1); padding: 1em;"| <big>'''[[Modding:Player Guide/Getting Started|Using mods]]'''</big><br />How to install SMAPI, use mods, and troubleshoot them. Includes the compatibility list.
+
|style="border: 2px solid rgb(0, 116, 72); background: rgba(3, 160, 7, 0.1); padding: 1em;"| <span style="font-size: larger;">'''[[Modding:Player Guide/Getting Started|Using mods]]'''</span><br />How to install SMAPI, use mods, and troubleshoot them. Includes the compatibility list.
 
|}
 
|}
  
Line 12: Line 12:
  
 
==Creating mods==
 
==Creating mods==
''Looking for something specific? Try [{{fullurl:Special:Search|ns570=1}} searching the <tt>Modding</tt> namespace].''
+
 
 +
Making mods can be broadly divided into two categories: SMAPI mods, which use C#, and content packs, which don’t require coding knowledge, just making json files. Usually it’s easiest to start with making content packs, especially if there’s a framework that already does what you want, and in general it's better to use frameworks whenever possible for compatibility reasons. If you're confused and want to look at a picture of what kinds of modding is possible, see [[Modding:Modder Guide/Get Started/Pictorial Guide]].
  
 
{|
 
{|
 
|-
 
|-
|style="border: 2px solid rgb(0, 116, 72); background: rgba(3, 160, 7, 0.1); padding: 1em;"| <big>'''[[Modding:Modder Guide/Get Started|Creating SMAPI mods]]'''</big><br />How to create SMAPI mods, with tutorials and documentation. This includes the full SMAPI API + event reference.
+
|style="border: 2px solid rgb(0, 116, 72); background: rgba(3, 160, 7, 0.1); padding: 1em;"| <span style="font-size: larger;">'''[[Modding:Content pack frameworks|Creating content mods with jsons]]'''</span><br />How to create content packs for frameworks like Content Patcher.
 
|-
 
|-
|style="border: 2px solid rgb(0, 116, 72); background: rgba(3, 160, 7, 0.1); padding: 1em;"| <big>'''[[Modding:Content Patcher|Creating Content Patcher packs]]'''</big><br />How to create content packs for Content Patcher, including links to more info.
+
|style="border: 2px solid rgb(0, 116, 72); background: rgba(3, 160, 7, 0.1); padding: 1em;"| <span style="font-size: larger;">'''[[Modding:Modder Guide/Get Started|Creating SMAPI mods with C#]]'''</span><br />How to create SMAPI mods, with tutorials and documentation. This includes the full SMAPI API + event reference.
 
|-
 
|-
|style="border: 2px solid rgb(0, 116, 72); background: rgba(3, 160, 7, 0.1); padding: 1em;"| <big>'''[[Modding:Translations|Translating mods]]'''</big><br />How to contribute mod translations for any language supported by the game. (And for modders, how to enable and request translations.)
+
|style="border: 2px solid rgb(0, 116, 72); background: rgba(3, 160, 7, 0.1); padding: 1em;"| <span style="font-size: larger;">'''[[Modding:Translations|Translating mods]]'''</span><br />How to contribute mod translations for any language supported by the game. (And for modders, how to enable and request translations.)
 
|}
 
|}
  
 +
* ''Looking for something specific? Try [{{fullurl:Special:Search|ns570=1}} searching the <samp>Modding</samp> namespace].''
 
* [[Modding:Help|Get help or ask question]]
 
* [[Modding:Help|Get help or ask question]]
 
* [[Modding:Community|Join the community]]
 
* [[Modding:Community|Join the community]]
 
* [[Modding:Open source|Open source]]
 
* [[Modding:Open source|Open source]]
 
===Framework mods===
 
Some of the known framework mods are listed below, along with their capabilities. The framework mods are written in C#, so you can make content packs for them without needing to know coding yourself. They are available on Nexus Mods.
 
 
'''Content Patcher (CP)''' | [https://www.nexusmods.com/stardewvalley/mods/1915/ CP Nexus Mods page]
 
 
* Edit or replace literally any game file in the [[Modding:Player Guide/Getting Started#Find your game folder|game's <tt>Content</tt> folder]].
 
 
* Add new files, alter images, data, and maps
 
 
* Send the player basic mail
 
 
* Create entire NPCs
 
 
* Make changes dynamic, conditional, seasonal, and/or configurable
 
 
'''Content Patcher Animations (CP-A)''' | [https://www.nexusmods.com/stardewvalley/mods/3853/ CP-A Nexus Mods page]
 
 
* Images patched in with CP can be animated
 
 
'''Json Assets (JA)''' | [https://www.nexusmods.com/stardewvalley/mods/1720/ JA Nexus Mods page]
 
 
* Create new objects, Big Craftables (placeable, machine-sized), crops, fruit trees, hats, weapons, shirts, pants, and boots
 
* Specify crafting, cooking, and tailor recipes for new items
 
* Specify gift tastes for new items
 
* New item data and images can also be targeted with CP
 
 
'''Producer Framework Mod (PFM)''' | [https://www.nexusmods.com/stardewvalley/mods/4970/ PFM Nexus Mods page]
 
* Change the inputs, outputs, and behavior of vanilla machines
 
* Take new machine Big Craftables (created with JA) and make them work
 
 
'''Custom Furniture (CF)''' | [https://www.nexusmods.com/stardewvalley/mods/1254/ CF Nexus Mods page]
 
* Make new items that behave as furniture (e.g. rotatable, or placeable on walls)
 
 
'''TMXL (and PyTK)''' | [https://www.nexusmods.com/stardewvalley/mods/1820/ TMXL Nexus Mods page] | [https://www.nexusmods.com/stardewvalley/mods/1726/ PyTK Nexus Mods page]
 
* Necessary to add new map locations
 
* Tons of map features like crop layers and water color
 
* Can use high resolution textures anywhere, even unrelated to maps
 
* Extreme custom tile actions and Lua scripting
 
 
'''Farm Type Manager (FTM)''' | [https://www.nexusmods.com/stardewvalley/mods/3231/ FTM Nexus Mods page]
 
* Spawn stumps, debris, forage, ores, meteors, etc.
 
* Spawn monsters and create new monster types based on existing ones
 
 
'''Custom Ore Nodes (CON)''' | [https://www.nexusmods.com/stardewvalley/mods/5966/ CON Nexus Mods page]
 
* Make new types of rocks you can break to get items, either custom or from the base game
 
 
'''Shop Tile Framework (STF)''' | [https://www.nexusmods.com/stardewvalley/mods/5005/ STF Nexus Mods page]
 
* Add to or change what's for sale in base game shops with a wide variety of conditions
 
* Create new shops with a wide variety of conditions
 
 
'''Mail Framework Mod (MFM)''' | [https://www.nexusmods.com/stardewvalley/mods/1536/ MFM Nexus Mods page]
 
* Additional mail features (CP can already do basic mail)
 
* Custom backgrounds, repeat mail, wider variety of mail attachments, and the ability add multiple attachments to mail
 
 
'''Train Station (TS)''' | [https://www.nexusmods.com/stardewvalley/mods/6183/ TS Nexus Mods page]
 
* Make new locations accessible without patching vanilla maps
 
 
'''Custom Music (CM)''' | [https://www.nexusmods.com/stardewvalley/mods/3043/ CM Nexus Mods page]
 
* Replace or add new music tracks and sound effects
 
 
'''Quest Framework (QF)''' | [https://www.nexusmods.com/stardewvalley/mods/6414/ QF Nexus Mods page]
 
* Create new custom quests of different types
 
  
 
===Advanced topics===
 
===Advanced topics===
 
* '''[[Modding:Modder Guide/APIs|SMAPI API reference]]''' (also on the sidebar in the "Creating SMAPI mods" guide above)
 
* '''[[Modding:Modder Guide/APIs|SMAPI API reference]]''' (also on the sidebar in the "Creating SMAPI mods" guide above)
 +
* '''[https://stardewmodding.miraheze.org Modding tutorials wiki]'''
 
* [[Modding:Common tasks|Common tasks (SMAPI mods)]]
 
* [[Modding:Common tasks|Common tasks (SMAPI mods)]]
* [[Modding:Specific Examples|Specific Examples (SMAPI mods)]]
 
 
* [[Modding:Editing XNB files|Editing XNB files]]
 
* [[Modding:Editing XNB files|Editing XNB files]]
 
* [[Modding:IDE reference|IDE reference]]
 
* [[Modding:IDE reference|IDE reference]]
 +
 +
* Game:
 +
** [[Modding:Audio|Audio]]
 +
** [[Modding:Custom languages|Custom languages]]
 +
** [[Modding:Console commands|Console commands]]
  
 
* NPCs:
 
* NPCs:
Line 105: Line 49:
 
** [[Modding:Schedule data|Schedules]]
 
** [[Modding:Schedule data|Schedules]]
  
* Objects:
+
* Item data:
** [[Modding:Big craftables data|Craftable items]]
+
** [[Modding:Items|Items]]
 
** [[Modding:Crop data|Crops]]
 
** [[Modding:Crop data|Crops]]
** [[Modding:Furniture data|Furniture]]
+
** [[Modding:Fruit trees|Fruit trees]]
** [[Modding:Hat data|Hats]]
 
** [[Modding:Object data|Objects]]
 
** [[Modding:Weapon data|Weapons]]
 
  
* Other:
+
* Other content:
 
** [[Modding:Animal data|Animals]]
 
** [[Modding:Animal data|Animals]]
 
** [[Modding:Achievement data|Achievements]]
 
** [[Modding:Achievement data|Achievements]]
 
** [[Modding:Blueprint data|Blueprints]]
 
** [[Modding:Blueprint data|Blueprints]]
 
** [[Modding:Bundles|Bundles]]
 
** [[Modding:Bundles|Bundles]]
** [[Modding:Debug commands|Debug commands]]
 
 
** [[Modding:Farmer sprite|Farmer sprite]]
 
** [[Modding:Farmer sprite|Farmer sprite]]
 
** [[Modding:Festival data|Festivals]]
 
** [[Modding:Festival data|Festivals]]
 
** [[Modding:Fish data|Fish]]
 
** [[Modding:Fish data|Fish]]
 
** [[Modding:Fish Pond data|Fish Ponds]]
 
** [[Modding:Fish Pond data|Fish Ponds]]
** [[Modding:Location_data|Locations]]
+
** [[Modding:Location data|Locations]]
 
** [[Modding:Maps|Maps]]
 
** [[Modding:Maps|Maps]]
 
** [[Modding:Mail data|Mail]]
 
** [[Modding:Mail data|Mail]]
 
** [[Modding:Monster data|Monsters]]
 
** [[Modding:Monster data|Monsters]]
 +
** [[Modding:Movie theater data|Movie theater]]
 
** [[Modding:Recipe data|Recipes]]
 
** [[Modding:Recipe data|Recipes]]
 +
** [[Modding:Special orders|Special orders]]
 
** [[Modding:Weather data|Weather]]
 
** [[Modding:Weather data|Weather]]
  
Line 150: Line 92:
 
| [[Modding:Migrate to Stardew Valley 1.5|Stardew Valley 1.5]] || December 2020
 
| [[Modding:Migrate to Stardew Valley 1.5|Stardew Valley 1.5]] || December 2020
 
|-
 
|-
| [[Modding:Migrate to Harmony 2.0|Harmony 2.0]] || TBD
+
| [[Modding:Migrate to 64-bit on Windows|64-bit on Windows]] || May 2021
 +
|-
 +
| [[Modding:Migrate to Harmony 2.0|Harmony 2.0]] || July 2021
 +
|-
 +
| [[Modding:Migrate to Stardew Valley 1.5.5|Stardew Valley 1.5.5]] || November 2021
 +
|-
 +
| [[Modding:Migrate to SMAPI 4.0|SMAPI 4.0]] || ''upcoming''
 +
|-
 +
| [[Modding:Migrate to Stardew Valley 1.6|Stardew Valley 1.6]] || ''upcoming''
 
|}
 
|}
  
 
===See also===
 
===See also===
* [[User:Kdau#Notes on Android SMAPI modding]]
+
* Pixel art resources:
 +
** [https://sundrop.kvdk.net/art-guide Stardew Valley art style guide]
 +
** [https://pixeljoint.com/forum/forum_posts.asp?TID=11299&PID=139322 Pixel art tutorial on Pixel Joint]
 +
** [https://medium.com/pixel-grimoire/how-to-start-making-pixel-art-2d1e31a5ceab Pixel art guide on Medium]
 +
* Content pack resources:
 +
** [https://docs.google.com/spreadsheets/d/1CpDrw23peQiq-C7F2FjYOMePaYe0Rc9BwQsj3h6sjyo The great ID spreadsheet]
 +
** [https://stardewmodding.miraheze.org/wiki/Custom_NPC_Tiles Custom NPC festival tile positions]
 +
* Useful tools:
 +
** [https://smapi.io/mods SMAPI mod compatibility list] ([[Modding:Mod compatibility|you can edit it!]])
 +
** [https://smapi.io/log SMAPI log parser]
 +
** [https://smapi.io/json JSON validator]
 +
* [[User:Kdau#Notes on Android SMAPI modding|Kdau's notes on Android SMAPI modding]]
 +
* [[User:Dem1se#Getting_Started_with_Making_UIs| Dem1se's getting started guide on mod UIs]]
  
 
[[Category:Modding| ]]
 
[[Category:Modding| ]]
Line 160: Line 122:
 
[[de:Modding:Index]]
 
[[de:Modding:Index]]
 
[[es:Modding:Índice]]
 
[[es:Modding:Índice]]
 +
[[fr:Modding:Index]]
 
[[pt:Modificações:Índice]]
 
[[pt:Modificações:Índice]]
 
[[ru:Модификации:Индекс]]
 
[[ru:Модификации:Индекс]]
 
[[zh:使用模组:目录]]
 
[[zh:使用模组:目录]]

Revision as of 00:49, 20 May 2023

Mods are packages of files which change Stardew Valley in some way. Mods can add features (like showing NPCs on the map), change game mechanics (like making fences decay more slowly), make cosmetic changes (like making your house look like a hobbit home), and much more.

Using mods

Using mods
How to install SMAPI, use mods, and troubleshoot them. Includes the compatibility list.

Creating mods

Making mods can be broadly divided into two categories: SMAPI mods, which use C#, and content packs, which don’t require coding knowledge, just making json files. Usually it’s easiest to start with making content packs, especially if there’s a framework that already does what you want, and in general it's better to use frameworks whenever possible for compatibility reasons. If you're confused and want to look at a picture of what kinds of modding is possible, see Modding:Modder Guide/Get Started/Pictorial Guide.

Creating content mods with jsons
How to create content packs for frameworks like Content Patcher.
Creating SMAPI mods with C#
How to create SMAPI mods, with tutorials and documentation. This includes the full SMAPI API + event reference.
Translating mods
How to contribute mod translations for any language supported by the game. (And for modders, how to enable and request translations.)

Advanced topics

Migration guides

release date released
SMAPI 2.0 October 2017
Stardew Valley 1.3 May 2018
Stardew Valley 1.3 (XNB changes) May 2018
Stardew Valley 1.3.36 March 2019
Stardew Valley 1.4 November 2019
SMAPI 3.0 November 2019
Stardew Valley 1.5 December 2020
64-bit on Windows May 2021
Harmony 2.0 July 2021
Stardew Valley 1.5.5 November 2021
SMAPI 4.0 upcoming
Stardew Valley 1.6 upcoming

See also