Difference between revisions of "Modding:Content pack frameworks"

From Stardew Valley Wiki
Jump to navigation Jump to search
(copy verbatim from Modding:Index (all content by LenneDalben))
 
(Add More Nightly Events to the list of content pack frameworks.)
 
(42 intermediate revisions by 13 users not shown)
Line 1: Line 1:
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 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]]. For a pictorial concept map of many of the most popular frameworks, see [[Modding:Modder_Guide/Get_Started/Pictorial_Guide|this page]].
  
'''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
+
Each framework mod defines their own content pack format; see their mod pages for usage.
  
* Send the player basic mail
+
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].
  
* Create entire NPCs
+
==Popular frameworks==
 +
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>
  
* Make changes dynamic, conditional, seasonal, and/or configurable
+
===Core (1000+ content packs)===
 +
{| class="wikitable"
 +
|-
 +
! mod
 +
! functionality
 +
|-
 +
| {{nexus mod|1915|Content Patcher}} <small>(CP)</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.
  
'''Content Patcher Animations (CP-A)''' | [https://www.nexusmods.com/stardewvalley/mods/3853/ CP-A Nexus Mods page]
+
See [[Modding:Content Patcher]] for a getting started guide.
 +
|-
 +
| {{nexus mod|1720|Json Assets}} <small>(JA)</small>
 +
| 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.
  
* Images patched in with CP can be animated
+
See {{github|spacechase0/JsonAssets#readme|its GitHub readme}} for documentation.
 +
|}
  
'''Json Assets (JA)''' | [https://www.nexusmods.com/stardewvalley/mods/1720/ JA Nexus Mods page]
+
===Popular (400+)===
 +
{| class="wikitable"
 +
|-
 +
! mod
 +
! functionality
 +
|-
 +
| {{nexus mod|9246|Alternative Textures}} <small>(AT)</small>
 +
| 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}} <small>(PFM)</small>
 +
| 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.
 +
|}
  
* Create new objects, Big Craftables (placeable, machine-sized), crops, fruit trees, hats, weapons, shirts, pants, and boots
+
===Common (100+)===
* Specify crafting, cooking, and tailor recipes for new items
+
{| class="wikitable"
* Specify gift tastes for new items
+
|-
* New item data and images can also be targeted with CP
+
! mod
 +
! functionality
 +
|-
 +
| {{nexus mod|2080|Better Artisan Good Icons}} <small>(BAGI)</small>
 +
| Add custom icons to artisanal items like [[honey]] or [[wine]] based on the item or flower used to make them.
 +
|-
 +
| [https://smapi.io/mods/#Paritee.27s_Better_Farm_Animal_Variety Better Farm Animal Variety] <small>(BFAV)</small>
 +
| Add new farm animal types.
 +
|-
 +
| {{nexus mod|1254|Custom Furniture}} <small>(CF)</small>
 +
| Add new [[furniture]] items.
 +
|-
 +
| {{nexus mod|3043|Custom Music}} <small>(CM)</small>
 +
| Replace or add music tracks and sound effects.
 +
|-
 +
| {{nexus mod|9365|Dynamic Game Assets}} <small>(DGA)</small>
 +
| 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}} <small>(FTM)</small>
 +
| Add farm-like spawning logic to any map. That includes spawning stumps, debris, forage, meteors, monsters, ores, etc.
 +
|-
 +
| {{nexus mod|9969|Fashion Sense}} <small>(FS)</small>
 +
| Allows for bigger accessories, hairstyles, hats, shirts, sleeves and pants, as well as animation support and more.
 +
|-
 +
| {{nexus mod|1536|Mail Framework Mod}} <small>(MFM)</small>
 +
| 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.)
 +
|-
 +
| {{nexus mod|5005|Shop Tile Framework}} <small>(STF)</small>
 +
| Add new shops or edit existing shop inventories with a wide variety of conditions.
 +
|-
 +
| {{nexus mod|1820|TMXL Map Toolkit}} <small>(TMXL)</small>
 +
| 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.
  
'''Producer Framework Mod (PFM)''' | [https://www.nexusmods.com/stardewvalley/mods/4970/ PFM Nexus Mods page]
+
See [https://gist.github.com/notevenamouse/6339a7975ae5d13802488d88a8b10a64#file-wip-passive-features-md additional TMXL documentation].
* 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]
+
===Specialized frameworks===
* Make new items that behave as furniture (e.g. rotatable, or placeable on walls)
+
These have fewer than 100 content packs, but provide useful functionality for specific cases.
  
'''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]  | [https://gist.github.com/hatrat/6339a7975ae5d13802488d88a8b10a64#file-wip-passive-features-md Additional PyTK documentation]
+
{| class="wikitable"
* Necessary to add new map locations
+
|-
* Tons of map features like crop layers and water color
+
! mod
* Can use high resolution textures anywhere, even unrelated to maps
+
! functionality
* Extreme custom tile actions and Lua scripting
+
|-
 +
| {{nexus mod|11115|Better Crafting}} <small>(BC)</small>
 +
| 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. '''1.6 Only.'''
 +
|-
 +
| {{nexus mod|3853|Content Patcher Animations}} <small>(CP-A)</small>
 +
| 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}} <small>(CC)</small>
 +
