Configuring Mods

From Stardew Modding Wiki
Jump to navigation Jump to search

Last edited by Abagaianye on 2025-09-13 06:33:39

Many mods are configurable. This means they have different options you can change, whether it's what color a chicken should be or making the mod compatible with another mod.

How do I know if a mod has configuration options?

  1. The easiest way is to just look at the description on the page you downloaded it from. Mod authors will usually specify the options available. Lookup Anything is a great example of a mod with many options.
  2. Alternately, you can look at the Json file(s) in the mod's folder. Configuration options are set using the "ConfigSchema" property. Looking at the json file will show you all the choices and may also include a description of what they do. The Museum Collection Explained is an example of a very small mod with a simple config option.

How can I change configuration options?

  1. Use a mod like Generic Mod Config Menu, which will display all the options for all configurable mods you have and allows you to easily change them.
  2. Directly edit the mod's config.json file. This file is automatically generated in the mod's folder after you have loaded Stardew Valley at least once via SMAPI. Make sure you use the exact same capitalization, spelling, and spacing as the mod tells you to do or else you may cause errors.

How do I add configuration to my own mod?

  1. Add a config schema to content.json. Here is an example:
      "ConfigSchema": { 
      
    		"Option 1": {"AllowValues": "True, False",
    		"Description": "Turns option 1 off (false) or on (true).", //Note: If you are using i18n, you don't need this field - you can put the description directly in your i18n.
    		"Default": "True"},
    		
    		"Option 2": {"AllowValues": "Red, Blue, Green, Yellow",
    		"Description": "Set the color of something in the mod.",
    		"Default": "Red"},
    		
    		"Option 3": {"AllowValues": "Red, Blue, Green, Yellow, False",
    		"Description": "Set the color of something else in the mod, or turn off coloring the item entirely with false.",
    		"Default": "False"},
      },
    
  2. Later in your code, you can reference the configuration option. There are two common methods.
    1. One is to use the option with a "when" statement, like this:
      "When": {
      			"Option 1": "True",
      			"Option 2": "Red",
      			},
      
    2. The other is to use the option to easily change the file path used, such as for which portrait or sprites to grab. You can see this kind of code in Elle's New Barn Animals or Diverse Stardew Valley.
    3. All available options can be found in Pathoschild GitHub.