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))
 
(expand and format)
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 which let you write [[Modding:Content packs|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 [[Modding:Modder Guide|creating C# mods for SMAPI directly]].
  
'''Content Patcher (CP)''' | [https://www.nexusmods.com/stardewvalley/mods/1915/ CP Nexus Mods page]
+
Each framework mod defines their own content pack format; see their mod pages for usage.
  
* Edit or replace literally any game file in the [[Modding:Player Guide/Getting Started#Find your game folder|game's <tt>Content</tt> folder]].
+
==Active frameworks==
 +
===Core frameworks===
 +
These are the most popular frameworks (with at least 100 released content packs each) used to create a wide variety of mods.
  
* Add new files, alter images, data, and maps
+
{| class="wikitable"
 +
|-
 +
! mod
 +
! functionality
 +
|-
 +
| {{nexus mod|1915|Content Patcher}}
 +
| 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 <tt>Content</tt> folder]]). It supports data/image/map files, including functionality like partial patches, 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.<p>See [[Modding:Content Patcher]] for a getting started guide.</p>
 +
|-
 +
| {{nexus mod|1720|Json Assets}}
 +
| 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.
 +
|-
 +
| {{nexus mod|1820|TMXL Map Toolkit}}
 +
| 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.
 +
|-
 +
| {{nexus mod|4970|Producer Framework Mod}}
 +
| Add/change the inputs/outputs/behaviour of any machine in the game. That includes vanilla machines (e.g. [[Cask|casks]]), machines added by other mods, and adding machine logic to any big craftable.
 +
|}
  
* Send the player basic mail
+
===Other frameworks===
 +
Many other frameworks provide specific functionality for content packs.
  
* Create entire NPCs
+
{| class="wikitable"
 +
|-
 +
! mod
 +
! functionality
 +
|-
 +
| {{nexus mod|3853|Content Patcher Animations}}
 +
| Animate any texture loaded through Content Patcher, including for textures that can't normally be animated (e.g. item sprites).
 +
|-
 +
| {{nexus mod|1254|Custom Furniture}}
 +
| Add new [[furniture]] items to the game.
 +
|-
 +
| {{nexus mod|3043|Custom Music}}
 +
| Replace or add music tracks and sound effects.
 +
|-
 +
| {{nexus mod|5966|Custom Ore Nodes}}
 +
| Add rock/mineral types that can be broken get items, either custom or from the base game.
 +
|-
 +
| {{nexus mod|6669|Custom Resource Clumps}}
 +
| Add new types of boulder-sized resource clumps you can break to get items, either custom or from the base game.
 +
|-
 +
| {{nexus mod|3231|Farm Type Manager}}
 +
| Add farm-like spawning logic to any map in the game. That includes spawning stumps, debris, forage, meteors, monsters, ores, etc.
 +
|-
 +
| {{nexus mod|1536|Mail Framework Mod}}
 +
| 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}}
 +
| Add new shops or edit existing shop inventories with with a wide variety of conditions.
 +
|-
 +
| {{nexus mod|6183|Train Station}}
 +
| Make new locations accessible through the [[railroad]] train station, so you don't need to patch paths/warps into existing maps.
 +
|}
  
* Make changes dynamic, conditional, seasonal, and/or configurable
+
==See also==
 +
* [[Modding:Index]] for different ways to create mods, and more detailed documentation.
  
'''Content Patcher Animations (CP-A)''' | [https://www.nexusmods.com/stardewvalley/mods/3853/ CP-A Nexus Mods page]
+
[[Category:Modding]]
 
 
* Images patched in with CP can be animated
 
 
 
'''Json Assets (JA)''' | [https://www.nexusmods.com/stardewvalley/mods/1720/ JA Nexus Mods page]
 
 
 
* Create new objects, Big Craftables (placeable, machine-sized), crops, fruit trees, hats, weapons, shirts, pants, and boots
 
* Specify crafting, cooking, and tailor recipes for new items
 
* Specify gift tastes for new items
 
* New item data and images can also be targeted with CP
 
 
 
'''Producer Framework Mod (PFM)''' | [https://www.nexusmods.com/stardewvalley/mods/4970/ PFM Nexus Mods page]
 
* Change the inputs, outputs, and behavior of vanilla machines
 
* Take new machine Big Craftables (created with JA) and make them work
 
 
 
'''Custom Furniture (CF)''' | [https://www.nexusmods.com/stardewvalley/mods/1254/ CF Nexus Mods page]
 
* Make new items that behave as furniture (e.g. rotatable, or placeable on walls)
 
 
 
'''TMXL (and PyTK)''' | [https://www.nexusmods.com/stardewvalley/mods/1820/ TMXL Nexus Mods page] | [https://www.nexusmods.com/stardewvalley/mods/1726/ PyTK Nexus Mods page]  | [https://gist.github.com/hatrat/6339a7975ae5d13802488d88a8b10a64#file-wip-passive-features-md Additional PyTK documentation]
 
* Necessary to add new map locations
 
* Tons of map features like crop layers and water color
 
* Can use high resolution textures anywhere, even unrelated to maps
 
* Extreme custom tile actions and Lua scripting
 
 
 
'''Farm Type Manager (FTM)''' | [https://www.nexusmods.com/stardewvalley/mods/3231/ FTM Nexus Mods page]
 
* Spawn stumps, debris, forage, ores, meteors, etc.
 
* Spawn monsters and create new monster types based on existing ones
 
 
 
'''Custom Ore Nodes (CON)''' | [https://www.nexusmods.com/stardewvalley/mods/5966/ CON Nexus Mods page]
 
* Make new types of rocks you can break to get items, either custom or from the base game
 
 
 
'''Custom Resource Clumps (CRC)''' | [https://www.nexusmods.com/stardewvalley/mods/6669 CRC Nexus Mods page]
 
* 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
 

Revision as of 17:34, 3 January 2021

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.

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

Active frameworks

Core frameworks

These are the most popular frameworks (with at least 100 released content packs each) used to create a wide variety of mods.

mod functionality
Content Patcher 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, including functionality like partial patches, 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 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.
TMXL Map Toolkit 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 Add/change the inputs/outputs/behaviour of any machine in the game. That includes vanilla machines (e.g. casks), machines added by other mods, and adding machine logic to any big craftable.

Other frameworks

Many other frameworks provide specific functionality for content packs.

mod functionality
Content Patcher Animations Animate any texture loaded through Content Patcher, including for textures that can't normally be animated (e.g. item sprites).
Custom Furniture Add new furniture items to the game.
Custom Music Replace or add music tracks and sound effects.
Custom Ore Nodes Add rock/mineral types that can be broken get items, either custom or from the base game.
Custom Resource Clumps Add new types of boulder-sized resource clumps you can break to get items, either custom or from the base game.
Farm Type Manager Add farm-like spawning logic to any map in the game. That includes spawning stumps, debris, forage, meteors, monsters, ores, etc.
Mail Framework Mod 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 Add new shops or edit existing shop inventories with with a wide variety of conditions.
Train Station Make new locations accessible through the railroad train station, so you don't need to patch paths/warps into existing maps.

See also

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