Difference between revisions of "Modding:Content pack frameworks"

From Stardew Valley Wiki
Jump to navigation Jump to search
m (Change PFM exemple from casks to keg since PFM does not support casks.)
(replace somewhat subjective 'active frameworks' with 'popular frameworks' based on content pack counts, sort specialized table)
Line 5: Line 5:
 
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].
 
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].
  
==Active frameworks==
+
==Popular frameworks==
===Core frameworks===
+
Here are the framework mods used most often to create content packs.
These are the most popular frameworks (with at least 100 released content packs each) used to create a wide variety of mods.
 
  
 +
===Core (1000+ content packs)===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! mod
 
! mod
 
! functionality
 
! functionality
|-
 
| {{nexus mod|9246|Alternative Textures (AT)}}
 
| Enables texture variation for placeable objects, buildings and entities. This includes trees, animals, pets, farm buildings, plants, and more.
 
 
|-
 
|-
 
| {{nexus mod|1915|Content Patcher (CP)}}
 
| {{nexus mod|1915|Content Patcher (CP)}}
Line 26: Line 23:
  
 
See {{github|spacechase0/JsonAssets#readme|its GitHub readme}} for documentation.
 
See {{github|spacechase0/JsonAssets#readme|its GitHub readme}} for documentation.
 +
|}
 +
 +
===Popular (400+)===
 +
{| class="wikitable"
 +
|-
 +
! mod
 +
! functionality
 +
|-
 +
| {{nexus mod|9246|Alternative Textures (AT)}}
 +
| Enables texture variation for placeable objects, buildings and entities. This includes trees, animals, pets, farm buildings, plants, and more.
 +
|-
 +
| {{nexus mod|4970|Producer Framework Mod (PFM)}}
 +
| 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.
 +
|}
 +
 +
===Common (100+)===
 +
{| class="wikitable"
 +
|-
 +
! mod
 +
! functionality
 +
|-
 +
| {{nexus mod|1254|Custom Furniture (CF)}}
 +
| Add new [[furniture]] items to the game.
 +
|-
 +
| {{nexus mod|3043|Custom Music (CM)}}
 +
| Replace or add music tracks and sound effects.
 +
|-
 +
| {{nexus mod|9365|Dynamic Game Assets (DGA)}}
 +
| 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.
 +
|-
 +
| {{nexus mod|3231|Farm Type Manager (FTM)}}
 +
| Add farm-like spawning logic to any map in the game. That includes spawning stumps, debris, forage, meteors, monsters, ores, etc.
 +
|-
 +
| {{nexus mod|9969|Fashion Sense (FS)}}
 +
| Allows for bigger accessories, hairstyles, hats, shirts, sleeves and pants, as well as animation support and more.
 +
|-
 +
| {{nexus mod|1536|Mail Framework Mod (MFM)}}
 +
| Add new mail to the game 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.)
 +
|-
 +
| {{nexus mod|5005|Shop Tile Framework (STF)}}
 +
| Add new shops or edit existing shop inventories with a wide variety of conditions.
 
|-
 
|-
 
| {{nexus mod|1820|TMXL Map Toolkit (TMXL)}}
 
| {{nexus mod|1820|TMXL Map Toolkit (TMXL)}}
Line 31: Line 69:
  
 
See [https://gist.github.com/notevenamouse/6339a7975ae5d13802488d88a8b10a64#file-wip-passive-features-md additional TMXL documentation].
 
See [https://gist.github.com/notevenamouse/6339a7975ae5d13802488d88a8b10a64#file-wip-passive-features-md additional TMXL documentation].
|-
 
| {{nexus mod|4970|Producer Framework Mod (PFM)}}
 
| 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.
 
 
|}
 
|}
  
===Other frameworks===
+
===Specialized frameworks===
Many other frameworks provide specific functionality for content packs.
+
These have fewer than 100 content packs, but provide useful functionality for specific cases.
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 46: Line 81:
 
| {{nexus mod|3853|Content Patcher Animations (CPA, CP-A)}}
 
| {{nexus mod|3853|Content Patcher Animations (CPA, CP-A)}}
 
| Animate any texture loaded through Content Patcher, including for textures that can't normally be animated (''e.g.,'' item sprites).
 
| Animate any texture loaded through Content Patcher, including for textures that can't normally be animated (''e.g.,'' item sprites).
 +
|-
 +
| {{nexus mod|8626|Custom Companions (CC)}}
 +
| 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|6293|Custom Crafting Stations (CCS)}}
 
| {{nexus mod|6293|Custom Crafting Stations (CCS)}}
 
| 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.
 
| 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.
|-
 
| {{nexus mod|8626|Custom Companions (CC)}}
 
| 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|1255|Custom Critters (CC)}}
 