| 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}} <small>(CCS)</small>
 +
| 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|1255|Custom Critters}} <small>(CC)</small>
 +
| Add custom critters to the world, like butterflies and bees.
 +
|-
 +
| {{nexus mod|13804|Custom Farm Loader}} <small>(CFL)</small>
 +
| 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.
 +
|-
 +
| {{nexus mod|10202|Custom Obelisks}} <small>(CO)</small>
 +
| Add custom obelisks that let you teleport from the farm to any location, as well as totems.
 +
|-
 +
| {{nexus mod|5966|Custom Ore Nodes}} <small>(CON)</small>
 +
| Add rock/mineral types you can break to get items, either custom or from the base game. (1.5)
 +
|-
 +
| {{nexus mod|6669|Custom Resource Clumps}} <small>(CRC)</small>
 +
| Add new types of boulder-sized resource clumps you can break to get items, either custom or from the base game. (1.5)
 +
|-
 +
| {{nexus mod|10024|Custom Winter Star Gifts}} <small>(CWSG)</small>
 +
| Change the gifts people give at the Winter Star festival via a set of many add and replace instructions.
 +
|-
 +
| {{nexus mod|7431|Expanded Storage}} <small>(XS)</small>
 +
| Adds custom storages (chests, cabinets, etc.) that support capacity at vanilla levels and beyond.
 +
|-
 +
| {{nexus mod|22612|More Nightly Events}} <small>(MNE)</small>
 +
| Adds custom night-time events, using either configurable pre-made events, or by making your own with [[Modding:Event data|event scripting]]. '''1.6 Only.'''
 +
|-
 +
| {{nexus mod|6414|Quest Framework}} <small>(QF)</small>
 +
| Add modders the ability to create custom quests, define custom quest types and handle quests on the back-end.
 +
|-
 +
| {{nexus mod|6183|Train Station}} <small>(TS)</small>
 +
| Make new locations accessible through the [[railroad]] train station, so you don't need to patch paths/warps into existing maps.
 +
|-
 +
| {{nexus mod|17265|Unlockable Bundles}} <small>(UB)</small>
 +
| Enables custom bundle creation.
 +
|-
 +
| {{nexus mod|20357|Item Extensions}} <small>(IE)</small>
 +
| Gives modders the ability to create custom resources, custom mixed seeds, and interactions between objects in-menu. (1.6)
 +
|-
 +
| {{nexus mod|20537|Personal Indoor Farm}} <small>(PIF)</small>
 +
| Adds new personal FarmHouse rooms. Modders can add room designs
 +
|}
  
'''Farm Type Manager (FTM)''' | [https://www.nexusmods.com/stardewvalley/mods/3231/ FTM Nexus Mods page]
+
==See also==
* Spawn stumps, debris, forage, ores, meteors, etc.
+
* [[Modding:Index]] for different ways to create mods, and more detailed documentation.
* 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]
+
[[Category:Modding]]
* Make new types of rocks you can break to get items, either custom or from the base game
 
  
'''Custom Resource Clumps (CRC)''' | [https://www.nexusmods.com/stardewvalley/mods/6669 CRC Nexus Mods page]
+
[[pt:Modificações:Frameworks de pacotes de conteúdo]]
* Make new types of boulder-sized resource clumps 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
 

Latest revision as of 05:07, 17 April 2024

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. 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. (The parenthesis next to each name is the conventional acronym used in the folder name.)

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
Better Artisan Good Icons (BAGI) Add custom icons to artisanal items like honey or wine based on the item or flower used to make them.
Better Farm Animal Variety (BFAV) Add new farm animal types.
Custom Furniture (CF) Add new furniture items.
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. 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 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
Better Crafting (BC) 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. 1.6 Only.

Content Patcher Animations (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. Supports among other things spawning items/wild crops/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. (1.5)
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. (1.5)
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 (XS) Adds custom storages (chests, cabinets, etc.) that support capacity at vanilla levels and beyond.
More Nightly Events (MNE) Adds custom night-time events, using either configurable pre-made events, or by making your own with event scripting. 1.6 Only.
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 Bundles (UB) Enables custom bundle creation.
Item Extensions (IE) Gives modders the ability to create custom resources, custom mixed seeds, and interactions between objects in-menu. (1.6)
Personal Indoor Farm (PIF) Adds new personal FarmHouse rooms. Modders can add room designs

See also

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