Jump to content

Modding:Content pack frameworks: Difference between revisions

From Stardew Valley Wiki
imported>DreamyGloom
No edit summary
imported>Selph
Add Ladder Chance Framework
 
(55 intermediate revisions by 14 users not shown)
Line 1: Line 1:
'''Content pack frameworks''' are SMAPI mods designed to simplify the process of creating content packs for Stardew Valley. While they aim to minimize the need for programming experience, some familiarity with coding concepts can be helpful. Creating mods directly in C# for SMAPI may be offer insight into the way the game works. [[Modding:Content packs|content packs]] are one of the two main ways to mod Stardew Valley, alongside [[Modding:Modder Guide/Get Started|creating C# mods for SMAPI directly]]. For a pictorial concept map of many of the most popular frameworks, see [[Modding:Modder_Guide/Get_Started/Pictorial_Guide|this page]].
← [[Modding:Index]]


'''Content pack frameworks''' are SMAPI mods designed to simplify the process of creating content packs for Stardew Valley. While they aim to minimize the need for programming experience, some familiarity with coding concepts can be helpful. Creating mods directly in C# for SMAPI may offer insight into the way the game works. [[Modding:Content packs|Content packs]] are one of the two main ways to mod Stardew Valley, alongside [[Modding:Modder Guide/Get Started|creating C# mods for SMAPI directly]].