| {{nexus mod|1255|Custom Critters (CC)}}
 
| Add custom critters to the world, like butterflies and bees.
 
| Add custom critters to the world, like butterflies and bees.
 
|-
 
|-
| {{nexus mod|1254|Custom Furniture (CF)}}
+
| {{nexus mod|13804|Custom Farm Loader (CFL)}}
| Add new [[furniture]] items to the game.
+
| A simplified way of adding custom farms to the game. Supports among other things spawning items/debris/resource clumps/beach drops and setting fishing rules within your farms context.
 
|-
 
|-
| {{nexus mod|3043|Custom Music (CM)}}
+
| {{nexus mod|10202|Custom Obelisks (CO)}}
| Replace or add music tracks and sound effects.
+
| Add custom obelisks that let you teleport from the farm to any location, as well as totems.
 
|-
 
|-
 
| {{nexus mod|5966|Custom Ore Nodes (CON)}}
 
| {{nexus mod|5966|Custom Ore Nodes (CON)}}
Line 68: Line 103:
 
| Add new types of boulder-sized resource clumps you can break to get items, either custom or from the base game.
 
| Add new types of boulder-sized resource clumps you can break to get items, either custom or from the base game.
 
|-
 
|-
| {{nexus mod|9365|Dynamic Game Assets (DGA)}}
+
| {{nexus mod|10024|Custom Winter Star Gifts (CWSG)}}
| 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.
+
| Change the gifts people give at the Winter Star festival via a set of many add and replace instructions.
 
|-
 
|-
 
| {{nexus mod|7431|Expanded Storage (ES)}}
 
| {{nexus mod|7431|Expanded Storage (ES)}}
 
| Adds custom storages (chests, cabinets, etc.) that support capacity at vanilla levels and beyond.
 
| Adds custom storages (chests, cabinets, etc.) that support capacity at vanilla levels and beyond.
|-
 
| {{nexus mod|3231|Farm Type Manager (FTM)}}
 
| Add farm-like spawning logic to any map in the game. That includes spawning stumps, debris, forage, meteors, monsters, ores, etc.
 
|-
 
| {{nexus mod|9969|Fashion Sense (FS)}}
 
| Allows for bigger accessories, hairstyles, hats, shirts, sleeves and pants, as well as animation support and more.
 
 
|-
 
|-
 
| {{nexus mod|6414|Quest Framework (QF)}}
 
| {{nexus mod|6414|Quest Framework (QF)}}
 
| Add modders the ability to create custom quests, define custom quest types and handle quests on the back-end.
 
| Add modders the ability to create custom quests, define custom quest types and handle quests on the back-end.
|-
 
| {{nexus mod|1536|Mail Framework Mod (MFM)}}
 
| Add new mail to the game 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.)
 
|-
 
| {{nexus mod|5005|Shop Tile Framework (STF)}}
 
| Add new shops or edit existing shop inventories with a wide variety of conditions.
 
 
|-
 
|-
 
| {{nexus mod|6183|Train Station (TS)}}
 
| {{nexus mod|6183|Train Station (TS)}}
 
| Make new locations accessible through the [[railroad]] train station, so you don't need to patch paths/warps into existing maps.
 
| Make new locations accessible through the [[railroad]] train station, so you don't need to patch paths/warps into existing maps.
|-
 
