Difference between revisions of "Modding:Index"

From Stardew Valley Wiki
Jump to navigation Jump to search
(→‎Specific topics: tweak organization, update link for farm data)
 
(73 intermediate revisions by 11 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].''
 
 
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)'''
 
 
* 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
 
 
'''Custom Furniture (CF)'''
 
* Make new items that behave as furniture (e.g. rotatable, or placeable on walls)
 
 
'''TMXL (and PyTK)'''
 
* 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)'''
 
* Spawn stumps, debris, forage, ores, meteors, etc.
 
* Spawn monsters and create new monster types based on existing ones
 
 
'''Custom Ore Nodes (CON)'''
 
* Make new types of rocks you can break to get items, either custom or from the base game
 
 
'''Shop Tile Framework (STF)'''
 
* Add to or change what's for sale in base game shops
 
* Create new shops with a wide variety of conditions
 
 
'''Mail Framework Mod (MFM)'''
 
* 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'''
 
* Make new locations accessible without patching vanilla maps
 
 
'''Custom Music'''
 
* Replace or add new music tracks and sound effects
 
  
 +
Making mods can be broadly divided into two categories: C# mods and content packs (formatted text files that rely on a framework C# mod). Content packs can make new NPCs, edit maps, add new items, add shops, and more, while C# mods can change fundamental game mechanics. Usually it’s easiest to start with making content packs, since you don't need to learn how to program in C#. 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]]
  
===Advanced topics===
+
===Specific 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.wiki.gg 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:Modder Guide/Game Fundamentals|Game fundamentals]]
 +
** [[Modding:Audio|Audio]]
 +
** [[Modding:Custom languages|Custom languages]]
 +
** [[Modding:Console commands|Console commands]]
 +
** [[Modding:World map|World map]]
 +
** [[Modding:Game state queries|Game state queries]]
 +
** [[Modding:Trigger actions|Trigger actions]]
 +
** [[Modding:Tokenizable strings|Tokenizable strings]]
  
 
* NPCs:
 
* NPCs:
Line 98: Line 54:
 
** [[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:Item queries|Item queries]]
** [[Modding:Object data|Objects]]
+
** [[Modding:Machines|Machines]]
** [[Modding:Weapon data|Weapons]]
+
** [[Modding:Recipe data|Recipes]]
 +
** [[Modding:Shops|Shops]]
  
* Other:
+
* Locations and maps:
 +
** [[Modding:Maps|Maps]]
 +
** [[Modding:Farm data|Farm data]]
 +
** [[Modding:Festival data|Festivals]]
 +
** [[Modding:Fish data|Fish]]
 +
** [[Modding:Movie theater data|Movie theater]]
 +
** [[Modding:Weather data|Weather]]
 +
 
 +
* 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: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:Mail data|Mail]]
 
** [[Modding:Mail data|Mail]]
 
** [[Modding:Monster data|Monsters]]
 
** [[Modding:Monster data|Monsters]]
** [[Modding:Recipe data|Recipes]]
+
** [[Modding:Special orders|Special orders]]
** [[Modding:Weather data|Weather]]
+
 
 +
* Specialized (normally linked from other pages):
 +
** [[Modding:Common data field types|Common data field types]]
  
 
===Migration guides===
 
===Migration guides===
Line 141: Line 104:
 
| [[Modding:Migrate to SMAPI 3.0|SMAPI 3.0]] || November 2019
 
| [[Modding:Migrate to SMAPI 3.0|SMAPI 3.0]] || November 2019
 
|-
 
|-
| [[Modding:Migrate to Harmony 2.0|Harmony 2.0]] || TBD
+
| [[Modding:Migrate to Stardew Valley 1.5|Stardew Valley 1.5]] || December 2020
 +
|-
 +
| [[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]] || March 2024
 +
|-
 +
| [[Modding:Migrate to Stardew Valley 1.6|Stardew Valley 1.6]] || March 2024
 
|}
 
|}
  
 
===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.wiki.gg/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 151: Line 136:
 
[[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:使用模组:目录]]

Latest revision as of 18:14, 6 April 2024

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: C# mods and content packs (formatted text files that rely on a framework C# mod). Content packs can make new NPCs, edit maps, add new items, add shops, and more, while C# mods can change fundamental game mechanics. Usually it’s easiest to start with making content packs, since you don't need to learn how to program in C#. 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.)

Specific 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 March 2024
Stardew Valley 1.6 March 2024

See also