Each framework mod defines their own content pack format; see their mod pages for usage.
Here's a [https://gist.github.com/ishanjalan/c8efb21afa21f74a052293176db107f7 list of software] for pixel art and JSON text editors we recommend. With software like VS Code and Sublime, you can set up the schema so it checks the formatting of your JSON file as you write your mod. In that way, it's like a built in [https://smapi.io/json/ json validator site]. More details on setting up the schema [https://github.com/Pathoschild/SMAPI/blob/stable/docs/technical/web.md#using-a-schema-file-directly here].


Here's a [https://gist.github.com/paradigmnomad/675687bdfa1fb1e1c9c001f23475e00f list of software] for pixel art and JSON text editors we recommend. With software like VS Code and Sublime, you can set up the schema so it checks the formatting of your JSON file as you write your mod. In that way, it's like a built in [https://smapi.io/json/ json validator site]. More details on setting up the schema [https://github.com/Pathoschild/SMAPI/blob/stable/docs/technical/web.md#using-a-schema-file-directly here].
==Content Patcher==
The recommended framework mod to use is {{nexus mod|1915|Content Patcher}}, which allows you to change how Stardew Valley loads its contents, assets, sprites, maps, and even much of its logic from its [[Modding:Player Guide/Getting Started#Find your game folder|<samp>Content</samp> folder]].


==Popular frameworks==
The following is a non-exhaustive list of new things you can add to the game using Content Patcher:
Here are the framework mods used most often to create content packs. <small>(The parenthesis next to each name is the [[Modding:Content packs#Conventions|conventional acronym used in the folder name]].)</small>
 
* Items (including cooking, crops, trees, clothing, furniture, and new artisan machines that can process inputs)
* Buildings, maps, and locations
* Farm animals and pets
* NPCs, including dialogue, sprites, schedule and events
* Mail, shops, quests, and special orders
 
With Content Patcher you can also patch existing assets, which includes:
 
* Retexturing sprites, including (but not limited to) item sprites, NPC portraits and map appearance
* Changing NPC behavior, dialogue or even their name
* Modify maps to add new locations or warps
 
See [[Modding:Content Patcher]] for a getting started guide.
 
==Other popular frameworks==
While you want to use Content Patcher in most cases, other frameworks can be useful if you need features that isn't supported by the game engine itself. These framework mods usually either extend Content Patcher by adding new assets to the game for content packs to edit (in which case they don't have their own content pack formats, but instead rely on Content Patcher's own), or define their own separate formats.
 
Here is a non-exhaustive list of framework mods used most often to create content packs. <small>(The parenthesis next to each name is the [[Modding:Content packs#Conventions|conventional acronym used in the folder name]] for mods that do not use Content Patcher.)</small>.


===Core (1000+ content packs)===
===Core (1000+ content packs)===
{| class="wikitable"
{| class="wikitable sortable"
|-
|-
! mod
! mod
! is CP extension
! functionality
! functionality
|-
|-
| {{nexus mod|1915|Content Patcher}} <small>(CP)</small>
| {{nexus mod|9246|Alternative Textures}} <small>(AT)</small>
| Add/edit/replace any content asset in the game (''i.e.,'' assets normally read from [[Modding:Player Guide/Getting Started#Find your game folder|your game's <samp>Content</samp> folder]]). It supports data/image/map files, has functionality like partial patches and prepend/append, and supports many different conditions and tokens (''e.g.,'' to make textures seasonal, data that changes by time of day, etc). A wide variety of mods can be created using Content Patcher, from simple portrait replacements to creating entire NPCs.
| no
 
| Enables texture variation for placeable objects, buildings and entities. This includes trees, animals, pets, farm buildings, plants, and more.
See [[Modding:Content Patcher]] for a getting started guide.
|-
| {{nexus mod|9969|Fashion Sense}} <small>(FS)</small>
| no
| Allows for bigger accessories, hairstyles, hats, shirts, sleeves and pants, as well as animation support and more.
|-
|-
| {{nexus mod|1720|Json Assets}} <small>(JA)</small>
| {{nexus mod|1720|Json Assets}} <small>(JA)</small>
| no
| Create specific item types, with support for functionality specific to each item type (''e.g.,'' specifying crafting/cooking/recipes or gift tastes for new items). It currently supports creating objects, big craftables, crops, fruit trees, hats, weapons, shirts, pants, and boots. Content and images added by Json Assets can also be edited through Content Patcher.
| Create specific item types, with support for functionality specific to each item type (''e.g.,'' specifying crafting/cooking/recipes or gift tastes for new items). It currently supports creating objects, big craftables, crops, fruit trees, hats, weapons, shirts, pants, and boots. Content and images added by Json Assets can also be edited through Content Patcher.


See {{github|spacechase0/JsonAssets#readme|its GitHub readme}} for documentation.
See {{github|spacechase0/JsonAssets#readme|its GitHub readme}} for documentation.
'''Note''': 1.6 adds the ability to add new items natively via CP, which should be the preferred method.
|}
|}


===Popular (400+)===
===Popular (400+)===
{| class="wikitable"
{| class="wikitable sortable"
|-
|-
! mod
! mod
! is CP extension
! functionality
! functionality
|-
|-
| {{nexus mod|9246|Alternative Textures}} <small>(AT)</small>
| {{nexus mod|3231|Farm Type Manager}} <small>(FTM)</small>
| Enables texture variation for placeable objects, buildings and entities. This includes trees, animals, pets, farm buildings, plants, and more.
| no
| Add farm-like spawning logic to any map. That includes spawning stumps, debris, forage, meteors, monsters, ores, etc.
|-
|-
| {{nexus mod|4970|Producer Framework Mod}} <small>(PFM)</small>
| {{nexus mod|4970|Producer Framework Mod}} <small>(PFM)</small>
| no
| Add/change the inputs/outputs/behaviour of any machine in the game. That includes vanilla machines (''e.g.,'' [[Keg|keg]]), machines added by other mods, and adding machine logic to any big craftable.
| Add/change the inputs/outputs/behaviour of any machine in the game. That includes vanilla machines (''e.g.,'' [[Keg|keg]]), machines added by other mods, and adding machine logic to any big craftable.
'''Note''': 1.6 adds the ability to add new machine rules natively via CP, which should be the preferred method. PFM still provides several additional features not found in the base game (though most of them are covered by Extra Machine Config, an addon framework on top of CP).
|-
| {{nexus mod|1348|SpaceCore}}
| yes
| A framework providing many features to content pack authors. Features include:
* Crafting/cooking recipes that can take ingredients based on context tags
* Extra item data, such as buffs on consumption
* Extra trigger actions, map actions and game state queries
* Extra yields on crop harvest
* Animated textures
* Custom spawnables and procedurally generated dungeons.
|}
|}


===Common (100+)===
===Common (100+)===
{| class="wikitable"
{| class="wikitable sortable"
|-
|-
! mod
! mod
! is CP extension
! functionality
! functionality
|-
|-
| {{nexus mod|2080|Better Artisan Good Icons}} <small>(BAGI)</small>
| {{nexus mod|2080|Better Artisan Good Icons}} <small>(BAGI)</small>
| no
| Add custom icons to artisanal items like [[honey]] or [[wine]] based on the item or flower used to make them.
| Add custom icons to artisanal items like [[honey]] or [[wine]] based on the item or flower used to make them.
'''Note''': The original Nexus version is not updated for 1.6. Use {{github|chsiao58/EvenBetterArtisanGoodIcons|EBAGI}} if you want to make 1.6 content packs.
|-
| {{nexus mod|23458|Furniture Framework}} <small>(FF)</small>
| no
| A Framework to make "Furniture Packs" with much more freedom that what a simple Content Pack allows: with it you can define seats, table slots, layers, shops, and much more.
|-
| {{nexus mod|1536|Mail Framework Mod}} <small>(MFM)</small>
| no
| Add new mail with functionality like custom backgrounds, repeating mail, a wider variety of mail attachments, and support for multiple attachments.
'''Note''': 1.6 adds the ability to add new mail natively via CP, which should be the preferred method. MFM still provides several additional features not found in the base game (such as attaching items with higher quality to mail).
|}
===Specialized frameworks===
These have fewer than 100 content packs, but provide useful functionality for specific cases.
====Items====
These mods add new functionalities to items, including machines, furniture, and tools.
{| class="wikitable sortable"
|-
! mod
! is CP extension
! functionality
|-
| {{nexus mod|24374|Advanced Melee Framework}} <small>(AMF)</small>
| no
| A framework for creating custom special attacks and enchantments for individual weapons and weapon types.
|-
| {{nexus mod|11115|Better Crafting}} <small>(BC)</small>
| yes/no
| Create custom recipes more advanced than those supported by the base game including support for controlling availability and ingredients via [[Modding:Game state queries|game state queries]], running [[Modding:Trigger actions|trigger actions]] when a player crafts the recipe, and multiple possible ingredients or outputs using [[Modding:Item queries|item queries and spawn fields]].
Create custom crafting stations with a limited selection of recipes, which can optionally be excluded from other crafting menus. These crafting stations can be opened via map tile actions or trigger actions. Allows assigning map tile actions to big craftables, which allows using them with the custom crafting stations feature.
|-
| {{nexus mod|20628|Calcifer}}
| yes
| A core mod providing various useful features. Current feature include custom offset for items displayed on furniture, Custom actions when interacting with furniture, custom item category names, and NPC swimming as part of their schedules.
|-
| {{nexus mod|24794|Craft Anything Framework}}
| yes
| Extend crafting recipes to allow crafting furniture, weapons, tools, and anything else.
|-
| {{nexus mod|20619|Custom Bush}}
| yes
| Allows custom bushes to be added to the game which work like the tea sapling.
|-
| {{nexus mod|6293|Custom Crafting Stations}} <small>(CCS)</small>
| no
| Add customized crafting stations which opens menus with a limited selection of recipes, without those recipes cluttering up the vanilla crafting menus. The stations can be [https://stardewvalleywiki.com/Modding:Big_craftables_data big craftables] that are vanilla or added using Json Assets (JA). The stations can also be added via tiledata added to the map.
'''Note''': This mod is in maintenance mode for 1.6 - Using Better Crafting might be a better idea.
|-
|-
| [https://smapi.io/mods/#Paritee.27s_Better_Farm_Animal_Variety Better Farm Animal Variety] <small>(BFAV)</small>
| {{nexus mod|7431|Expanded Storage}}
| Add new farm animal types.
| yes
| Adds custom storages (chests, cabinets, etc.) that support capacity at vanilla levels and beyond.
|-
|-
| {{nexus mod|1254|Custom Furniture}} <small>(CF)</small>
| {{nexus mod|22256|Extra Machine Configs}}
| Add new [[furniture]] items.
| yes
| Adds extra functionalities to machine input/output rules, such as additional fuels/byproducts for specific recipes or copying color and flavor of input to the output.
|-
|-
| {{nexus mod|3043|Custom Music}} <small>(CM)</small>
| {{nexus mod|31678|Furniture Machine}}
| Replace or add music tracks and sound effects.
| yes
| Allows furniture items to accept machine rules, notable input-output rules. Essentially allows machine dimensions bigger than 1x2.
|-
|-
| {{nexus mod|9365|Dynamic Game Assets}} <small>(DGA)</small>
| {{nexus mod|25157|Glow Buff}}
| Create specific item types, with support for functionality specific to each item type (''e.g.,'' specifying crafting/cooking/recipes or gift tastes for new items). It currently supports creating big craftables, boots, crafting recipes, crops, fences, forge recipes, fruit trees, furniture, hats, machine recipes, melee weapons, objects, gift tastes, pants, shirts, shop entries, tailoring recipes, and texture overrides.
| yes
| Adds a way for authors to apply a real glow effect to food buffs.
|-
|-
| {{nexus mod|3231|Farm Type Manager}} <small>(FTM)</small>
| {{nexus mod|20357|Item Extensions}}
| Add farm-like spawning logic to any map. That includes spawning stumps, debris, forage, meteors, monsters, ores, etc.
| yes
| Gives modders the ability to create custom resources, custom mixed seeds, and interactions between objects in-menu. (1.6)
|-
|-
| {{nexus mod|9969|Fashion Sense}} <small>(FS)</small>
| {{nexus mod|22975|Machine Terrain Framework}}
| Allows for bigger accessories, hairstyles, hats, shirts, sleeves and pants, as well as animation support and more.
| yes
| Adds the ability to define big craftables that can be placed on trees and water, as well as expanding crops behavior with extra drops, plant on water, and customizable triggers.
|-
|-
| {{nexus mod|1536|Mail Framework Mod}} <small>(MFM)</small>
| {{nexus mod|25287|Prismatic Valley Framework}}
| Add new mail with functionality like custom backgrounds, repeating mail, a wider variety of mail attachments, and support for multiple attachments. (Simple mail without the custom functionality can also be added via Content Patcher.)
| yes
| Framework to allow mod authors to specify a texture color override, including Prismatic and custom prismatic palettes, to their content using custom fields in Content Patcher. Currently supported: farm animals, objects, big craftables, and boots.
|-
|-
| {{nexus mod|5005|Shop Tile Framework}} <small>(STF)</small>
| {{nexus mod|25055|Secret Note Framework}}
| Add new shops or edit existing shop inventories with a wide variety of conditions.
| yes
| A framework mod for adding custom Secret Notes to the game. Includes the ability to specify complex eligibility conditions or specific locations, use a different item for the note object, specify custom content and formatting (including images and text, or both), and set any trigger actions to be run when a note is first read.
|-
|-
| {{nexus mod|1820|TMXL Map Toolkit}} <small>(TMXL)</small>
| {{nexus mod|29073|Trinket Tinker}}
| Add/edit in-game locations and maps. It includes a wide variety of specialized map functionality like crop layers, water color, tile actions, and Lua scripting.
| yes
 
| Framework for making custom trinkets with special abilities and trinket companions via content patcher. Also allows trinkets to be summoned without requiring the slot via [[Modding:Trigger actions|trigger actions]].
See [https://gist.github.com/notevenamouse/6339a7975ae5d13802488d88a8b10a64#file-wip-passive-features-md additional TMXL documentation].
|}
|}


===Specialized frameworks===
====Maps and locations====
These have fewer than 100 content packs, but provide useful functionality for specific cases.
These mods add new functionalities to maps and locations, including extra tile actions and properties.
 
{| class="wikitable sortable"
{| class="wikitable"
|-
|-
! mod
! mod
! is CP extension
! functionality
! functionality
|-
|-
| {{nexus mod|3853|Content Patcher Animations}} <small>(CP-A)</small>
| {{nexus mod|27359|Buildings Included}}
| Animate any texture loaded through Content Patcher, including for textures that can't normally be animated (''e.g.,'' item sprites).
| yes
| Allows map makers to add pre-built buildings to their maps and conditionally add/upgrade buildings.
|-
| {{nexus mod|15792|Bush Bloom Mod}} <small>(BBM)<small>
| yes/no
| Allows creating custom bush blooming schedules to support whatever seasons, days, locations, and items you may want.
|-
|-
| {{nexus mod|8626|Custom Companions}} <small>(CC)</small>
| {{nexus mod|32864|Carpentry Catalogue}}
| Allows creating custom entities that can be spawned on maps or follow the player around. This includes animals in the world or wandering NPCs.
| yes
| Allows custom builder NPCs that can construct buildings like Robin, with either their own list of buildings or shared with Robin. Also allows custom blacksmith NPCs who can sell/upgrade tools after a delay.
|-
|-
| {{nexus mod|6293|Custom Crafting Stations}} <small>(CCS)</small>
| {{nexus mod|8000|Central Station}}
| Add customized crafting stations which opens menus with a limited selection of recipes, without those recipes cluttering up the vanilla crafting menus. The stations can be [https://stardewvalleywiki.com/Modding:Big_craftables_data big craftables] that are vanilla or added using Json Assets (JA). The stations can also be added via tiledata added to the map.
| yes
| Make new locations accessible through [[Bus Stop|bus]], [[Railroad|train]], or [[Boat|boat]], so you don't need to patch paths/warps into existing maps. Has backwards compatibility for {{nexus mod|6183|Train Station}} and {{nexus mod|2905|Bus Locations}}, and adds a new location with randomized tourist/shops which can be populated further by other mods.
|-
|-
| {{nexus mod|1255|Custom Critters}} <small>(CC)</small>
| {{nexus mod|1255|Custom Critters}} <small>(CC)</small>
| no
| Add custom critters to the world, like butterflies and bees.
| Add custom critters to the world, like butterflies and bees.
|-
|-
| {{nexus mod|13804|Custom Farm Loader}} <small>(CFL)</small>
| {{nexus mod|13804|Custom Farm Loader}} <small>(CFL)</small>
| A simplified way of adding custom farms. Supports among other things spawning items/debris/resource clumps/beach drops and setting fishing rules within your farms context.
| no
| A simplified way of adding custom farms. Supports among other things spawning items/wild crops/resource clumps/beach drops and setting fishing rules within your farms context.
'''Note''': 1.6 adds the ability to add new farm types natively via CP, which should be the preferred method. CFL still provides several additional features not found in the base game.
|-
|-
| {{nexus mod|10202|Custom Obelisks}} <small>(CO)</small>
| {{nexus mod|9296|Esca's Modding Plugins}}
| Add custom obelisks that let you teleport from the farm to any location, as well as totems.
| yes
| Adds miscellaneous new features for other mods to use. Current features include bed placement and kitchens/minifridges outside of a farmhouse, more Content Patcher Tokens, custom Special Order boards, destroyable bushes, multiple fishing zones, change water color.
|-
|-
| {{nexus mod|5966|Custom Ore Nodes}} <small>(CON)</small>
| {{nexus mod|14493|Mapping Extensions and Extra Properties}}
| Add rock/mineral types you can break to get items, either custom or from the base game.
| yes
| Allow map authors to spice up their maps with the new custom tile properties and extra features. Features including spawning fake NPCs, closeup interactions, opening a letter and more.
|-
|-
| {{nexus mod|6669|Custom Resource Clumps}} <small>(CRC)</small>
| {{nexus mod|28423|Misc Map Action Properties}}
| Add new types of boulder-sized resource clumps you can break to get items, either custom or from the base game.
| yes
|  Add features for locations, buildings, and furniture. Includes tile data lights on map/building/furniture, various map wide visual effects, simple critter spawning, some fixes for custom farmhouse mods, extended building draw layer definition that also works on furniture, and more.
|-
|-
| {{nexus mod|10024|Custom Winter Star Gifts}} <small>(CWSG)</small>
| {{nexus mod|20537|Personal Indoor Farm}}
| Change the gifts people give at the Winter Star festival via a set of many add and replace instructions.
| yes
| Adds new personal FarmHouse rooms. Modders can add room designs.
|-
|-
| {{nexus mod|7431|Expanded Storage}} <small>(XS)</small>
| {{nexus mod|12311|Solid Foundations}} <small>(SF)</small>
| Adds custom storages (chests, cabinets, etc.) that support capacity at vanilla levels and beyond.
| yes/no
| A framework for adding custom buildings to the game.
'''Note''': 1.6 adds the ability to add new buildings natively via CP, which should be the preferred method. SF still supports several features not present in the base game, including custom light sources on building exteriors and auxiliary human door.
|-
| {{nexus mod|17265|Unlockable Bundles}}
| yes
| Enables custom bundle creation and allow items to be registered as wallet currency.
|-
| {{nexus mod|35477|Ladder Chance Framework}}
| yes
| A framework mod to change the chances of a ladder or shaft/hole in the Mines or Skull Cavern under any of numerous conditions using Content Patcher.
|}
 
====Miscellaneous====
These mods extend game functionality in other ways, or provide under-the-hood utilities for modders to use.
{| class="wikitable sortable"
|-
! mod
! is CP extension
! functionality
|-
| {{nexus mod|27100|Button's Extra Trigger Action Stuff}}
| yes
| Adds several extra triggers, actions, and game state queries for Content Patcher mod authors to utilize. See [https://stardew.button.gay/docs/betas the documentation] for a full list and instructions.
|-
| {{nexus mod|23135|Cloudy Skies}}
| yes
| A framework for adding custom weather types to the game, with distinct visual and auditory styles. Includes a variety of trigger actions to simulate weather effects, both beneficial and harmful.
|-
| {{nexus mod|3853|Content Patcher Animations}} <small>(CP-A)</small>
| yes/no
| Animate any texture loaded through Content Patcher, including for textures that can't normally be animated (''e.g.,'' item sprites).
 
'''Note''': It's recommended that you use SpaceCore's animation feature instead.
|-
| {{nexus mod|28284|Cross-Mod Compatibility Tokens}}
| yes
| Adds some special, custom Content Patcher tokens that lets mods access the config values, translations, and dynamic tokens from other mods, including mods that are not made for Content Patcher specifically.
|-
| {{nexus mod|8626|Custom Companions}} <small>(CC)</small>
| no
| Allows creating custom entities that can be spawned on maps or follow the player around. This includes animals in the world or wandering NPCs.
|-
| {{nexus mod|25328|Extra Animal Configs}}
| yes
| Extends farm animal data with additional features, such as multiple harvest types, food other than hay, and multiple choices for hatching/births.
|-
| {{nexus mod|29997|Livestock Bazaar}}
| yes
| Revamps the farm animal purchase menu, and adds ways for mod to create custom animal shops.
|-
| {{nexus mod|22612|More Nightly Events}}
| yes
| Adds custom night-time events, using either configurable pre-made events, or by making your own with [[Modding:Event data|event scripting]].
|-
|-
| {{nexus mod|6414|Quest Framework}} <small>(QF)</small>
| {{nexus mod|30138|Nature In The Valley}} <small>(NiTV)</small>
| Add modders the ability to create custom quests, define custom quest types and handle quests on the back-end.
| yes/no
| Framework for making catchable animals, creatures, critters and beasts with varying behaviors and temperaments. Creatures can either passively spawn according to conditions such as GSQs, or be spawned actively using [[Modding:Trigger actions|trigger actions]].
|-
|-
| {{nexus mod|6183|Train Station}} <small>(TS)</small>
| {{nexus mod|22300|Special Power Utilities}}
| Make new locations accessible through the [[railroad]] train station, so you don't need to patch paths/warps into existing maps.
| yes
| A categorized special items & powers tab. For mod authors working with powers and books, this mod provides the ability to add/specify tabs for their custom powers, change the "book read" message for custom books, add books that grant recipes, and extra Game State Queries, trigger actions and CP tokens.
|-
|-
| {{nexus mod|17265|Unlockable Bundles}} <small>(UB)</small>
| {{nexus mod|49525|Parchment}}
| Enables custom bundle creation.
| yes
| Allows mod authors to create fully customizable in-game books.
|}
|}


==See also==
==See also==
* [[Modding:Index]] for different ways to create mods, and more detailed documentation.
* [[Modding:Index]] for different ways to create mods, and more detailed documentation.
* [https://stardewmodding.wiki.gg/wiki/Tutorial:_Making_Framework_Mods Tutorial: Making Framework Mods] for an external tutorial collecting various instructions and tips on making new framework mods.


[[Category:Modding]]
[[Category:Modding]]


[[pt:Modificações:Frameworks de pacotes de conteúdo]]
[[pt:Modificações:Frameworks de pacotes de conteúdo]]
[[ru:Модификации:Контент-паки и фреймворки]]
[[tr:Modlama:İçerik Paketi Framework'leri]]

Latest revision as of 00:26, 7 August 2026

← Modding:Index

Content pack frameworks are SMAPI mods designed to simplify the process of creating content packs for Stardew Valley. While they aim to minimize the need for programming experience, some familiarity with coding concepts can be helpful. Creating mods directly in C# for SMAPI may offer insight into the way the game works. Content packs are one of the two main ways to mod Stardew Valley, alongside creating C# mods for SMAPI directly.

Here's a list of software for pixel art and JSON text editors we recommend. With software like VS Code and Sublime, you can set up the schema so it checks the formatting of your JSON file as you write your mod. In that way, it's like a built in json validator site. More details on setting up the schema here.

Content Patcher

The recommended framework mod to use is Content Patcher, which allows you to change how Stardew Valley loads its contents, assets, sprites, maps, and even much of its logic from its Content folder.

The following is a non-exhaustive list of new things you can add to the game using Content Patcher:

  • Items (including cooking, crops, trees, clothing, furniture, and new artisan machines that can process inputs)
  • Buildings, maps, and locations
  • Farm animals and pets
  • NPCs, including dialogue, sprites, schedule and events
  • Mail, shops, quests, and special orders

With Content Patcher you can also patch existing assets, which includes:

  • Retexturing sprites, including (but not limited to) item sprites, NPC portraits and map appearance
  • Changing NPC behavior, dialogue or even their name
  • Modify maps to add new locations or warps

See Modding:Content Patcher for a getting started guide.

Other popular frameworks

While you want to use Content Patcher in most cases, other frameworks can be useful if you need features that isn't supported by the game engine itself. These framework mods usually either extend Content Patcher by adding new assets to the game for content packs to edit (in which case they don't have their own content pack formats, but instead rely on Content Patcher's own), or define their own separate formats.

Here is a non-exhaustive list of framework mods used most often to create content packs. (The parenthesis next to each name is the conventional acronym used in the folder name for mods that do not use Content Patcher.).

Core (1000+ content packs)

mod is CP extension functionality
Alternative Textures (AT) no Enables texture variation for placeable objects, buildings and entities. This includes trees, animals, pets, farm buildings, plants, and more.
Fashion Sense (FS) no Allows for bigger accessories, hairstyles, hats, shirts, sleeves and pants, as well as animation support and more.
Json Assets (JA) no Create specific item types, with support for functionality specific to each item type (e.g., specifying crafting/cooking/recipes or gift tastes for new items). It currently supports creating objects, big craftables, crops, fruit trees, hats, weapons, shirts, pants, and boots. Content and images added by Json Assets can also be edited through Content Patcher.

See its GitHub readme for documentation.

Note: 1.6 adds the ability to add new items natively via CP, which should be the preferred method.

Popular (400+)

mod is CP extension functionality
Farm Type Manager (FTM) no Add farm-like spawning logic to any map. That includes spawning stumps, debris, forage, meteors, monsters, ores, etc.
Producer Framework Mod (PFM) no Add/change the inputs/outputs/behaviour of any machine in the game. That includes vanilla machines (e.g., keg), machines added by other mods, and adding machine logic to any big craftable.

Note: 1.6 adds the ability to add new machine rules natively via CP, which should be the preferred method. PFM still provides several additional features not found in the base game (though most of them are covered by Extra Machine Config, an addon framework on top of CP).

SpaceCore yes A framework providing many features to content pack authors. Features include:
  • Crafting/cooking recipes that can take ingredients based on context tags
  • Extra item data, such as buffs on consumption
  • Extra trigger actions, map actions and game state queries
  • Extra yields on crop harvest
  • Animated textures
  • Custom spawnables and procedurally generated dungeons.

Common (100+)

mod is CP extension functionality
Better Artisan Good Icons (BAGI) no Add custom icons to artisanal items like honey or wine based on the item or flower used to make them.

Note: The original Nexus version is not updated for 1.6. Use EBAGI if you want to make 1.6 content packs.

Furniture Framework (FF) no A Framework to make "Furniture Packs" with much more freedom that what a simple Content Pack allows: with it you can define seats, table slots, layers, shops, and much more.
Mail Framework Mod (MFM) no Add new mail with functionality like custom backgrounds, repeating mail, a wider variety of mail attachments, and support for multiple attachments.

Note: 1.6 adds the ability to add new mail natively via CP, which should be the preferred method. MFM still provides several additional features not found in the base game (such as attaching items with higher quality to mail).

Specialized frameworks

These have fewer than 100 content packs, but provide useful functionality for specific cases.

Items

These mods add new functionalities to items, including machines, furniture, and tools.

mod is CP extension functionality
Advanced Melee Framework (AMF) no A framework for creating custom special attacks and enchantments for individual weapons and weapon types.
Better Crafting (BC) yes/no Create custom recipes more advanced than those supported by the base game including support for controlling availability and ingredients via game state queries, running trigger actions when a player crafts the recipe, and multiple possible ingredients or outputs using item queries and spawn fields.

Create custom crafting stations with a limited selection of recipes, which can optionally be excluded from other crafting menus. These crafting stations can be opened via map tile actions or trigger actions. Allows assigning map tile actions to big craftables, which allows using them with the custom crafting stations feature.

Calcifer yes A core mod providing various useful features. Current feature include custom offset for items displayed on furniture, Custom actions when interacting with furniture, custom item category names, and NPC swimming as part of their schedules.
Craft Anything Framework yes Extend crafting recipes to allow crafting furniture, weapons, tools, and anything else.
Custom Bush yes Allows custom bushes to be added to the game which work like the tea sapling.
Custom Crafting Stations (CCS) no Add customized crafting stations which opens menus with a limited selection of recipes, without those recipes cluttering up the vanilla crafting menus. The stations can be big craftables that are vanilla or added using Json Assets (JA). The stations can also be added via tiledata added to the map.

Note: This mod is in maintenance mode for 1.6 - Using Better Crafting might be a better idea.

Expanded Storage yes Adds custom storages (chests, cabinets, etc.) that support capacity at vanilla levels and beyond.
Extra Machine Configs yes Adds extra functionalities to machine input/output rules, such as additional fuels/byproducts for specific recipes or copying color and flavor of input to the output.
Furniture Machine yes Allows furniture items to accept machine rules, notable input-output rules. Essentially allows machine dimensions bigger than 1x2.
Glow Buff yes Adds a way for authors to apply a real glow effect to food buffs.
Item Extensions yes Gives modders the ability to create custom resources, custom mixed seeds, and interactions between objects in-menu. (1.6)
Machine Terrain Framework yes Adds the ability to define big craftables that can be placed on trees and water, as well as expanding crops behavior with extra drops, plant on water, and customizable triggers.
Prismatic Valley Framework yes Framework to allow mod authors to specify a texture color override, including Prismatic and custom prismatic palettes, to their content using custom fields in Content Patcher. Currently supported: farm animals, objects, big craftables, and boots.
Secret Note Framework yes A framework mod for adding custom Secret Notes to the game. Includes the ability to specify complex eligibility conditions or specific locations, use a different item for the note object, specify custom content and formatting (including images and text, or both), and set any trigger actions to be run when a note is first read.
Trinket Tinker yes Framework for making custom trinkets with special abilities and trinket companions via content patcher. Also allows trinkets to be summoned without requiring the slot via trigger actions.

Maps and locations

These mods add new functionalities to maps and locations, including extra tile actions and properties.

mod is CP extension functionality
Buildings Included yes Allows map makers to add pre-built buildings to their maps and conditionally add/upgrade buildings.
Bush Bloom Mod (BBM) yes/no Allows creating custom bush blooming schedules to support whatever seasons, days, locations, and items you may want.
Carpentry Catalogue yes Allows custom builder NPCs that can construct buildings like Robin, with either their own list of buildings or shared with Robin. Also allows custom blacksmith NPCs who can sell/upgrade tools after a delay.
Central Station yes Make new locations accessible through bus, train, or boat, so you don't need to patch paths/warps into existing maps. Has backwards compatibility for Train Station and Bus Locations, and adds a new location with randomized tourist/shops which can be populated further by other mods.
Custom Critters (CC) no Add custom critters to the world, like butterflies and bees.
Custom Farm Loader (CFL) no A simplified way of adding custom farms. Supports among other things spawning items/wild crops/resource clumps/beach drops and setting fishing rules within your farms context.

Note: 1.6 adds the ability to add new farm types natively via CP, which should be the preferred method. CFL still provides several additional features not found in the base game.

Esca's Modding Plugins yes Adds miscellaneous new features for other mods to use. Current features include bed placement and kitchens/minifridges outside of a farmhouse, more Content Patcher Tokens, custom Special Order boards, destroyable bushes, multiple fishing zones, change water color.
Mapping Extensions and Extra Properties yes Allow map authors to spice up their maps with the new custom tile properties and extra features. Features including spawning fake NPCs, closeup interactions, opening a letter and more.
Misc Map Action Properties yes Add features for locations, buildings, and furniture. Includes tile data lights on map/building/furniture, various map wide visual effects, simple critter spawning, some fixes for custom farmhouse mods, extended building draw layer definition that also works on furniture, and more.
Personal Indoor Farm yes Adds new personal FarmHouse rooms. Modders can add room designs.
Solid Foundations (SF) yes/no A framework for adding custom buildings to the game.

Note: 1.6 adds the ability to add new buildings natively via CP, which should be the preferred method. SF still supports several features not present in the base game, including custom light sources on building exteriors and auxiliary human door.

Unlockable Bundles yes Enables custom bundle creation and allow items to be registered as wallet currency.
Ladder Chance Framework yes A framework mod to change the chances of a ladder or shaft/hole in the Mines or Skull Cavern under any of numerous conditions using Content Patcher.

Miscellaneous

These mods extend game functionality in other ways, or provide under-the-hood utilities for modders to use.

mod is CP extension functionality
Button's Extra Trigger Action Stuff yes Adds several extra triggers, actions, and game state queries for Content Patcher mod authors to utilize. See the documentation for a full list and instructions.
Cloudy Skies yes A framework for adding custom weather types to the game, with distinct visual and auditory styles. Includes a variety of trigger actions to simulate weather effects, both beneficial and harmful.
Content Patcher Animations (CP-A) yes/no Animate any texture loaded through Content Patcher, including for textures that can't normally be animated (e.g., item sprites).

Note: It's recommended that you use SpaceCore's animation feature instead.

Cross-Mod Compatibility Tokens yes Adds some special, custom Content Patcher tokens that lets mods access the config values, translations, and dynamic tokens from other mods, including mods that are not made for Content Patcher specifically.
Custom Companions (CC) no Allows creating custom entities that can be spawned on maps or follow the player around. This includes animals in the world or wandering NPCs.
Extra Animal Configs yes Extends farm animal data with additional features, such as multiple harvest types, food other than hay, and multiple choices for hatching/births.
Livestock Bazaar yes Revamps the farm animal purchase menu, and adds ways for mod to create custom animal shops.
More Nightly Events yes Adds custom night-time events, using either configurable pre-made events, or by making your own with event scripting.
Nature In The Valley (NiTV) yes/no Framework for making catchable animals, creatures, critters and beasts with varying behaviors and temperaments. Creatures can either passively spawn according to conditions such as GSQs, or be spawned actively using trigger actions.
Special Power Utilities yes A categorized special items & powers tab. For mod authors working with powers and books, this mod provides the ability to add/specify tabs for their custom powers, change the "book read" message for custom books, add books that grant recipes, and extra Game State Queries, trigger actions and CP tokens.
Parchment yes Allows mod authors to create fully customizable in-game books.

See also