| {{nexus mod|10202|Custom Obelisks (CO)}}
 
| Add custom obelisks that let you teleport from the farm to any location, as well as totems.
 
|-
 
| {{nexus mod|10024|Custom Winter Star Gifts (CWSG)}}
 
| Change the gifts people give at the Winter Star festival via a set of many add and replace instructions.
 
|-
 
| {{nexus mod|13804|Custom Farm Loader (CFL)}}
 
| A simplified way of adding custom farms to the game.
 
Supports among other things spawning items/debris/resource clumps/beach drops and setting fishing rules within your farms context.
 
 
|-
 
|-
 
| {{nexus mod|15132|Unlockable Areas (UA)}}
 
| {{nexus mod|15132|Unlockable Areas (UA)}}

Revision as of 16:28, 3 June 2023

Content pack frameworks are SMAPI mods which let you write content packs with little or no programming experience, and implement the functionality for you. Content packs are one of the two main ways to mod Stardew Valley, alongside creating C# mods for SMAPI directly. For a pictorial concept map of many of the most popular frameworks, see this page.

Each framework mod defines their own content pack format; see their mod pages for usage.

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.

Popular frameworks

Here are the framework mods used most often to create content packs.

Core (1000+ content packs)

mod functionality
Content Patcher (CP) Add/edit/replace any content asset in the game (i.e., assets normally read from your game's Content 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.

See Modding:Content Patcher for a getting started guide.

Json Assets (JA) 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.

Popular (400+)

mod functionality
Alternative Textures (AT) Enables texture variation for placeable objects, buildings and entities. This includes trees, animals, pets, farm buildings, plants, and more.
Producer Framework Mod (PFM) 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.

Common (100+)

mod functionality
Custom Furniture (CF) Add new furniture items to the game.
Custom Music (CM) Replace or add music tracks and sound effects.
Dynamic Game Assets (DGA) 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.
Farm Type Manager (FTM) Add farm-like spawning logic to any map in the game. That includes spawning stumps, debris, forage, meteors, monsters, ores, etc.
Fashion Sense (FS) Allows for bigger accessories, hairstyles, hats, shirts, sleeves and pants, as well as animation support and more.
Mail Framework Mod (MFM) Add new mail to the game 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.)
Shop Tile Framework (STF) Add new shops or edit existing shop inventories with a wide variety of conditions.
TMXL Map Toolkit (TMXL) 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.

See additional TMXL documentation.

Specialized frameworks

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

mod functionality
Content Patcher Animations (CPA, CP-A) Animate any texture loaded through Content Patcher, including for textures that can't normally be animated (e.g., item sprites).
Custom Companions (CC) Allows creating custom entities that can be spawned on maps or follow the player around. This includes animals in the world or wandering NPCs.
Custom Crafting Stations (CCS) 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.
Custom Critters (CC) Add custom critters to the world, like butterflies and bees.
Custom Farm Loader (CFL) A simplified way of adding custom farms to the game. Supports among other things spawning items/debris/resource clumps/beach drops and setting fishing rules within your farms context.
Custom Obelisks (CO) Add custom obelisks that let you teleport from the farm to any location, as well as totems.
Custom Ore Nodes (CON) Add rock/mineral types you can break to get items, either custom or from the base game.
Custom Resource Clumps (CRC) Add new types of boulder-sized resource clumps you can break to get items, either custom or from the base game.
Custom Winter Star Gifts (CWSG) Change the gifts people give at the Winter Star festival via a set of many add and replace instructions.
Expanded Storage (ES) Adds custom storages (chests, cabinets, etc.) that support capacity at vanilla levels and beyond.
Quest Framework (QF) Add modders the ability to create custom quests, define custom quest types and handle quests on the back-end.
Train Station (TS) Make new locations accessible through the railroad train station, so you don't need to patch paths/warps into existing maps.
Unlockable Areas (UA) Makes map overlays purchaseable through a interactable shop.

See also

  • Modding:Index for different ways to create mods, and more detailed documentation.