Difference between revisions of "Modding:Console commands"

From Stardew Valley Wiki
Jump to navigation Jump to search
(→‎Relationships: note that you should run `debug houseUpgrade` with `debug marry` if needed)
 
(116 intermediate revisions by 16 users not shown)
Line 1: Line 1:
 
←[[Modding:Index|Index]]
 
←[[Modding:Index|Index]]
  
Stardew Valley's developers added several hidden debug commands to test the game. This page documents them.
+
{{note box|type=warning|text=<span style="font-size: larger;">'''Console commands aren't meant for general use. Be very careful using them.'''</span>
 +
<br />They can have permanent side-effects on your save data, break your save, or have other unintended effects. If you don't understand the command, don't use it on a save you care about.'''
 +
}}
  
If you type 'debug' into the chat box, a message appears: ''ConcernedApe: Nice try...''
+
SMAPI provides access to hundreds of console commands with a wide variety of effects, ranging from useful tools to cheats to specialized test commands. These are documented on this page.
  
== Accessing debug commands ==
+
{{TOC}}
'''These are for advanced users only. These commands may crash or break your save if used incorrectly.'''
 
  
You can run debug commands in the SMAPI window through the <tt>debug</tt> command, assuming you have the bundled Console Commands mod installed:
+
==Format used on this page==
 +
To avoid repeating text, this page uses a few conventions to convey common information:
 +
 
 +
* Required parameters are listed in angle brackets, and optional parameters are listed in square brackets. For example, <code>speed</code> {{t|I:value}} {{o|I:duration}} means the command requires an integer value parameter and has an optional integer duration parameter. Details such as default values should be listed in the description.
 +
* The command names are case-insensitive, but their parameters might be case-sensitive.
 +
* If a command description says that a parameter uses "fuzzy" match, that means that it can match on a case-insensitive partial name. For example, <code>abi</code> would match Abigail if it's fuzzy.
 +
 
 +
==Console commands==
 +
===How to enter console commands===
 +
You must have the Console Commands mod installed to use the commands listed below. That mod is bundled with SMAPI; if you deleted it, just [[Modding:Player Guide/Getting Started|reinstall SMAPI]] to get the mod back.
 +
 
 +
You can enter console commands directly into the SMAPI console window (or into the in-game chat if you have {{nexus mod|2092|Chat Commands}} too). You can type <code>help</code> to get a list of console commands (including commands added by other mods).
 +
 
 +
===Items & money===
 +
{| class="wikitable"
 +
|-
 +
! command
 +
! description
 +
! &nbsp;
 +
|-
 +
{{/cmd
 +
  |command = list_items
 +
  |params  = {{o|S:search text}}
 +
  |desc    = Shows a list of every item in the game (including those added by mods). The optional search text limits results to those which have all of the search words somewhere in their ID + type + name.
 +
 
 +
  |example =
 
<pre>
 
<pre>
debug where Robin
+
> list_items iridium
> Robin is at Farm, 21,4
+
 
 +
                name |                    id
 +
-------------------- | ---------------------
 +
  Iridium Fireplace |              (F)1796
 +
      Iridium Krobus |              (F)2396
 +
        Iridium Pan |      (H)IridiumPanHat
 +
        Iridium Band |                (O)527
 +
        Iridium Bar |                (O)337
 +
...
 
</pre>
 
</pre>
 +
}}
 +
{{/cmd
 +
  |command = player_add name
 +
  |params  = {{t|S:item name}}, {{o|I:count}}, {{o|I:quality}}
 +
  |desc    = Adds an item to your inventory based on its name.
  
== Commands ==
+
Parameters:
{{stub}}
+
* {{t|S:item name}} is the default or translated item name to spawn.
 +
* {{o|I:count}} is how many items to add to your inventory (defaults to 1).
 +
* {{o|I:quality}} is the quality of the item to create (defaults to normal). This can be one of <samp>0</samp> (normal), <samp>1</samp> (silver), <samp>2</samp> (gold), or 4 (<samp>iridium</samp>).
 +
  |example = <code>player_add name "Galaxy Sword"</code> will create a Galaxy Sword.; <code>player_add name "Stir Fry" 10 4</code> will create 10 iridium-quality [[Stir Fry|stir fry]] dishes.
 +
}}
 +
{{/cmd
 +
  |command = player_add
 +
  |params  = {{t|I:item ID}}, {{o|I:count}}, {{o|I:quality}}
 +
  |desc    = Adds an item to your inventory based on its item ID.
  
Many commands that ask for an NPC (such as faceDirection) can take 'farmer' as well.
+
Parameters:
 +
* {{t|I:item ID}} is the unique ID for the item to add (as shown by the <samp>list_items</samp> command).
 +
* {{o|I:count}} is how many items to add to your inventory (defaults to 1).
 +
* {{o|I:quality}} is the quality of the item to create (defaults to normal). This can be one of <samp>0</samp> (normal), <samp>1</samp> (silver), <samp>2</samp> (gold), or 4 (<samp>iridium</samp>).
 +
  |example = <code>player_add (O)246</code> will create a [[Wheat Flour|wheat flour]] item.;<code>player_add (O)128 10 4</code> would create 10 iridium-quality [[pufferfish]].
 +
}}
 +
{{/cmd
 +
  |command = player_setmoney
 +
  |params  = {{t|I:amount}}
 +
  |desc    = Changes the player's total money to the given amount of gold.
 +
  |example = <code>player_setmoney 5000</code> will change your total money to 5000g.
 +
}}
 +
|}
  
=== Items, tools, loot, debris, inventory ===
+
===Player===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! command !! description
+
! command
 +
! description
 +
! &nbsp;
 
|-
 
|-
| <tt>shears</tt> || Adds [[Shears]] to your inventory.
+
{{/cmd
 +
  |command = player_changecolor
 +
  |params  = {{t|S:feature}}, {{t|S:color}}
 +
  |desc    = Sets a color for your character's sprite.
 +
 
 +
Parameters:
 +
* {{t|S:feature}} is one of <samp>hair</samp>, <samp>eyes</samp>, or <samp>pants</samp>.
 +
* {{t|S:color}} is an RGB color, specified as three comma-separated channels from 0 (no color) to 255 (max color).
 +
 
 +
  |example = <code>player_changecolor eyes 255,0,0</code> would make your character's eyes red.
 +
}}
 +
{{/cmd
 +
  |command = player_changestyle
 +
  |params  = {{t|S:target}}, {{t|I:style ID}}
 +
  |desc    = Sets a style for your character's sprite.
 +
 
 +
Parameters:
 +
* {{t|S:target}} is the part of the player's style to change. This is one of <samp>hair</samp>, <samp>shirt</samp>, <samp>skin</samp>, <samp>acc</samp> (accessory), <samp>shoe</samp>, <samp>swim</samp> (whether the player is wearing a swim suit), or <samp>gender</samp>.
 +
* {{t|I:style ID}} is the integer ID for the style to use. For <samp>swim</samp>, this can be <samp>0</samp> (not in a swim suit) or <samp>1</samp> (in a swim suit). For <samp>gender</samp>, this can be <samp>0</samp> (male) or <samp>1</samp> (female).
 +
 
 +
  |example = <code>player_setstyle swim 1</code> would change the player into their swim suit.
 +
}}
 +
{{/cmd
 +
  |command = player_sethealth
 +
  |params  = {{t|I:amount}}
 +
  |desc    = Sets the player's current [[health]].
 +
  |example = <code>player_sethealth 200</code> would give you 200 health points.
 +
}}
 +
{{/cmd
 +
  |command = player_setimmunity
 +
  |params  = {{t|I:amount}}
 +
  |desc    = Sets the player's total [[immunity]]. This is permanent and is affected by immunity buffs. For example, if you set immunity 10 while [[Genie Shoes]] (+6 immunity) are equipped, removing the shoes would set your immunity to 4 (10 - 6). You can reset immunity to normal by removing everything that improves immunity, then entering <code>player_setimmunity 0</code>.
 +
  |example = <code>player_setimmunity 10</code> would you 10 immunity points, or a 100% chance of avoiding buff effects.
 +
}}
 +
{{/cmd
 +
  |command = player_setmaxhealth
 +
  |params  = {{t|I:amount}}
 +
  |desc    = Sets the player's maximum [[health]]. This permanently changes the baseline; for example, if you set your max health to 500 and then drink [[Skull Cavern#Secret|Iridium Snake Milk]], your max health will increase to 525.
 +
  |example = <code>player_setmaxhealth 500</code> would give you a maximum of 500 health points.
 +
}}
 +
{{/cmd
 +
  |command = player_setmaxstamina
 +
  |params  = {{t|I:amount}}
 +
  |desc    = Sets the player's maximum [[energy|stamina]]. This permanently changes the baseline; for example, if you set your max stamina to 300 and then collect a [[Stardrop]], your max stamina will increase to 334.
 +
  |example = <code>player_setmaxstamina 500</code> would give you a maximum of 500 stamina points.
 +
}}
 +
{{/cmd
 +
  |command = player_setname
 +
  |params  = {{t|S:target}},{{t|S:name}}
 +
  |desc    = Sets the name of the current player or their farm, depending on the {{t|S:target}} value (<samp>player</samp> or <samp>farm</samp>).
 +
  |example = <code>player_setname player Malon</code> would change your player name to Malon.;<code>player_setname farm "Lon Lon"</code> would change your farm name to Lon Lon Farm.
 +
}}
 +
{{/cmd
 +
  |command = player_setstamina
 +
  |params  = {{t|I:amount}}
 +
  |desc    = Sets the player's current [[energy|stamina]].
 +
  |example = <code>player_setstamina 200</code> would give you 200 stamina points.
 +
}}
 +
|}
 +
 
 +
===World===
 +
{| class="wikitable"
 
|-
 
|-
| <tt>pickaxe</tt> || Adds a basic [[Pickaxes|Pickaxe]] to your inventory.<br />''Aliases: {{t|pickax}}, {{t|pickaxe}}.''
+
! command
 +
! description
 +
! &nbsp;
 
|-
 
|-
| <tt>pole</tt> || Adds a [[Bamboo Pole]] to your inventory.
+
{{/cmd
 +
  |command = hurry_all
 +
  |params  =
 +
  |desc    = Immediately warps all NPCs to their scheduled positions. (To hurry a single NPC, use [[#Debug commands|<samp>debug hurry npc-name</samp>]] instead.)
 +
  |example =
 +
}}
 +
{{/cmd
 +
  |command = set_farm_type list
 +
  |params  =
 +
  |desc    = Shows a list of farm types you can use with the <samp>set_farm_type</samp> command.
 +
  |example =
 +
}}
 +
{{/cmd
 +
  |command = set_farm_type
 +
  |params  = {{t|S:farm type}}
 +
  |desc    = Sets the player's current [[Farm Maps|farm type]], where {{t|I:farm type}} is one of <samp>0</samp> (standard), <samp>1</samp> (riverlands), <samp>2</samp> (forest), <samp>3</samp> (hilltop), <samp>4</samp> (combat), <samp>5</samp> (four corners), <samp>6</samp> (beach), or a custom farm type ID. You can enter <code>set_farm_type list</code> for a list of valid farm type IDs.
 +
  |example = <code>set_farm_type 1</code> will set the farm type to riverlands.
 +
}}
 +
{{/cmd
 +
  |command = world_clear
 +
  |params  = {{t|S:location}},{{t|S:entity type}}
 +
  |desc    = Removes all entities of the given type from a location.
 +
 
 +
Parameters:
 +
* {{t|S:location}} is the [[Modding:Location data|internal name for a location]], or <samp>current</samp> for the one you're in.
 +
* {{t|S:entity type}} is one of <samp>crops</samp>, <samp>debris</samp>, <samp>fruit-trees</samp>, <samp>furniture</samp>, <samp>grass</samp>, <samp>trees</samp>, <samp>removable</samp> (everything that can be removed or destroyed during normal gameplay), or <samp>everything</samp> (everything including permanent bushes).
 +
  |example = <code>world_clear current debris</code> will remove all debris (sticks, stones, and small plants).
 +
}}
 +
{{/cmd
 +
  |command = world_downminelevel
 +
  |params  =
 +
  |desc    = Goes down one mine level. If you're not in the mines, warps you to the first mine level.
 +
  |example =
 +
}}
 +
{{/cmd
 +
  |command = world_freezetime
 +
  |params  = {{t|I:action}}
 +
  |desc    = Freezes or resumes the time. The {{o|I:action}} can be <samp>0</samp> (resume time) or <samp>1</samp> (freeze time); if omitted, time is toggled.
 +
  |example =
 +
}}
 +
{{/cmd
 +
  |command = world_setday
 +
  |params  = {{t|I:day}}
 +
  |desc    = Sets the day of month.
 +
  |example = <code>world_setday 30</code> will set the date to the 30th of the current season.
 +
}}
 +
{{/cmd
 +
  |command = world_setminelevel
 +
  |params  = {{t|I:mine level}}
 +
  |desc    = Warps you to the given mine level. This can be the [[The Mines|regular mines]] (levels 1&ndash;120), [[Skull Cavern]] (121+), or [[Quarry Mine]] (77377).
 +
  |example = <code>world_setminelevel 80</code> warps to mine level 80.
 +
}}
 +
{{/cmd
 +
  |command = world_setseason
 +
  |params  = {{t|S:season}}
 +
  |desc    = Sets the season (one of <samp>spring</samp>, <samp>summer</samp>, <samp>fall</samp>, or <samp>winter</samp>).
 +
  |example = <code>world_setseason spring</code> will set the season to spring.
 +
}}
 +
{{/cmd
 +
  |command = world_settime
 +
  |params  = {{t|I:time}}
 +
  |desc    = Sets the time of day, using the game's 26-hour time format (from 0600 for 6am at the start of day, to 2600 for 2am at the end of day).
 +
  |example = <code>world_settime 1430</code> will set time to 2:30pm.
 +
}}
 +
{{/cmd
 +
  |command = world_setyear
 +
  |params  = {{t|I:year}}
 +
  |desc    = Sets the year number.
 +
  |example = <code>world_setyear 10</code> will set the the game to the 10th year.
 +
}}
 +
|}
 +
 
 +
===Other===
 +
{| class="wikitable"
 
|-
 
|-
| <tt>slingshot</tt> || Adds a [[Slingshot]] to your inventory.
+
! command
 +
! description
 +
! &nbsp;
 
|-
 
|-
| <tt>wand</tt> || Adds a [[Return Scepter]] to your inventory.
+
{{/cmd
 +
  |command = harmony_summary
 +
  |params  = {{o|S:search}}
 +
  |desc    = Lists the [[Modding:Modder Guide/APIs/Harmony|Harmony patches]] added by SMAPI and other mods. If {{o|S:search}} is given, only patched method names matching any of the search terms will be listed.
 +
  |example = <code>harmony_summary MeleeWeapon</code> will list patches which affect the <samp>MeleeWeapon</samp> class in the game code.
 +
}}
 +
{{/cmd
 +
  |command = help
 +
  |params  = {{o|S:command name}}
 +
  |desc    = Provides documentation for console commands. If called without an argument, shows general help text and a list of available commands. If called with a command name, shows the documentation for that command.
 +
  |example =
 +
}}
 +
{{/cmd
 +
  |command = log_context
 +
  |params  =
 +
  |desc    = Enables logging more contextual info like buttons pressed, menus changed, etc. For example, it can be used to get [[Modding:Player Guide/Key Bindings|key binding codes]] or to simplify troubleshooting. This is enabled until you restart the game, or run the command again to disable it.
 +
  |example =
 +
}}
 +
{{/cmd
 +
  |command = reload_i18n
 +
  |params  =
 +
  |desc    = Reload [[Modding:Translations|translation files]] for all mods. This is mainly useful when translating mods. (Note that if a mod caches the text, it may show the old version until it updates.)
 +
  |example =
 +
}}
 +
{{/cmd
 +
  |command = show_data_files
 +
  |params  =
 +
  |desc    = Opens the folder containing the save and log files.
 +
  |example =
 +
}}
 +
{{/cmd
 +
  |command = show_game_files
 +
  |params  =
 +
  |desc    = Opens the [[Modding:Player Guide/Getting Started#Find your game folder|game folder]].
 +
  |example =
 +
}}
 +
|}
 +
 
 +
Mods may also add their own commands. For example, Content Patcher adds the <samp>patch</samp> command, documented [https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/troubleshooting.md here].
 +
 
 +
===Advanced===
 +
⚠️ These may corrupt or make permanent changes to your save. DO NOT USE THESE unless you're absolutely sure.
 +
 
 +
{| class="wikitable"
 
|-
 
|-
| <tt>can</tt> || Adds a basic [[Watering Cans|Watering Can]] to your inventory.<br />''Aliases: <tt>wateringcan</tt>.''
+
! command
 +
! description
 +
! &nbsp;
 
|-
 
|-
| <tt>pan</tt> || Adds [[Copper Pan]] to your inventory.
+
{{/cmd
 +
  |command = apply_save_fix
 +
  |params  = {{t|S:fix ID}}
 +
  |desc    = Applies one of the game's save migrations to the currently loaded save. Parameters:
 +
* {{t|s:fix ID}} is the unique identifier for the save fix to apply. You can specify <samp>list</samp> to show a list of save fix IDs.
 +
 
 +
  |example = <code>apply_save_fix list</code> would show a list of save fixes.;<code>apply_save_fix AddCampfireKit</code> would add [[Cookout Kit]] to the player's crafting recipes if they meet the requirements for it.
 +
}}
 +
{{/cmd
 +
  |command = debug
 +
  |params  = {{t|*:command text}}
 +
  |desc    = Executes one of the game's debug commands. See [[#Debug commands|''debug commands'']] below for more info.
 +
  |example =
 +
}}
 +
{{/cmd
 +
  |command = regenerate_bundles
 +
  |params  = {{o|S:type}} {{o|*:flags}}
 +
  |desc    = Regenerates your community center bundle data. This will '''reset all bundle progress''', and may have unintended effects if you've already completed bundles. Parameters:
 +
* {{o|S:type}}: the bundle type that will be generated (defaults to the current bundle type). Possible values: [[Bundles|<samp>Default</samp>]] or [[Remixed Bundles|<samp>Remixed</samp>]].
 +
* <samp>confirm</samp>: confirms that you're aware of the potential consequences. Running <samp>regenerate_bundles</samp> without this option will show a warning message instead.
 +
* <samp>ignore_seed</samp> (''optional''): if the type is <samp>Remixed</samp>, causes remixed bundles to be re-randomized without using the save seed.
 +
  |example = <code>regenerate_bundles confirm</code> will regenerate bundles using the save's current settings.;<code>regenerate_bundles remixed ignore_seed confirm</code> will regenerate using randomized [[Remixed Bundles|remixed bundles]].
 +
}}
 +
|}
 +
 
 +
==Debug commands==
 +
{{note box|type=error|text=<span style="font-size: larger;">'''Don't use these commands unless you're aware of the possible consequences.'''</span><br />These are meant for the game developers, not players. They may crash your game, permanently corrupt or break your save, or cause other problems. Using these in a save you care about is not recommended.}}
 +
 
 +
===How to enter debug commands===
 +
The game itself has hundreds of hidden debug commands used to test the game. These [[#Console commands|require the Console Commands mod]] too, but '''every command should be prefixed with <code>debug</code>''' like this:
 +
<pre>
 +
debug where Robin
 +
> Robin is at Farm, 21,4
 +
</pre>
 +
 
 +
The example above returned output, but many commands don't. If there's no output, SMAPI will say ''Sent debug command to the game, but there was no output''.
 +
 
 +
===Macros===
 +
Instead of entering each command directly into the SMAPI console, you can also use the <samp>[[#runmacro|debug runmacro]]</samp> command to a list of debug commands from a text file. (This doesn't work with the non-debug commands.) Here's how to use it:
 +
 
 +
# Create a text file in [[Modding:Player Guide/Getting Started#Find your game folder|your game folder]] (with a <samp>.txt</samp> extension).
 +
# Type commands in this file, one command per line. Each command should start with a slash character (<samp>/</samp>), but should not include <code>debug </code>.
 +
# To run the macro, type <code>debug runmacro &lt;filename&gt;</code> in the SMAPI console, replacing <samp>&lt;filename&gt;</samp> with the name of your command file without the <samp>.txt</samp> extension.
 +
 
 +
For example, let's say you have a <code>quickstart.txt</code> file with these commands:
 +
<pre>
 +
/backpack 12
 +
/Money 10000
 +
/levelup 0 1
 +
/weapon 5
 +
</pre>
 +
 
 +
Entering <code>debug runmacro quickstart</code> in the SMAPI console will execute all the commands, resulting in a backpack upgrade, money set to 10000g, farming skill set to level 1, and a [[Bone Sword]] added to the player's inventory. (Note: <samp>Money</samp> is capitalized in this example because if it is all lowercase it triggers a [[Secrets#Chat|special chat response]] instead of executing the command.)
 +
 
 +
===Items and inventory===
 +
====General item search and spawning====
 +
{| class="wikitable"
 
|-
 
|-
| <tt>hoe</tt> || Adds a basic [[Hoes|Hoe]] to your inventory.
+
! command
 +
! description
 +
! &nbsp;
 
|-
 
|-
| <tt>ax</tt> || Adds a basic [[Axes|Axe]] to your inventory.
+
{{/cmd
 +
  |command = bigitem,big,bi,b
 +
  |params  = {{t|I:itemID}}
 +
  |desc    = Adds the specified craftable to your inventory. See [[Modding:Items|big craftables data]] for a list of base game IDs.
 +
  |example = <code>debug bigitem 12</code> would give you a [[keg]].
 +
}}
 +
{{/cmd
 +
  |command = createdebris,mainmenu
 +
  |params  = {{t|I:itemID}}
 +
  |desc    = Spawns the specified object at your position. See [[Modding:Items|object data]] for a list of base game IDs. The object will initially be laying on the ground and will be picked up if you have room once the game regains focus.
 +
  |example = <code>debug createdebris 24</code> would spawn a [[parsnip]].
 +
  <!-- As odd as it seems, the above alias is correct. There may have been a different "mainmenu" command at one time, but currently it is equivalent to createdebris. -->
 +
}}
 +
{{/cmd
 +
  | command = everythingshop
 +
  | desc    = Opens a shop menu containing a furniture [[catalogue]], all objects, all craftables, and all weapons. All items are free.
 +
}}
 +
{{/cmd
 +
  |command = furniture,ff
 +
  |params  = {{o|I:itemID}}
 +
  |desc    = Adds the specified piece of furniture to your inventory. See [[Modding:Items|furniture data]] for a list of base game IDs. If the itemID is not supplied, a random piece of furniture (ID 0 - 1612) will be given.
 +
  |example = <code>debug furniture 704</code> would give you an [[Oak Dresser]].
 +
}}
 +
{{/cmd
 +
  |command = fuzzyitemnamed,fin,f
 +
  |params  = {{t|S:itemName}},{{o|I:amount}},{{o|I:quality}}
 +
  |desc    = Adds the specified item to your inventory. This is a fuzzy search and the game will look through objects, craftables, furniture, weapons, boots, hats, and clothes to match it. There is no reliable way to use names with spaces or differentiate items with the same name, so not all items can be accessed with this command. The optional parameters are for stack amount (defaults is 1) and quality (default is 0.)
 +
  |example = <code>debug fuzzyitemnamed sturg 5 4</code> would give you a stack of five Iridium-quality [[Sturgeon]].; <code>debug fin galaxy</code> would give you a [[Galaxy Sword]].; <code>debug f grief</code> would give you a [[Tailoring#Shirts|"Good Grief" Shirt]].
 +
}}
 +
{{/cmd
 +
  |command = getindex
 +
  |params  = {{t|S:itemName}}
 +
  |desc    = Outputs the parent sheet index (''i.e.,'' ID) of the specified item to the SMAPI console. This is a fuzzy search with similar behavior to the <code>fuzzyitemnamed</code> command. Weapons, Boots, and Hats are recognized but will not return the correct ID.
 +
  |example = <code>debug getindex prisma</code> would output ''Prismatic Shard's index is 74''.;<code>debug getindex grief</code> would output ''"Good Grief" Shirt's index is 1008''.
 +
}}
 +
{{/cmd
 +
  |command = item,i
 +
  |params  = {{t|I:itemID}},{{o|I:amount}},{{o|I:quality}}
 +
  |desc    = Adds the specified object to your inventory. Despite the generic name, this accepts object IDs only. The optional parameters are for stack amount (default is 1) and quality (default is 0.)
 +
  |example = <code>debug item 74</code> would give you a [[Prismatic Shard]].
 +
}}
 +
{{/cmd
 +
  |command = itemnamed,in
 +
  |params  = {{t|S:itemName}},{{o|I:amount}},{{o|I:quality}}
 +
  |desc    = Adds the specified object to your inventory. Accepts only object names; this is not a fuzzy match but is case-insensitive. Punctuation should be included, but all spaces should be removed from the name (see examples below). If the requested name is not unique, all matching objects will be added. The optional parameters are for stack amount (default is 1) and quality (default is 0.)
 +
  |example = <code>debug itemnamed miner'streat</code> would give you [[Miner's Treat]].;<code>debug in strangedoll 3</code> would give you 3 of each of the Strange Doll [[artifacts]].
 +
}}
 +
{{/cmd
 +
  |command = lookup,lu
 +
  |params  = {{t|S:itemName}}
 +
  |desc    = Outputs the parent sheet index (''i.e.,'' ID) of the specified object to the SMAPI console. Accepts only object names; this is not a fuzzy match but is case-insensitive and spaces should still be included (see examples below). If the requested name is not unique, all matching objects will be included in the output.
 +
  |example = <code>debug lookup diamond</code> would output ''diamond 72''.; <code>debug lu strange doll</code> would output ''strange 126'' and ''strange 127''.
 +
}}
 +
{{/cmd
 +
  |command = tv
 +
  |desc    = Adds a TV furniture item to your inventory; this will be either a Budget TV or Plasma TV, randomly chosen with equal chances.
 +
}}
 +
{{/cmd
 +
  |command = wallpaper,wp
 +
  |params  = {{o|I:itemID}}
 +
  |desc    = Adds specified wallpaper item to inventory. If no ID is specified, this will randomly pick from any floor (ID 0-39) or wallpaper (ID 0-111). IDs over 111 do give items, but these will be either a combination of two different floor textures or a warped single floor texture.
 +
}}
 +
|}
 +
 
 +
====Backpack and inventory====
 +
{| class="wikitable"
 
|-
 
|-
| <tt>mp</tt> || Adds a [[Milk Pail]] to your inventory.
+
! command
 +
! description
 +
! &nbsp;
 
|-
 
|-
| <tt>lantern</tt> || '''[broken]''' Adds a Lantern to your inventory. However, the game freezes if you try to use it. One possible way to get out is by clicking the Quest menu.
+
{{/cmd
 +
  |command = backpack
 +
  |params  = {{t|I:amount}}
 +
  |desc    = Increases your inventory space by the specified amount; capped at 36 slots.
 +
}}
 +
{{/cmd
 +
  |command = clear,ci
 +
  |desc    = Removes all items currently in your inventory.
 +
}}
 +
{{/cmd
 +
  |command = doesitemexist
 +
  |params  = {{t|I:itemID}}, {{o|S:isCraftable}}
 +
  |desc    = Checks all locations and all player inventories to see if the specified item exists anywhere. If the isCraftable argument is present (no matter what it is), the search will look for [[Modding:Items|big craftables]] with the specified ID; if the isCraftable argument is absent, the search will instead look for Objects with the specified ID. A global message saying ''Yes'' or ''No'' will be displayed, but there is no indication of where the item is located if it is found.
 +
  |example = <code>debug doesitemexist 24</code> will search for Parsnips; <code>debug doesitemexist 12 t</code> will search for Kegs.
 +
}}
 +
{{/cmd
 +
  |command = fillbackpack,fillbp,fill,fbp
 +
  |desc    = Fills all empty spaces in your inventory with random Objects. Any objects spawned by this command will not be marked as found on the collections tab.
 +
}}
 +
{{/cmd
 +
  |command = sl
 +
  |desc    = Shifts inventory rows down, looping previous bottom row to top; similar to using Control-Tab with default keyboard controls. Will work with larger-than-normal inventories.
 +
}}
 +
{{/cmd
 +
  |command = sr
 +
  |desc    = Shifts inventory rows up, looping previous top row to bottom; similar to using Tab with default keyboard controls. Will work with larger-than-normal inventories.
 +
}}
 +
|}
 +
 
 +
====Clothing and tailoring====
 +
{| class="wikitable"
 
|-
 
|-
| colspan=2 |
+
! command
 +
! description
 +
! &nbsp;
 
|-
 
|-
| {{t|skullkey}} || Adds the [[Skull Key]] to your wallet.
+
{{/cmd
 +
  |command = boots
 +
  |params  = {{t|I:itemID}}
 +
  |desc    = Adds the specified pair of [[Footwear|boots]] to your inventory. See <samp>Data/Boots</samp> for a list of base game IDs.
 +
  |example = <code>debug boots 504</code> would give you [[Sneakers]].
 +
}}
 +
{{/cmd
 +
  |command = clothes
 +
  |params  = {{t|I:itemID}}
 +
  |desc    = Adds the specified [[Tailoring|clothing]] item to your inventory. See <samp>Data/ClothingInformation</samp> for a list of base game IDs.
 +
  |example = <code>debug clothes 1008</code> would give you a "Good Grief" Shirt.; <code>debug clothes 11</code> would give you a Simple Dress.
 +
}}
 +
{{/cmd
 +
  |command = dye
 +
  |params  = {{t|S:itemType}}, {{t|S:color}}, {{t|F:strength}}
 +
  |desc    = Dyes the specified (currently equipped) item the specified color. Item type can be <samp>shirt</samp> or <samp>pants</samp> and valid colors are <samp>black</samp>, <samp>blue</samp>, <samp>green</samp>, <samp>red</samp>, <samp>white</samp>, and <samp>yellow</samp>. Strength is a float between 0 and 1 inclusive; the higher the number, the more vibrant the color. The dye will mix with the current color so it is sometimes necessary to "reset" the item by dyeing first with white strength 1.
 +
  |example = <code>debug dye shirt red 0.33</code> would dye your current shirt a shade of pink.; <code>debug dye pants blue 1</code> would dye your current pants bright blue.
 +
}}
 +
{{/cmd
 +
  |command = dyeAll
 +
  |desc    = Seems to be intended to bring up a character customization menu with HSV sliders for both shirt and pants, but it does not function because all entered commands are forced to lower case. The two individual commands [[#dyepants|dyepants]] and [[#dyeshirt|dyeshirt]] can be used instead.
 +
}}
 +
{{/cmd
 +
  |command = dyemenu
 +
  |desc    = Brings up the same [[Dyeing#Dye_Pots|dyeing menu]] you get by interacting with the dye pots in Emily's house. Filling all six pots with appropriate items will bring up a character customization menu with HSV sliders for dyeing both your currently-equipped shirt and pants.
 +
}}
 +
{{/cmd
 +
  |command = dyepants
 +
  |desc    = Brings up a character customization menu with HSV sliders for dyeing your currently-equipped pants.
 +
}}
 +
{{/cmd
 +
  |command = dyeshirt
 +
  |desc    = Brings up a character customization menu with HSV sliders for dyeing your currently-equipped shirt.
 +
}}
 +
{{/cmd
 +
  |command = hat
 +
  |params  = {{t|I:itemID}}
 +
  |desc    = Gives and automatically equips the specified [[Hats|hat]] to your farmer; any currently equipped hat will be destroyed.  See [[Modding:Items|hat data]] for a list of base game IDs.
 +
  |example = <code>debug hat 3</code> would give you a [[Sombrero]] and automatically equip it.
 +
}}
 +
{{/cmd
 +
  |command = ring
 +
  |params  = {{t|I:itemID}}
 +
  |desc    = Adds the specified [[Rings|ring]] to your inventory. See [[Modding:Items|object data]] for a list of base game IDs.
 +
  |example = <code>debug ring 527</code> would give you an [[Iridium Band]].
 +
}}
 +
{{/cmd
 +
  |command = tailor
 +
  |desc    = Brings up the same [[Tailoring|tailoring menu]] you get by interacting with the sewing machine in Emily's house.
 +
}}
 +
{{/cmd
 +
  |command = tailorrecipelisttool,trlt
 +
  |desc    = Brings up a special menu listing most Objects, what color they will dye an item, and what clothing item they can make when used in the sewing machine. The menu can be scrolled with the mouse wheel, hovering the mouse over the object will show the tooltip for the clothing it makes, and clicking on the object will add the clothing it makes to your inventory.
 +
}}
 +
|}
 +
 
 +
====Tools and weapons====
 +
{| class="wikitable"
 
|-
 
|-
| {{t|darkTalisman}} || Adds the [[Dark Talisman]] to your wallet and makes the [[Witch's Hut]] accessible. Removes the [[Magic Ink]], if you have it. '''Warning: will clear all mail and flags. Do not use.'''
+
! command
 +
! description
 +
! &nbsp;
 
|-
 
|-
| clearSpecials || Removes all [[Wallet]] items (Rusty Key, Skull Key, Special Charm, Dark Talisman, Magic Ink, Club Card, Dwarven Translation Guide).
+
{{/cmd
 +
  |command = ax
 +
  |desc    = Adds a basic [[Axes|Axe]] to your inventory.
 +
}}
 +
{{/cmd
 +
  |command = forge
 +
  |desc    = Shows the [[Forge]] menu.
 +
}}
 +
{{/cmd
 +
  |command = hoe
 +
  |desc    = Adds a basic [[Hoes|Hoe]] to your inventory.
 +
}}
 +
{{/cmd
 +
  |command = mp
 +
  |desc    = Adds a [[Milk Pail]] to your inventory.
 +
}}
 +
{{/cmd
 +
  |command = pan
 +
  |desc    = Adds a [[Pans|Copper Pan]] to your inventory.
 +
}}
 +
{{/cmd
 +
  |command = pickaxe,pickax,pick
 +
  |desc    = Adds a basic [[Pickaxes|Pickaxe]] to your inventory.
 +
}}
 +
{{/cmd
 +
  |command = pole
 +
  |params  = {{o|I:type}}
 +
  |desc    = Adds a [[Tools#Fishing Poles|Fishing Pole]] of the specified type to your inventory. Valid types are 0 (Bamboo Pole; the default), 1 (Training Rod), 2 (Fiberglass Rod), or 3 (Iridium Rod).
 +
}}
 +
{{/cmd
 +
  |command = shears,scissors
 +
  |desc    = Adds [[Shears]] to your inventory.
 +
}}
 +
{{/cmd
 +
  |command = slingshot
 +
  |desc    = Adds a [[Slingshot]] to your inventory.
 +
}}
 +
{{/cmd
 +
  |command = tool
 +
  |params  = {{t|S:name}},{{t|I:level}}
 +
  |desc    = Changes the upgrade level of the specified tool to the specified level; the tool must be in your inventory. Tool names are case-sensitive but can match partially; valid names are <samp>Ax</samp>, <samp>Hoe</samp>, <samp>Pickaxe</samp>, and <samp>Can</samp>. Upgrade levels are 0 (basic), 1 (copper), 2 (steel), 3 (gold), or 4 (iridium).
 +
  |example = <code>debug tool Pick 0</code> would set your pickaxe to base quality.; <code>debug tool Can 4</code> would set your watering can to iridium quality.; <code>debug tool ax 3</code> would set your '''''pickaxe''''' to gold quality, because of the case-sensitive substring match.
 +
}}
 +
{{/cmd
 +
  |command = trashcan
 +
  |params  = {{t|I:level}}
 +
  |desc    = Changes the upgrade level of your inventory [[Trash Cans|Trash Can]]. Upgrade levels are 0 (basic), 1 (copper), 2 (steel), 3 (gold), or 4 (iridium). The can sprite may not fully update until the inventory is closed and reopened.
 +
}}
 +
{{/cmd
 +
  |command = wand
 +
  |desc    = Adds a [[Return Scepter]] to your inventory.
 +
}}
 +
{{/cmd
 +
  |command = wateringcan,can
 +
  |desc    = Adds a basic [[Watering Cans|Watering Can]] to your inventory.
 +
}}
 +
{{/cmd
 +
  |command = weapon
 +
  |params  = {{t|I:weaponID}}
 +
  |desc    = Adds the specified weapon to your inventory. See [[Modding:Items|weapon data]] for a list of base game IDs.
 +
  |example = <code>debug weapon 12</code> would give you a [[Wooden Blade]].
 +
}}
 +
|}
 +
 
 +
====Wallet items====
 +
{| class="wikitable"
 
|-
 
|-
| itemnamed {{t|string itemName}} {{o|int count}} || Adds {{o|count}} of the item named {{t|itemName}} to player inventory. The {{t|itemName}} is the full item name, with punctuation but no spaces (like {{t|miner'streat}}). If {{o|count}} isn't specified, defaults to 1.<br />''Aliases: {{t|in}}.''
+
! command
 +
! description
 +
! &nbsp;
 
|-
 
|-
| {{t|fillbackpack}} || Fills your inventory with random items until full.<br />''Aliases: {{t|fbp}}, {{t|fill}}, {{t|fillbp}}.
+
{{/cmd
 +
  |command = clearspecials
 +
  |desc    = Removes most special items from your [[Wallet]]. The Rusty Key, Skull Key, Special Charm, Dark Talisman, Magic Ink, Club Card, Dwarven Translation Guide, and Magnifying Glass will all be removed, but Bear's Knowledge and Spring Onion Mastery will remain.
 +
}}
 +
{{/cmd
 +
  |command = darktalisman
 +
  |desc    = Adds the [[Dark Talisman]] to (and removes the [[Magic Ink]] from) your wallet; also removes the magic artifact blocking access to the [[Witch's Swamp]].<br />'''Warning: This command will also clear all received mail and hidden mail flags.'''
 +
}}
 +
{{/cmd
 +
  |command = skullkey
 +
  |desc    = Adds the [[Skull Key]] to your wallet.
 +
}}
 +
{{/cmd
 +
  |command = specialitem
 +
  |params  = {{t|I:itemID}}
 +
  |desc    = Adds the specified special item to your wallet. Which ID values are useful is currently unknown.
 +
}}
 +
{{/cmd
 +
  |command = specials
 +
  |desc    = Adds all special items to your wallet, including Bear's Knowledge and Spring Onion Mastery. The associated events for these two are also marked as seen.
 +
}}
 +
{{/cmd
 +
  |command = townkey
 +
  |desc    = Adds the [[Key To The Town]] to your wallet.
 +
}}
 +
|}
 +
 
 +
====Miscellaneous items====
 +
{| class="wikitable"
 
|-
 
|-
| {{t|removeObjects}} || Clears all objects from the current location.
+
! command
 +
! description
 +
! &nbsp;
 
|-
 
|-
| {{t|removeDebris}} || Removes all debris (such as dropped items).<br />''Aliases: {{t|mainmenu}}, {{t|mainMenu}}.''<br /><!--As odd as it seems, these aliases are indeed aliases. There may have been a different MainMenu command but as things are, these are aliases.-->
+
{{/cmd
 +
  |command = fillbin,fb
 +
  |desc    = Adds a Parsnip, Fire Quartz, LargeMouth Bass, Wild Horseradish, and Wood to the shipping bin.
 +
}}
 +
{{/cmd
 +
  |command = listtags
 +
  |desc    = Outputs all object context tags associated with the currently-held item to the console.
 +
  |example = <code>debug listtags</code> while holding an [[Acorn]] would output ''Tags on Acorn: id_o_309 color_brown tree_seed_item item_acorn category_seeds''.
 +
}}
 +
{{/cmd
 +
  |command = makeinedible
 +
  |desc    = Makes the currently-held item inedible by setting its edibility value to -300; does not affect other instances of the same item.
 +
}}
 +
{{/cmd
 +
  |command = skullgear
 +
  |desc    = Sets your current backpack size to 32 slots, equips a Savage Ring and Iridium Band, equips Space Boots, and clears inventory except for an Iridium Pickaxe, a Galaxy Sword, a stack of 20 Spicy Eels, and a stack of 20 Mega Bombs. Also sets your maximum health to 75 and gives you the Fighter profession. Any previously equipped boots and rings and all previous inventory items are lost.
 +
}}
 +
|}
 +
 
 +
===Player===
 +
====Appearance====
 +
{| class="wikitable"
 
|-
 
|-
| {{t|museumloot}} || Marks artifacts as found and adds minerals to your inventory. Stops when your inventory is full.
+
! command
 +
! description
 +
! &nbsp;
 
|-
 
|-
| {{t|TV}} || Adds a TV to your inventory.
+
{{/cmd
 +
  |command = customizemenu,customize,cmenu
 +
  |desc    = Opens the full character customization menu seen at the start of a new game which includes gender options and player/farm names. Changing the player name will cause the save file to change as well.
 +
}}
 +
{{/cmd
 +
  |command = haircolor
 +
  |params  = {{t|I:R}},{{t|I:G}},{{t|I:B}}
 +
  |desc    = Sets the player's hair color to the specified RGB values. Each has a range of 0-255.
 +
}}
 +
{{/cmd
 +
  |command = hairstyle
 +
  |params  = {{t|I:ID}}
 +
  |desc    = Sets the player's hair style to the specified ID. Note that these IDs are one less than the values shown in the character customization menu and have a range of 0-55 in the base game.
 +
}}
 +
{{/cmd
 +
  |command = pants
 +
  |params  = {{t|I:R}},{{t|I:G}},{{t|I:B}}
 +
  |desc    = Sets the player's pants color to the specified RGB values. Each has a range of 0-255. This no longer has a noticeable effect since pants are now a clothing item; the [[#dyepants|dyepants]] command should be used instead.
 +
}}
 +
{{/cmd
 +
  |command = shirtcolor
 +
  |params  = {{t|I:ID}}
 +
  |desc    = Sets the player's shirt choice to the specified ID. This no longer has a noticeable effect since shirts are now a clothing item; the [[#clothes|clothes]] or [[#dyeshirt|dyeshirt]] commands should be used instead.
 +
}}
 +
{{/cmd
 +
  |command = skincolor
 +
  |params  = {{t|I:ID}}
 +
  |desc    = Sets the player's skin color to the specified ID. Note that these IDs are one less than the values shown in the character customization menu and have a range of 0-23 in the base game.
 +
}}
 +
|}
 +
 
 +
====Health, stamina, buffs, and currency====
 +
{| class="wikitable"
 
|-
 
|-
| weapon {{t|int weaponID}} || Gives the weapon matching {{t|weaponID}} to the player. (For example, {{t|weapon 12}} spawns a [[Wooden Blade]].)
+
! command
 +
! description
 +
! &nbsp;
 
|-
 
|-
| {{t|gold}} || Adds a million gold.
+
{{/cmd
 +
  |command = buff
 +
  |params  = {{t|I:buffID}}
 +
  |desc    = Adds the specified buff to the player. Useful ID values are listed below. Also see the [[#speed|speed]] command.
 +
<!-- Not really happy with the amount of room this takes up, but moving to 3 columns might be bad for those browsing on mobile -->
 +
<table class="wikitable"><tr><td>6 - Full (prevents eating) for 3 min</td><td>18 - Spooked (-8 attack) for 8 sec</td></tr>
 +
<tr><td>7 - Quenched (prevents drinking) for 1 min</td><td>19 - Frozen (-8 speed) for 2 sec</td></tr>
 +
<tr><td>12 - Goblin's Curse (-3 spd/def/att) for 6 sec</td><td>20 - Warrior Energy (+10 attack) for 5 sec</td></tr>
 +
<tr><td>13 - Slimed (-4 speed) for 2.5-3 sec</td><td>21 - Yoba's Blessing (Invincibility) for 5 sec</td></tr>
 +
<tr><td>14 - Jinxed (-8 defense) for 8 sec</td><td>22 - Adrenaline Rush (+2 speed) for 3 sec</td></tr>
 +
<tr><td>17 - Tipsy (-1 speed) for 30 sec</td><td>23 - Oil of Garlic (prevents swarms) for 10 min</td></tr></table>
 +
}}
 +
{{/cmd
 +
  |command = clearbuffs
 +
  |desc    = Removes all active buffs (both positive and negative.)
 +
}}
 +
{{/cmd
 +
  |command = die
 +
  |desc    = Sets your [[health]] to zero, resulting in passing out and awakening in the [[Harvey's Clinic|Clinic]].
 +
}}
 +
{{/cmd
 +
  |command = energize
 +
  |params  = {{o|I:amount}}
 +
  |desc    = Sets your [[energy]] to the specified amount. If no amount is specified, it will be set to maximum.
 +
}}
 +
{{/cmd
 +
  |command = exhaust
 +
  |desc    = Sets your [[energy]] to -15, resulting in passing out and ending the day.
 +
}}
 +
{{/cmd
 +
  |command = gem
 +
  |params  = {{t|I:amount}}
 +
  |desc    = Gives you the specified number of [[Qi Gem|Qi Gems]].
 +
}}
 +
{{/cmd
 +
  |command = gold
 +
  |desc    = Gives you one million (1,000,000) [[gold]].
 +
}}
 +
{{/cmd
 +
  |command = heal
 +
  |desc    = Sets your [[health]] to maximum.
 +
}}
 +
{{/cmd
 +
  |command = invincible,inv,gm
 +
  |desc    = Toggles invincibility. When on, you will not take any damage.
 +
}}
 +
{{/cmd
 +
  |command = money
 +
  |params  = {{t|I:amount}}
 +
  |desc    = Sets your money to the specified amount. To use in a [[#Macros for multiple commands|macro]], make sure one or more of the letters in the command is capitalized.
 +
}}
 +
{{/cmd
 +
  |command = testnut
 +
  |desc    = Spawns a [[Golden Walnut]] at the upper left corner of the current map which will immediately start moving towards a player for collection.
 +
}}
 +
{{/cmd
 +
  |command = walnut
 +
  |params  = {{t|I:amount}}
 +
  |desc    = Gives your team the specified number of Golden Walnuts.
 +
}}
 +
|}
 +
 
 +
====Movement and warping====
 +
{| class="wikitable"
 
|-
 
|-
| {{t|refuel}} || Sets Lantern fuel to maximum (unimplemented feature).
+
! command
 +
! description
 +
! &nbsp;
 
|-
 
|-
| {{t|fillbin}} || Adds five items (24, 82, 136, 16, 388) to the shipping bin.<br />''Aliases: {{t|fb}}.''
+
{{/cmd
 +
  |command = canmove,cm,c
 +
  |desc    = Attempts to force-enable player movement by resetting animations and dismounting the horse. Sometimes useful when the player becomes "stuck."
 +
}}
 +
{{/cmd
 +
  |command = minelevel
 +
  |params  = {{t|I:level}}
 +
  |desc    = Warps you to the specified level of the [[The Mines|Mines]]. Use level 77377 to warp to the [[Quarry Mine]], and to warp to a level in the [[Skull Cavern]], add 120 to your target level.
 +
  |example = <code>debug minelevel 219</code> will warp you to level 99 of the Skull Cavern.
 +
}}
 +
{{/cmd
 +
  |command = printplayerpos,ppp
 +
  |desc    = Prints the player's current position in both tile and pixel coordinates to the console.
 +
}}
 +
{{/cmd
 +
  |command = speed
 +
  |params  = {{t|I:value}},{{o|I:duration}}
 +
  |desc    = Gives the player a speed buff of the specified amount for the specified duration. The duration is interpreted as in-game minutes and defaults to 30; multiplying this value by 0.7 will convert to real-time seconds. This buff has a unique source of "Debug Speed" and will stack with both food and drink speed buffs.
 +
  |example = <code>debug speed 5 600</code> will give you a +5 speed buff which lasts for 7 minutes (10 game hours).
 +
}}
 +
{{/cmd
 +
  |command = volcano
 +
  |params  = {{t|I:level}}
 +
  |desc    = Warps you to the specified level of the [[Volcano Dungeon]].
 +
}}
 +
{{/cmd
 +
  |command = warp
 +
  |params  = {{t|S:locationName}},{{o|I:X}},{{o|I:Y}}
 +
  |desc    = Warps you to the specified location at the given coordinates. The location name is a fuzzy match, and if the coordinates are not supplied the game has a list of hardcoded defaults it will use for many locations (see <samp>Utility.getDefaultWarpLocation()</samp> for details.)
 +
  |example = <code>debug warp forest 33 99</code> will warp you near Hat Mouse's shop in the forest.; <code>debug warp sci</code> will warp you to Robin's House (internally <samp>ScienceHouse</samp>) just in front of where Robin tends the shop.
 +
}}
 +
{{/cmd
 +
  |command = warphome,wh
 +
  |desc    = Warps you directly to your bed in your farmhouse/cabin.
 +
}}
 +
{{/cmd
 +
  |command = warpshop,ws
 +
  |params  = {{t|S:npcName}}
 +
  |desc    = Warps you to the shop run by the specified NPC; if necessary will also warp the NPC to the shop location. NPC names are case-insensitive and can be one of the following: <samp>pierre</samp>, <samp>robin</samp>, <samp>krobus</samp>, <samp>sandy</samp>, <samp>marnie</samp>, <samp>clint</samp>, <samp>gus</samp>, <samp>willy</samp>, <samp>pam</samp>, <samp>dwarf</samp>, and <samp>wizard</samp>. The <samp>wizard</samp> option will also add Magic Ink to your wallet and mark the event where the ink is returned as already seen.
 +
  |example = <code>debug warpshop marnie</code> will warp both you and Marnie to her animal shop.
 +
}}
 +
{{/cmd
 +
  |command = warptocharacter,wtc
 +
  |params  = {{t|S:npcName}}
 +
  |desc    = Warps you to the specified character, wherever they are. This is a fuzzy match.
 +
}}
 +
{{/cmd
 +
  |command = warptoplayer,wtp
 +
  |params  = {{t|S:playerName}}
 +
  |desc    = Warps you to the specified player, wherever they are. The match is case-insensitive and any spaces should be removed from the name.
 +
}}
 +
|}
 +
 
 +
====Skills and XP====
 +
{| class="wikitable"
 
|-
 
|-
| sl || Switches items in player inventory one row down, looping to top. Useful for browsing inventories larger than 36 spaces.
+
! command
 +
! description
 +
! &nbsp;
 
|-
 
|-
| sr || Switches items in player inventory one row up, looping to bottom. Useful for browsing inventories larger than 36 spaces.
+
{{/cmd
 +
  |command = experience
 +
  |params  = {{t|I:skillID}},{{t|I:xpAmount}}
 +
  |desc    = Adds the specified amount of experience to the specified skill. Valid skill IDs are 0 (Farming), 1 (Fishing), 2 (Foraging), 3 (Mining), 4 (Combat), and 5 (Luck).
 +
}}
 +
{{/cmd
 +
  |command = fishing
 +
  |params  = {{t|I:level}}
 +
  |desc    = Sets your fishing skill to the specified level. This does not unlock crafting recipes or allow profession choice, nor does it change the underlying experience amount. However it does count in terms of unlocking what Willy sells and enabling legendary fish to be hooked.
 +
}}
 +
{{/cmd
 +
  |command = levelup
 +
  |params  = {{t|I:skillID}},{{t|I:level}}
 +
  |desc    = Shows the appropriate levelup window for the specified skill and level. This unlocks any associated crafting recipes and (if applicable) lets you choose a profession, but does not actually change the skill level or underlying experience amount. Valid skill IDs are 0 (Farming), 1 (Fishing), 2 (Foraging), 3 (Mining), 4 (Combat), and 5 (Luck).
 +
}}
 +
{{/cmd
 +
  |command = profession
 +
  |params  = {{t|I:ID}}
 +
  |desc    = Gives you the specified profession. Note that this just hard adds the profession, it's not a way to switch skill trees. Valid profession IDs from the base game are shown below.
 +
<table class="wikitable"><tr><th>Farming</th><th>Fishing</th><th>Foraging</th><th>Mining</th><th>Combat</th></tr>
 +
<tr><td>0 - Rancher</td><td>6 - Fisher</td><td>12 - Forester</td><td>18 - Miner</td><td>24 - Fighter</td></tr>
 +
<tr><td>1 - Tiller</td><td>7 - Trapper</td><td>13 - Gatherer</td><td>19 - Geologist</td><td>25 - Scout</td></tr>
 +
<tr><td>2 - Coopmaster</td><td>8 - Angler</td><td>14 - Lumberjack</td><td>20 - Blacksmith</td><td>26 - Brute</td></tr>
 +
<tr><td>3 - Shepherd</td><td>9 - Pirate</td><td>15 - Tapper</td><td>21 - Prospector</td><td>27 - Defender</td></tr>
 +
<tr><td>4 - Artisan</td><td>10 - Mariner</td><td>16 - Botanist</td><td>22 - Excavator</td><td>28 - Acrobat</td></tr>
 +
<tr><td>5 - Agriculturist</td><td>11 - Luremaster</td><td>17 - Tracker</td><td>23 - Gemologist</td><td>29 - Desperado</td></tr></table>
 +
}}
 +
{{/cmd
 +
  |command = showexperience
 +
  |params  = {{t|I:skillID}}
 +
  |desc    = Outputs your total experience amount for the specified skill in the SMAPI console. Valid skill IDs are 0 (Farming), 1 (Fishing), 2 (Foraging), 3 (Mining), 4 (Combat), and 5 (Luck).
 +
}}
 
|}
 
|}
  
=== NPCs, character actors, interactions, relationships ===
+
====Statistics and achievements====
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! command !! description
+
! command
 +
! description
 +
! &nbsp;
 
|-
 
|-
| clone {{t|S:NPC}} || Makes a copy of {{t|NPC}}'s actor and places it to the current location. WARNING: Will crash your game if you do 'clone farmer'!
+
{{/cmd
 +
  |command = achieve
 +
  |params  = {{t|S:steamAchieveID}}
 +
  |desc    = Awards the specified Steam achievement. Steam achievements which correspond to in-game achievements use the same numeric ID as listed in [[Modding:Achievement data|Achievement data]] with one exception: the ID for ''Greenhorn'' is <samp>a0</samp> instead of just <samp>0</samp>. Steam-only achievements have a much longer string ID; these are listed below.
 +
<table class="wikitable"><tr><td><samp>Achievement_SingularTalent</samp> - ''Singular Talent''</td><td><samp>Achievement_MasterOfTheFiveWays</samp> - ''Master Of The Five Ways''</td></tr>
 +
<tr><td><samp>Achievement_LocalLegend</samp> - ''Local Legend''</td><td><samp>Achievement_Joja</samp> - ''Joja Co. Member Of The Year''</td></tr>
 +
<tr><td><samp>Achievement_FullHouse</samp> - ''Full House''</td><td><samp>Achievement_Stardrop</samp> - ''Mystery Of The Stardrops''</td></tr>
 +
<tr><td><samp>Achievement_TheBottom</samp> - '' The Bottom''</td><td><samp>Achievement_KeeperOfTheMysticRings</samp> - ''Protector Of The Valley''</td></tr>
 +
<tr><td><samp>Achievement_PrairieKing</samp> - ''Prairie King''</td><td><samp>Achievement_FectorsChallenge</samp> - ''Fector's Challenge''</td></tr></table>
 +
|example = <code>debug achieve 17</code> will award the Steam achievement for ''Gourmet Chef''.;<code>debug achieve Achievement_Stardrop</code> will award the Steam achievement for ''Mystery of the Stardrops''.
 +
}}
 +
{{/cmd
 +
  |command = achievement
 +
  |params  = {{t|I:achieveID}}
 +
  |desc    = Awards the specified in-game achievement. See [[Modding:Achievement data|Achievement data]] for a list of IDs. This will also award the associated Steam achievement if you don't have it.
 +
}}
 +
{{/cmd
 +
  |command = caughtfish,fishcaught
 +
  |params  = {{t|I:value}}
 +
  |desc    = Sets the <samp>FishCaught</samp> stat to the specified amount.
 +
}}
 +
{{/cmd
 +
  |command = changestat
 +
  |params  = {{t|S:statID}},{{t|I:value}}
 +
  |desc    = Sets the specified stat to the specified value. These are different than the stats used in [[#getstat|getstat]]/[[#setstat|setstat]] (Technical note: they are entries in StardewValley.Stats.stat_dictionary). Known IDs as of version 1.4.3 are: <samp>trashCansChecked</samp>.
 +
}}
 +
{{/cmd
 +
  |command = daysplayed,dap
 +
  |desc    = Shows a global message with the current value of the <samp>daysPlayed</samp> stat.
 +
}}
 +
{{/cmd
 +
  |command = dp
 +
  |params  = {{t|I:value}}
 +
  |desc    = Sets the <samp>daysPlayed</samp> stat to the specified amount.
 +
}}
 +
{{/cmd
 +
  |command = getstat
 +
  |params  = {{t|S:statID}}
 +
  |desc    = Outputs value of specified stat to the SMAPI console. Some of these values are also accessible in-game by interacting with a machine in the [[Casino]].
 +
  Stat IDs are case-sensitive (Technical note: they are the properties for the StardewValley.Stats class, but not all of them are actually tracked by the game.) Known IDs as of version 1.4.3 are: <samp>AverageBedtime</samp>, <samp>BarsSmelted</samp>, <samp>BeveragesMade</samp>, <samp>BouldersCracked</samp>, <samp>CaveCarrotsFound</samp>, <samp>CheeseMade</samp>, <samp>ChickenEggsLayed</samp>, <samp>CoalFound</samp>, <samp>CoinsFound</samp>, <samp>CopperFound</samp>, <samp>CowMilkProduced</samp>, <samp>CropsShipped</samp>, <samp>DaysPlayed</samp>, <samp>DiamondsFound</samp>, <samp>DirtHoed</samp>, <samp>DuckEggsLayed</samp>, <samp>FishCaught</samp>, <samp>GeodesCracked</samp>, <samp>GiftsGiven</samp>, <samp>GoatCheeseMade</samp>, <samp>GoatMilkProduced</samp>, <samp>GoldFound</samp>, <samp>GoodFriends</samp>, <samp>IndividualMoneyEarned</samp>, <samp>IridiumFound</samp>, <samp>IronFound</samp>, <samp>ItemsCooked</samp>, <samp>ItemsCrafted</samp>, <samp>ItemsForaged</samp>, <samp>ItemsShipped</samp>, <samp>MonstersKilled</samp>, <samp>MysticStonesCrushed</samp>, <samp>NotesFound</samp>, <samp>OtherPreciousGemsFound</samp>, <samp>PiecesOfTrashRecycled</samp>, <samp>PreservesMade</samp>, <samp>PrismaticShardsFound</samp>, <samp>QuestsCompleted</samp>, <samp>RabbitWoolProduced</samp>, <samp>RocksCrushed</samp>, <samp>SeedsSown</samp>, <samp>SheepWoolProduced</samp>, <samp>SlimesKilled</samp>, <samp>StarLevelCropsShipped</samp>, <samp>StepsTaken</samp>, <samp>SticksChopped</samp>, <samp>StoneGathered</samp>, <samp>StumpsChopped</samp>, <samp>TimesFished</samp>, <samp>TimesUnconscious</samp>, <samp>TrufflesFound</samp>, and <samp>WeedsEliminated</samp>.
 +
}}
 +
{{/cmd
 +
  |command = killmonsterstat,kms
 +
  |params  = {{t|S:monsterName}},{{t|I:value}}
 +
  |desc    = Sets the kill stats for the specified monster to the specified value. The monster name should be the same as the keys in <samp>Data/Monsters</samp> but with spaces replaced with zeros; it is case-sensitive. The command will output a buggy response to the console due to referencing the wrong string key, but the stats are correctly set.
 +
  |example = <code>debug kms Dust0Spirit 499</code> will set the monster kill stats for [[Dust Sprite|Dust Sprites]] to 499 and output ''Drink Dust Spirit?''
 +
}}
 +
{{/cmd
 +
  |command = mineinfo
 +
  |desc    = Outputs two mine-related stats to the SMAPI Console: <samp>MineShaft.lowestLevelReached</samp> and <samp>player.deepestMineLevel</samp>
 +
}}
 +
{{/cmd
 +
  |command = perfection
 +
  |desc    = Makes a variety of changes to qualify for [[Perfection]]. These include maxing all friendships, marking all fish as caught, awarding and marking complete all cooking and crafting recipes, marking all items as shipped, setting the flags for all stardrops, setting all skill levels to 10, awarding 500 kills for all monsters, forcibly placing all 4 obelisks and the gold clock in the upper left corner of the farm, and giving 130 walnuts.
 +
}}
 +
{{/cmd
 +
  |command = resetachievements
 +
  |desc    = Resets the Steam achievements.
 +
}}
 +
{{/cmd
 +
  |command = setstat
 +
  |params  = {{t|S:statID}},{{t|I:value}}
 +
  |desc    = Sets the specified stat to the specified value. Stat IDs are case-sensitive; see [[#getstat|getstat]] more information.
 +
  |example = <code>debug setstat StepsTaken 99999</code> would set the ''Number of Steps Taken'' stat to 99999.
 +
}}
 +
|}
 +
 
 +
===Collections and quests===
 +
====Cooking and crafting====
 +
{| class="wikitable"
 
|-
 
|-
| sb {{t|S:NPC}}  || Puts "Hello! This is a test" in a bubble above {{t|NPC}}'s head.
+
! command
 +
! description
 +
! &nbsp;
 
|-
 
|-
| sf, setFrame {{t|I}} || Sets and stops the player actor's current animation at the given frame. Only works with the player.
+
{{/cmd
|-
+
  |command = addallcrafting
| fd, face, faceDirection {{t|S:NPC}} {{t|I:dir}} || Sets {{t|NPC}} to face in {{t|direction}}
+
  |desc    = Teaches you all crafting recipes. Basically the same as [[#crafting|crafting]], but this one does not check if you already know the recipe before adding so it may output some error messages to the console about duplicate keys.
|-
+
}}
| jump {{t|S:NPC}} {{t|I}} || makes the given NPC/player actor jump once, at velocity {{t|I}} (Case sensitive). e.g. jump farmer 10
+
{{/cmd
|-
+
  |command = cooking
| c, cm, canmove || Force-enables movement for the player actor. Force-closes inventory menu, presumably other menus and dialogue as well.
+
  |desc    = Teaches you all cooking recipes.
 +
}}
 +
{{/cmd
 +
  |command = cookingrecipe
 +
  |params  = {{t|S:recipeName}}
 +
  |desc    = Teaches you the specified cooking recipe. Names are case-sensitive and may contain spaces.
 +
  |example = <code>debug cookingrecipe Seafoam Pudding</code> will give you the recipe to cook [[Seafoam Pudding]].
 +
}}
 +
{{/cmd
 +
  |command = crafting
 +
  |desc    = Teaches you all crafting recipes.
 +
}}
 +
{{/cmd
 +
  |command = craftingrecipe
 +
  |params  = {{t|S:recipeName}}
 +
  |desc    = Teaches you the specified crafting recipe. Names are case-sensitive and may contain spaces.
 +
  |example = <code>debug craftingrecipe Ancient Seeds</code> will give you the recipe to craft plantable ancient seeds from the artifact.
 +
}}
 +
{{/cmd
 +
  |command = slimecraft
 +
  |desc    = Teaches you the crafting recipes for [[Slime Incubator]] and [[Slime Egg-Press]].
 +
}}
 +
|}
 +
 
 +
====Fishing, museum, and secret notes====
 +
{| class="wikitable"
 
|-
 
|-
| stoprafting || Ends the "is.Rafting" action. (Presumably an unimplemented feature.)
+
! command
 +
! description
 +
! &nbsp;
 
|-
 
|-
| colspan=2 |
+
{{/cmd
|-
+
  |command = clearfishcaught
| db {{t|S:NPC}} || Triggers the relevant dialogue with {{t|NPC}}, or by default, Pierre. Counts as having spoken to that NPC. Prints "Stack empty" in console if the NPC has no more dialogue at that time.
+
  |desc    = Clears all records of which fish you have caught, resetting the collection. To also change the stat which tracks how many total fish have been caught, see [[#caughtfish|caughtfish]].
|-
+
}}
| colspan=2 |
+
{{/cmd
|-
+
  |command = clearmuseum
| divorce || Makes the player divorce from their current spouse that night.
+
  |desc    = Removes all donated items from the museum, emptying the museum displays and causing all artifacts and minerals to have the ''Gunther can tell you more about this...'' description. Does not affect the records of which artifacts and minerals have been found (''i.e.,'' the collection pages).
|-
+
}}
| minigame makeEx {{t|NPC}} || sets <tt>NPC</tt>'s relationship to Farmer as "divorced".
+
{{/cmd
|-
+
  |command = deletearch
| marry {{t|NPC}} || Sets {{t|NPC}} [[friendship]] value to 2500, sets them as Farmer's spouse, and performs <tt>Game1.prepareSpouseForWedding</tt>. If used before house is upgraded (granting the ability to marry) sleeping until the next day will make the game crash.
+
  |desc    = Clears all records of which artifacts and minerals you have found.<br />'''Warning: Also clears all record of which fish you have caught and clears all received mail (including hidden progress flags).'''
|-
+
}}
| friend, friendship {{t|NPC}} {{t|int}} || Sets the friendship point value with {{t|NPC}} to {{t|int}}. If that NPC has not already been greeted, adds them to the list of greeted NPCs.
+
{{/cmd
|-
+
  |command = museumloot
| friendAll || Sets all NPCs to 10 hearts (or 8 hearts for bachelor/ettes that you aren't dating).
+
  |desc    = Adds unfound artifacts and minerals to your inventory until it is full. Items added by this command will now be marked "found" on the collection pages.
|-
+
}}
| killNPC {{t|NPC}} || Removes an NPC from the game.
+
{{/cmd
 +
  |command = newmuseumloot
 +
  |desc    = Adds undonated artifacts and minerals to your inventory until it is full. Items added by this command increment the "Total found" count on the collection pages.
 +
}}
 +
{{/cmd
 +
  |command = note
 +
  |params  = {{t|I:bookID}}
 +
  |desc    = Sets the count of [[Lost Books]] recovered to 18, even if you previously had found more, and brings up a window with the contents of the specified book. Book IDs above 18 will show the message ''There's a book missing here.''
 +
}}
 +
{{/cmd
 +
  |command = sn
 +
  |params  = {{o|I:noteID}}
 +
  |desc    = Adds specified secret note to your inventory. If no ID is specified, a random unseen note will be added. See <samp>Data/SecretNotes</samp> for a list of IDs.
 +
}}
 
|}
 
|}
  
=== Events, festivals, heart events ===
+
====Mail====
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! command !! description
+
! command
 +
! description
 +
! &nbsp;
 
|-
 
|-
| ebi {{t|I:Event ID}} || (Short for Event By Id). Starts the event with the specified ID. Added in 1.4
+
{{/cmd
|-
+
  |command = allmail
| event {{t|S:Location}} {{t|int}} || Starts event {{t|int}} at {{t|Location}}. A location is the name of a file in the game's Data\Events directory. Each has one or more events, which are referenced by {{t|int}}, counting up from zero. You should not already be in the location when starting the event, or things may not work correctly.
+
  |desc    = Queues every letter defined in <samp>Data/mail</samp> for delivery tomorrow.
|-
+
}}
| leaveEvent, endEvent || Ends the current event, but also clears all previous events seen, dialogue questions answered, and mail received. Starts the current event over. (Clarify Possible for that day or entirely)
+
{{/cmd
|-
+
  |command = allmailread
| busDriveBack || BusStop.busDriveBack()
+
  |desc    = Marks every letter defined in <samp>Data/mail</samp> as already read. They will all be accessible in the letters tab of the collections menu.
|-
+
}}
| wedding || Activates the wedding cutscene
+
{{/cmd
|-
+
  |command = broadcastmail
| eventOver || Makes the even start over again.  
+
  |params  = {{t|S:mailID}}
|-
+
  |desc    = Queues specified mail for delivery tomorrow for all players. The ID is case-sensitive; see <samp>Data/mail</samp> for valid IDs in the base game.
| train || Makes a train pass through Stardew Valley.
+
}}
|-
+
{{/cmd
| ccloadcutscene ||
+
  |command = broadcastmailbox
|-
+
  |params  = {{t|S:mailID}}
| ee || Restarts current event (heart events only?). Outside of events, warps player actor to (0,0) on current map.
+
  |desc    = Immediately adds specified mail to all players' mailboxes. The ID is case-sensitive; see <samp>Data/mail</samp> for valid IDs in the base game.
|-
+
}}
| minigame blastoff || starts the cutscene that plays during [[Maru|Maru's]] 10-heart event.
+
{{/cmd
|-
+
  |command = clearmail
| minigame cowboy || starts the minigame [[Journey of the Prairie King]].
+
  |desc    = Clears records of all received mail '''(including hidden progress flags)'''. This also clears the letters tab in the collections menu.
|-
+
}}
| minigame minecart || starts the minigame [[Junimo Kart]].
+
{{/cmd
|-
+
  |command = mailfortomorrow,mft
| minigame grandpa || starts the cutscene with your grandfather from the beginning of the game.
+
  |params  = {{t|S:mailID}},{{o|noletter}}
|-
+
  |desc    = Queues specified mail for delivery tomorrow. The ID is case-sensitive, and any zeros in the given ID will be replaced with underscores. See <samp>Data/mail</samp> for valid IDs (after replacement) in the base game. Because of the zero replacement, some letters (''e.g.,'' <samp>quest10</samp>) are inaccessible with this command; [[#broadcastmail|broadcastmail]] may be a useful alternative in those cases. If the second parameter is present (with any value), the "noletter" flag is set, which will add the mail to your mail received list without showing a "new mail" indicator.
| end || Starts the Stardew Hero Celebration event.
+
}}
 +
{{/cmd
 +
  |command = seenmail
 +
  |params  = {{t|S:mailID}}
 +
  |desc    = Marks specified mail as already received. The ID is case-sensitive; see <samp>Data/mail</samp> for valid IDs in the base game.
 +
}}
 +
{{/cmd
 +
  |command = showmail
 +
  |params  = {{t|S:mailID}}
 +
  |desc    = Brings up the letter-reading window with the specified mail. The ID is case-sensitive; see <samp>Data/mail</samp> for valid IDs in the base game. If a match cannot be found, a blank window will briefly display and an ArgumentOutOfRange error will be triggered. Does not set the letter as received or cause it to show in the letter tab of the collections menu.
 +
  |example = <code>debug showmail SeaAmulet</code> will show the letter Lewis sends about Mermaid's Pendants.
 +
}}
 
|}
 
|}
  
;Quests, world objectives, in-game achievements
+
====Quests and Special Orders====
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! command !! description
+
! command
|-
+
! description
| quest {{t|I:ID}} || Adds quest the ID {{t|ID}}.
+
! &nbsp;
|-
 
| bundle {{t|I:ID}} || Marks bundle {{t|ID}} as completed.
 
|-
 
| completeCC || Sets the Community Centre as complete.
 
|-
 
| completeQuest {{t|I:ID}} || Marks quest {{t|ID}} as complete.
 
|-
 
| caughtFish, fishCaught {{t|I:AMT}} || Sets the number of fish caught to {{t|AMT}}.
 
 
|-
 
|-
| beachBridge || Fixes the bridge separating the beach sections.
+
{{/cmd
|-
+
  |command = clearquests
| deleteArch || Resets records for minerals and artefacts found, fish caught, and mail received.
+
  |desc    = Removes all quests from your journal/quest log.
 +
}}
 +
{{/cmd
 +
  |command = collectquest
 +
  |desc    = Starts a new random resource Gathering quest. If used multiple times on the same game day, the quest will always be the same.
 +
}}
 +
{{/cmd
 +
  |command = completespecialorder,cso
 +
  |desc    = Completes all objectives for all currently active Special Orders and Qi Challenges.
 +
}}
 +
{{/cmd
 +
  |command = completequest
 +
  |params  = {{t|I:questID}}
 +
  |desc    = Completes specified quest and removes it from your journal. See <samp>Data/Quests</samp> for a list of IDs.
 +
}}
 +
{{/cmd
 +
  |command = deliveryquest
 +
  |desc    = Starts a new random item Delivery quest. If used multiple times on the same game day, the quest will always be the same.
 +
}}
 +
{{/cmd
 +
  |command = getallquests
 +
  |desc    = Starts every quest from <samp>Data/Quests</samp> that you don't already have.
 +
}}
 +
{{/cmd
 +
  |command = ordersboard
 +
  |desc    = Shows the [[Quests#List of Special Orders|Special Orders]] quest board.
 +
}}
 +
{{/cmd
 +
  |command = qiboard
 +
  |desc    = Shows the [[Qi's Walnut Room#Special Orders Board|Qi Challenges]] quest board.
 +
}}
 +
{{/cmd
 +
  |command = quest
 +
  |params  = {{t|I:questID}}
 +
  |desc    = Starts the specified quest. See <samp>Data/Quests</samp> for a list of IDs.
 +
}}
 +
{{/cmd
 +
  |command = quests
 +
  |desc    = Starts every quest from <samp>Data/Quests</samp> that you don't already have as well as a random item Delivery quest and a random Slay Monster quest.
 +
}}
 +
{{/cmd
 +
  |command = removequest
 +
  |params  = {{t|I:questID}}
 +
  |desc    = Silently removes specified quest from your journal. See <samp>Data/Quests</samp> for a list of IDs.
 +
}}
 +
{{/cmd
 +
  |command = slayquest
 +
  |desc    = Starts a new random Slay Monster quest. If used multiple times on the same game day, the quest will always be the same.
 +
}}
 +
{{/cmd
 +
  |command = specialorder
 +
  |params  = {{t|S:questID}}
 +
  |desc    = Starts the Special Order (either town or Qi Challenge) with the specified ID. See <samp>Data/SpecialOrders</samp> for a list of IDs.
 +
}}
 
|}
 
|}
  
=== Meta & information ===
+
===NPCs===
 +
====Children====
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! command !! description
+
! command
|-
+
! description
| save || Toggles whether the game saves upon starting a new day or not.
+
! &nbsp;
|-
 
| where, whereis {{t|S:NPC}} || Prints the location and coordinates of {{t|NPC}} in the console.
 
|-
 
| dp, dap, daysPlayed || Displays the number of game-days played on the save.
 
|-
 
| pm, panmode, panMode, || On/off toggle for map-panning view; pan map with WASD when toggled on. (Note: If you use 'pm', you won't be able to get back until you type 'panmode')
 
|-
 
| version || Prints the SDV version number in console.
 
|-
 
| localInfo || Prints a bunch of debug information about the current location in the console.
 
|-
 
| characterInfo || Displays number of characters on the current map.
 
|-
 
| pixelZoom {{t|LVL}} || sets the graphical zoom level the game displays at--takes integers, 1 is 100% pixel size, default is 4 (400% pixel size). Movement does not scale. Changes in zoom level may put the player actor outside the boundaries of the map.
 
 
|-
 
|-
| viewport {{t|X}} {{t|Y}} || Sets viewport width to <tt>X</tt> game tiles and height to <tt>Y</tt> game tiles.
+
{{/cmd
 +
  |command = child,kid
 +
  |desc    = If you have children, advances the age of the first child to the next stage. Otherwise, spawns a new child named "Baby" with gender and skin tone randomly chosen; the child will start at stage 3 (crawling) and may initially spawn out of bounds. You do not need to be married or have an upgraded house to use this command.
 +
}}
 +
{{/cmd
 +
  |command = child2
 +
  |desc    = If you have multiple children, advances the age of the second child to the next stage. Otherwise, spawns a new child named "Baby2" with gender and skin tone randomly chosen; the child will start at stage 3 (crawling) and may initially spawn out of bounds. You do not need to be married or have an upgraded house to use this command.
 +
}}
 +
{{/cmd
 +
  |command = clearchildren
 +
  |desc    = Removes all your children.
 +
}}
 +
{{/cmd
 +
  |command = pregnant
 +
  |desc    = Sets a new baby to be born/adopted the next day. You may need to be already married (and have a house with a nursery) for this to work.
 +
}}
 
|}
 
|}
  
=== Player character stats, skills, recipes, and player actor properties ===
+
====Spawning and removal====
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! command !! description
+
! command
 +
! description
 +
! &nbsp;
 
|-
 
|-
| fishing {{t|I}} || sets player Fishing skill to {{t|I}}
+
{{/cmd
|-
+
  |command = addkent
| heal || Sets player health to maximum.
+
  |desc    = Spawns [[Kent]] if after year 1.
|-
+
}}
| speed {{t|I}} || Increases player actor speed by the given amount. (1 is equal to the speed increase from coffee.)
+
{{/cmd
|-
+
  |command = characterinfo
| cooking || Teaches the player all cooking recipes.
+
  |desc    = Displays a global message listing how many NPCs are in the current location.
|-
+
}}
| energize || Sets player energy to maximum.
+
{{/cmd
|-
+
  |command = clearcharacters
| die || Sets the player's health to minimum, making them pass out.
+
  |desc    = Removes all NPCs who are in the current location.
|-
+
}}
| money {{t|I}} || Set player money to given integer.
+
{{/cmd
|-
+
  |command = clone
| specials || Sets all special access conditions to true (Sewers, Skull Cave, Club, Witch's Hut, Dwarf), and gives the player the [[Special Charm]].
+
  |params  = {{t|S:npcName}}
|-
+
  |desc    = Clones specified NPC and places the copy in the current location. Name is a fuzzy match.<br />'''Warning: cloning <samp>farmer</samp> will crash the game.'''
| festivalScore {{t|I:score}} || adds {{t|score}} to Farmer's grange display score at Stardew Valley Fair
+
}}
|-
+
{{/cmd
| toggleCatPerson || Toggles the selected pet species.
+
  |command = killall
|-
+
  |params  = {{t|S:npcName}}
| seenmail {{t|I:ID}} || Adds letter {{t|ID}} to the list of those the farmer has already received and read.
+
  |desc    = Removes all NPCs except for the specified character. Name is an exact match, and they are only spared from removal if they are in the current location.
|-
+
}}
| slimecraft || Teached Farmer the recipes for Slime Incubator and Slime Egg-press.
+
{{/cmd
 +
  |command = killnpc
 +
  |params  = {{t|S:npcName}}
 +
  |desc    = Removes specified NPC from the game, checking all game locations. Name is an exact match.
 +
}}
 +
{{/cmd
 +
  |command = removenpc
 +
  |params  = {{t|S:npcName}}
 +
  |desc    = Removes specified NPC from the game, checking all game locations and buildings. Name is an exact match. Command will output a message to the console stating whether or not the NPC was found and removed.
 +
}}
 
|}
 
|}
  
=== Farm, crops, fruit trees, livestock, pets, farm buildings ===
+
====Relationships====
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! command !! description
+
! command
 +
! description
 +
! &nbsp;
 
|-
 
|-
| setUpFarm || tills certain patches of land; adds 20K money; adds a silo, a coop, and a barn; adds shears, milk pail, and full stacks of items 472, 473, 322, 388, and 390; upgrades all four tools to iridium level.
+
{{/cmd
|-
+
  |command = dating
| upgradebarn, barn || '''[Broken]''' Increments a ''barnUpgradeLevel'' field that is no longer used which causes the game to try to load textures that don't exist.
+
  |params  = {{t|S:npcName}}
|-
+
  |desc    = Sets your relationship status with specified NPC to <samp>Dating</samp>; ''i.e.,'' marks them as having been given a bouquet. Name is an exact match.
| growCrops {{t|I:AMT}} || Advances all crops in the current location {{t|AMT}} days.
+
}}
|-
+
{{/cmd
| house, houseUpgrade, hu {{t|I:LVL}} || Up/downgrades your house to the given level.
+
  |command = divorce
|-
+
  |desc    = Queues your farmer to divorce their spouse overnight. The spouse room may not be fully removed until you have slept and/or returned to title.
| fenceDecay || presumably sets the rate of fence decay
+
}}
|-
+
{{/cmd
| bc, buildcoop || Possibly toggles the build coop menu, bypassing the fee.
+
  |command = engaged
|-
+
  |params  = {{t|S:npcName}}
| coop, upgradecoop || '''[Broken]''' Increments a ''coopUpgradeLevel'' field that is no longer used which causes the game to try to load textures that don't exist.
+
  |desc    = Increases your friendship with specified NPC by 2500 points (10 hearts) and sets relationship status to <samp>Engaged</samp> with a wedding for the next day. Name is an exact match.
|-
+
}}
| spreadDirt || On the farm, till all tillable dirt that is currently untilled and unoccupied by actors.
+
{{/cmd
|-
+
  |command = friendall
| removeDirt || On the farm, until all tillable dirt. Will destroy all crops!
+
  |params  = {{o|I:value}}
|-
+
  |desc    = Increases [[friendship]] with all socializable NPCs by the specified amount. If no amount is given, the increase will be 2500 points (10 hearts). All normal point caps are in place, so a bachelor you aren't dating will not increase past 8 hearts. Previously unmet NPCs will also be marked as met and have friendship increased with the following exceptions:
| befriendAnimals || Sets your friendship with all of your (present) animals to 1000. Must be used inside a coop or a barn.
+
<ul><li>[[Dwarf]] will be marked as met but not change friendship if you don't have the ''Dwarven Translation Guide''.</li>
|-
+
<li>[[Kent]] will not be included if you are still in year 1.</li>
| fixAnimals || Presumably, moves all livestock to their home buildings.
+
<li>[[Krobus]] will not be included if they have not yet been met in game.</li></ul>
|-
+
}}
| horse {{t|I:X}} {{t|I:}}y || Spawns a new horse on the current map at ({{t|X}}, {{t|}}y).
+
{{/cmd
|-
+
  |command = friendship,friend
| owl || Spawns an Owl.
+
  |params  = {{t|S:npcName}},{{t|I:value}}
 +
  |desc    = Sets friendship with specified NPC to specified value. This is a fuzzy match, and they will be marked as met if previously unmet.
 +
}}
 +
{{/cmd
 +
  |command = invitemovie
 +
  |params  = {{t|S:npcName}}
 +
  |desc    = Invites specified NPC to see a movie today. This is a fuzzy match and you will still need your own ticket to enter the theatre.
 +
}}
 +
{{/cmd
 +
  |command = makeex
 +
  |params  = {{t|S:npcName}}
 +
  |desc    = Sets your relationship status with specified NPC to <samp>Divorced</samp>, removing any marriage or bouquet flag and listing them as ''ex-husband'' or ''ex-wife.'' Name is an exact match.
 +
}}
 +
{{/cmd
 +
  |command = marry
 +
  |params  = {{t|S:npcName}}
 +
  |desc    = <p>Increases your friendship with the specified NPC by 2500 points (10 hearts), and sets your relationship status to <samp>Married</samp> with an anniversary of today. Name is a fuzzy match.</p>
 +
 
 +
Notes:
 +
* If you haven't upgraded your farmhouse, also run <code>debug houseUpgrade 1</code> to avoid errors.
 +
* The spouse room generally appears empty on the first day and you'll need to sleep for it and your spouse to spawn properly.
  
 +
For non-vanilla marriage candidates:
 +
<ul><li>Trying to <samp>debug marry Krobus</samp> will work, but will set him as a spouse rather than a roommate. Most of his dialogue and actions remain the same, but he will use some hardcoded spouse lines where he would otherwise have his own version, have a heart instead of a smiley face for his hug/kiss sprite, and the social menu will list him as your spouse. It's unclear if you're able to have children this way.</li>
 +
<li>For other non-marriageable villagers, an empty spouse room will spawn and the NPC will move in. They will follow a basic hardcoded spouse schedule and can be kissed (although they won't have a kiss sprite), but they will rarely have dialogue.</li></ul>
 +
}}
 +
{{/cmd
 +
  |command = wedding
 +
  |params  = {{t|S:npcName}}
 +
  |desc    = Sets specified NPC as your spouse and queues a wedding for today. Name is an exact match. If the specified NPC is not normally marriageable, the wedding will still occur but they will be invisible on the wedding day.
 +
}}
 
|}
 
|}
  
=== Map, locations, terrain features, time and weather ===
+
====Dialogue====
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! command !! description
+
! command
 +
! description
 +
! &nbsp;
 
|-
 
|-
| minelevel {{t|LVL}} || Warps Farmer to given [[Mines]] level.
+
{{/cmd
 +
  |command = db
 +
  |params  = {{t|S:npcName}}
 +
  |desc    = Shows a dialogue box with the current dialogue for the specified NPC. Name is a fuzzy match and will default to Pierre if not supplied. This does count as having spoken to that NPC today, and if they don't have any more dialogue right now, the message ''Stack empty'' will be output to the console.
 +
}}
 +
{{/cmd
 +
  |command = dialogue
 +
  |params  = {{t|S:npcName}},{{t|S:dialogueString}}
 +
  |desc    = Sets the dialogue for the specified character to the specified string. Name is a fuzzy match. The dialogue string should start with a zero and everything after will be parsed. It can include tokens such as <samp>@</samp> for the farmer name and portrait commands; see [[Modding:Dialogue#Format|Dialogue]] for format specifics.
 +
  |example = <code>debug dialogue Abi 0Hi @! Modding is fun!$h</code> would set [[Abigail|Abigail's]] next dialogue to be ''Hi (FarmerName)! Modding is fun!'' with her happy portrait.
 +
}}
 +
{{/cmd
 +
  |command = loaddialogue
 +
  |params  = {{t|S:npcName}},{{t|S:dialogueKey}}
 +
  |desc    = Sets the dialogue for the specified character using the specified asset key. Name is a fuzzy match. Key format appears to be <samp>file:key</samp> but exact specifics are unknown. Curly braces in the key (<samp>{</samp>, <samp>}</samp>) will be converted to angle brackets (<samp>&lt;</samp>, <samp>&gt;</samp>).
 +
}}
 +
{{/cmd
 +
  |command = phone
 +
  |desc    = Brings up the [[Telephone]] menu.
 +
}}
 +
{{/cmd
 +
  |command = question
 +
  |params  = {{t|I:questionID}}
 +
  |desc    = Marks the specified dialogue question as answered.
 +
}}
 +
{{/cmd
 +
  |command = sb
 +
  |params  = {{t|S:npcName}}
 +
  |desc    = Shows a speech bubble saying ''"Hello! This is a test"'' above the specified NPC's head. Name is a fuzzy match.
 +
}}
 +
{{/cmd
 +
  |command = speech
 +
  |params  = {{t|S:npcName}},{{t|S:dialogueKey}}
 +
  |desc    = Displays a dialogue box for the specified character saying the specified string. Name is a fuzzy match. The dialogue string should start with a zero and everything after will be parsed. It can include tokens such as <samp>@</samp> for the farmer name and portrait commands; see [[Modding:Dialogue#Format|Dialogue]] for format specifics. Useful for testing dialogue changes.
 +
  |example = <code>debug speech Abi 0Hi @! Modding is fun!$h</code> would open a dialogue box of [[Abigail]] saying ''Hi (FarmerName)! Modding is fun!'' with her happy portrait.
 +
}}
 +
|}
 +
 
 +
====Movement and warping====
 +
{| class="wikitable"
 
|-
 
|-
| resetMines || Resets permanent mine changes such as coal carts and treasure chests. Does not affect mines level progress or monster eradication goals.
+
! command
 +
! description
 +
! &nbsp;
 
|-
 
|-
| warp {{t|S:MAP}} {{t|I:X}} {{t|I:Y}} || warps Farmer to {{t|MAP}} at ({{t|X}}, {{t|}}y). e.g. warp blacksmith 3 15
+
{{/cmd
 +
  |command = facedirection, face, fd
 +
  |params  = {{t|S:npcName}},{{t|I:direction}}
 +
  |desc    = Sets specified character to face the specified direction. Name is a fuzzy match and also accepts <samp>farmer</samp>. See [[Modding:Event_data#Directions|Event data]] for the valid directions.
 +
}}
 +
{{/cmd
 +
  |command = faceplayer
 +
  |params  = {{t|S:npcName}}
 +
  |desc    = Sets specified character to face towards the player. Name is a fuzzy match.
 +
}}
 +
{{/cmd
 +
  |command = hurry
 +
  |params  = {{t|S:npcName}}
 +
  |desc    = Warps specified character to the endpoint of their current schedule entry. Name is a fuzzy match.
 +
  |example = <code>debug hurry pam</code> would cause [[Pam]] to immediately warp to the bus if entered during her morning walk after the bus has been repaired.
 +
}}
 +
{{/cmd
 +
  |command = jump
 +
  |params  = {{t|S:npcName}},{{o|F:velocity}}
 +
  |desc    = Makes specified character jump with the specified velocity. Name is a fuzzy match and also accepts <samp>farmer</samp>. Velocity is a float and defaults to 8.0 if not supplied, which results in a jump of about half the height of the player character.
 +
}}
 +
{{/cmd
 +
  |command = pathspousetome,pstm
 +
  |desc    = Causes your spouse (NPC only) to start walking towards you if they are already on the current map or warp directly to you otherwise.
 +
}}
 +
{{/cmd
 +
  |command = warpcharacter, wc
 +
  |params  = {{t|S:npcName}},{{t|I:X}},{{t|I:Y}},{{o|I:facingDirection}}
 +
  |desc    = Warps specified character to the given coordinates on the current map. Name is a fuzzy match. See [[Modding:Event_data#Directions|Event data]] for the valid directions; the default is <samp>2</samp>. Note: if you do not include enough parameters, an error message will be printed to the console which incorrectly states the default facing direction is <samp>1</samp>.
 +
}}
 +
{{/cmd
 +
  |command = warpcharacterto, wct
 +
  |params  = {{t|S:npcName}},{{t|S:locationName}},{{t|I:X}},{{t|I:Y}},{{o|I:facingDirection}}
 +
  |desc    = Warps specified character to the given coordinates on the specified map. Character name is a fuzzy match, but location is exact. See [[Modding:Event_data#Directions|Event data]] for the valid directions; the default is <samp>2</samp>. Note: if you do not include enough parameters, an error message will be printed to the console which incorrectly states the default facing direction is <samp>1</samp>.
 +
  |example = <code>debug wct robin Farm 69 16</code> would warp [[Robin]] to just right of the mailbox on the Farm map, facing downwards.
 +
}}
 +
{{/cmd
 +
  |command = warpcharactertome,wctm
 +
  |params  = {{t|S:npcName}}
 +
  |desc    = Warps the specified character directly to you; name is a fuzzy match.
 +
}}
 +
{{/cmd
 +
  |command = whereis,where
 +
  |params  = {{t|S:npcName}}
 +
  |desc    = Outputs the location and coordinates of the specified character to the SMAPI console. Name is a fuzzy match.
 +
}}
 +
|}
 +
 
 +
====Farm animals====
 +
{| class="wikitable"
 
|-
 
|-
| warpHome, warphome, wh || Warps the current player into their farmhouse.
+
! command
 +
! description
 +
! &nbsp;
 
|-
 
|-
| removeLights || Disables light effects on the current map.
+
{{/cmd
 +
  |command = animal
 +
  |params  = {{t|S:type}}
 +
  |desc    = Adds a new baby animal of the specified type to the Farm. The animal will have a random name and be assigned to the correct type of building (if there is room). Type is a case-sensitive match with spaces allowed. Valid types for the base game are listed below.
 +
<ul><li><samp>Chicken</samp> - Randomly chooses between white, brown, and blue (if unlocked). <samp>Brown Chicken</samp> can be explicitly specified, but the result will still be random if trying to specify other colors.</li>
 +
<li><samp>Cow</samp> - Randomly chooses between white and brown. Colors can be explicitly specified by using <samp>Brown Cow</samp> or <samp>White Cow</samp>.</li>
 +
<li><samp>Dinosaur</samp></li>
 +
<li><samp>Duck</samp></li>
 +
<li><samp>Goat</samp></li>
 +
<li><samp>Pig</samp></li>
 +
<li><samp>Rabbit</samp></li>
 +
<li><samp>Sheep</samp></li>
 +
<li><samp>Void Chicken</samp></li>
 +
<li><samp>Ostrich</samp></li>
 +
</ul>
 +
}}
 +
{{/cmd
 +
  |command = animalinfo
 +
  |desc    = Displays a global message with the count of the total number of farm animals.
 +
}}
 +
{{/cmd
 +
  |command = befriendanimals
 +
  |params  = {{o|I:amount}}
 +
  |desc    = Sets friendship of all animals who live (and are currently present) in the current location to the given amount. Default is 1000 (max).
 +
}}
 +
{{/cmd
 +
  |command = fixanimals
 +
  |desc    = Goes through all Farm buildings and removes entries for animals which no longer live in that building.
 +
}}
 +
{{/cmd
 +
  |command = growanimals
 +
  |desc    = Sets all animals who live in the current building to day 1 of adulthood. Must be done in a building such as a Barn or Coop. May cause each of them to eat hay.
 +
}}
 +
{{/cmd
 +
  |command = growanimalsfarm
 +
  |desc    = Sets all animals who live in the current location to day 1 of adulthood. Must be done on the Farm; this would apply to animals that no longer have homes due to building destruction such as after using [[#removebuildings|removebuildings]].
 +
}}
 +
{{/cmd
 +
  |command = pauseanimals
 +
  |desc    = Pauses all farm animals in the current location indefinitely. Exiting and re-entering may cause them to be randomly moved to a new spot, but they will remain paused.
 +
}}
 +
{{/cmd
 +
  |command = unpauseanimals
 +
  |desc    = Unpauses all farm animals in the current location.
 +
}}
 +
{{/cmd
 +
  |command = warpanimaltome,watm
 +
  |params  = {{t|S:animalName}}
 +
  |desc    = Warps the specified farm animal to you; name is a case-insensitive fuzzy search but will only work in a location that allows animals.
 +
}}
 +
|}
 +
 
 +
====Pets, horses, and monsters====
 +
{| class="wikitable"
 
|-
 
|-
| clearLightGlows || Removes light glow textures on current map.
+
! command
 +
! description
 +
! &nbsp;
 
|-
 
|-
| dayUpdate [I:AMT] || Progresses the game either 1 or [AMT] days.
+
{{/cmd
 +
  |command = cat
 +
  |params  = {{t|I:X}},{{t|I:Y}},{{o|I:breed}}
 +
  |desc    = Spawns a new [[Animals#Cat or Dog|Cat]] at the given coordinates of the current location. Breed can be <samp>0</samp>, <samp>1</samp>, or <samp>2</samp> and determines which texture to use. This is an additional pet and does not replace any current pet(s).
 +
}}
 +
{{/cmd
 +
  |command = createdino
 +
  |desc    = Spawns a [[Pepper Rex]] just to the right of your farmer.
 +
}}
 +
{{/cmd
 +
  |command = dog
 +
  |params  = {{t|I:X}},{{t|I:Y}},{{o|I:breed}}
 +
  |desc    = Spawns a new [[Animals#Cat or Dog|Dog]] at the given coordinates of the current location. Breed can be <samp>0</samp>, <samp>1</samp>, or <samp>2</samp> and determines which texture to use. This is an additional pet and does not replace any current pet(s).
 +
}}
 +
{{/cmd
 +
  |command = horse
 +
  |params  = {{t|I:X}},{{t|I:Y}}
 +
  |desc    = Spawns a new [[Animals#Horse|Horse]] at the given coordinates of the current location. Horse may disappear after dismounting if there is no stable for it.
 +
}}
 +
{{/cmd
 +
  |command = killallhorses
 +
  |desc    = Removes all horses from all locations.
 +
}}
 +
{{/cmd
 +
  |command = monster
 +
  |params  = {{t|S:type}},{{t|I:X}},{{t|I:Y}},{{o|I:facingDirection}}
 +
  |desc    = Spawns a monster of the specified type at the given coordinates of the current location. Only certain monster types seem to work. Known valid types include <samp>Bat</samp>, <samp>DinoMonster</samp>, <samp>DustSpirit</samp>, <samp>Fly</samp>, <samp>Ghost</samp>, <samp>GreenSlime</samp>, <samp>Grub</samp>, <samp>LavaCrab</samp>, <samp>Mummy</samp>, <samp>RockCrab</samp>,  <samp>RockGolem</samp>,  <samp>Serpent</samp>,  <samp>ShadowBrute</samp>,  <samp>ShadowShaman</samp>,  <samp>Skeleton</samp>,  and <samp>SquidKid</samp>.  <samp>Duggy</samp> may also work depending on the terrain.
 +
}}
 +
{{/cmd
 +
  |command = owl
 +
  |desc    = Spawns an Owl in the current location.
 +
}}
 +
{{/cmd
 +
  |command = pettofarm
 +
  |desc    = If it is not raining, warps your pet to the pet bowl location on the Farm (Tech note: Location is initially set by checking for tile 1938 on Building layer). If it is raining, warps pet to the FarmHouse. Only works for host in multiplayer.
 +
}}
 +
{{/cmd
 +
  |command = togglecatperson
 +
  |desc    = Toggles your farmer's chosen pet preference between cat and dog. If you already have a pet, the inventory graphic will switch but the pet themselves will not be affected.
 +
}}
 +
|}
 +
 
 +
===Festivals and events===
 +
{| class="wikitable"
 
|-
 
|-
| al, ambientLight || Sets the maps default ambient light.
+
! command
 +
! description
 +
! &nbsp;
 
|-
 
|-
| time {{t|TIME}} || set game time of day, {{t|TIME}} format is military time (24 hours, no colon).
+
{{/cmd
|-
+
  |command = ee
| rain || Toggles whether current [[weather]] is rain.
+
  |desc    = Ends (and restarts) the current event.
 +
}}
 +
{{/cmd
 +
  |command = event
 +
  |params  = {{t|S:locationName}},{{t|I:index}},{{o|S:dontClearEvents}}
 +
  |desc    = Starts the specified event in the specified location. The location name is a fuzzy match, but the second parameter is an index rather than an ID. This is basically a zero-based count of the item definitions in the appropriate data file, and since these definitions can be altered by mods this a difficult command to use. Because of this and the warning below, [[#ebi|ebi]] is often the better choice.<br />'''Warning: This will clear the eventsSeen list unless a third parameter is supplied.'''
 +
}}
 +
{{/cmd
 +
  |command = eventbyid,ebi
 +
  |params  = {{t|I:eventID}}
 +
  |desc    = Starts the specified event. This does take an event ID; events which have prerequisites of other events might not start if those prerequisites have not been seen.
 +
  |example = <code>debug ebi 992559</code> would trigger the event where Emily visits the farm and gives you access to her sewing machine.
 +
}}
 +
{{/cmd
 +
  |command = eventover
 +
  |desc    = Ends (and restarts) the current event. Seems to be essentially equivalent to [[#ee|ee]].
 +
}}
 +
{{/cmd
 +
  |command = eventseen, seenevent
 +
  |params  = {{t|I:eventID}}
 +
  |desc    = Marks specifid event as seen by your farmer. Useful for enabling access to event-dependent areas or events.
 +
}}
 +
{{/cmd
 +
  |command = eventtest
 +
  |params  = {{t|S:locationName}},{{t|I:eventIndex}}
 +
  |desc    = Calls <samp>Util.EventTest()</samp> with the specified arguments. Defaults are "" and 0 respectively. Actual details unknown.
 +
}}
 +
{{/cmd
 +
  |command = eventtestspecific
 +
  |params  = {{t|S:whichEvents}},{{o|...}}
 +
  |desc    = Calls <samp>Util.EventTest()</samp> with the specified arguments. Arguments are interpreted as an array of strings. Actual details unknown.
 +
}}
 +
{{/cmd
 +
  |command = festival
 +
  |params  = {{t|S:festivalID}}
 +
  |desc    = Starts the specified festival ID. The season, day, and time will be set to match the starting time, and you will be warped to the correct location. Valid IDs are listed below.
 +
<table class="wikitable"><tr><td><samp>spring13</samp> - Egg Festival</td><td><samp>fall16</samp> - Stardew Valley Fair</td></tr>
 +
<tr><td><samp>spring24</samp> - Flower Dance</td><td><samp>fall27</samp> - Spirit's Eve</td></tr>
 +
<tr><td><samp>summer11</samp> - Luau</td><td><samp>winter8</samp> - Festival of Ice</td></tr>
 +
<tr><td><samp>summer28</samp> - Moonlight Jellies</td><td><samp>winter25</samp> - Winter Star</td></tr></table>
 +
}}
 +
{{/cmd
 +
  |command = festivalscore
 +
  |params  = {{t|I:value}}
 +
  |desc    = Adds the specified value to the festival score. The festival score has different meanings depending on which festival is active and includes the egg count at the Egg Hunt, number of fish caught at the Ice Festival, and star token count at the fall Fair.
 +
}}
 +
{{/cmd
 +
  |command = leaveevent,endevent
 +
  |desc    = Ends (and restarts) the current event.<br />'''Warning: also clears all records of events seen, dialogue questions answered, and mail received (including hidden mail flags.)'''
 +
}}
 +
{{/cmd
 +
  |command = runtestevent,rte
 +
  |desc    = Runs an event from the file <code>test_event.txt</code> in the root game folder. The first line of the file should specify the location where the event takes place, and the rest of the file should be the same as a normal event script except that line breaks will be treated as <code>/</code> delimiters.<br />'''Note: this file must use CRLF (Windows-style) line breaks, or it will fail to parse.''' If you are on Mac or Linux, make sure you convert when saving (any text editor should be able to do this).
 +
}}
 
|}
 
|}
  
 +
===Minigames and cutscenes===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! command !! description
+
! command
 +
! description
 +
! &nbsp;
 
|-
 
|-
| cmenu, customize, customizeMenu || Opens the character menu (new game, not shrine).
+
{{/cmd
 +
  |command = boatjourney
 +
  |desc    = Plays the extended cutscene of the first boat trip to [[Ginger Island]]. The player will be warped to the Island Docks when the cutscene ends.
 +
}}
 +
{{/cmd
 +
  |command = crane
 +
  |desc    = Starts the [[Movie Theater#Crane Game|Crane Game]] minigame from the Movie Theater populated with prizes based on which movie is (or would be) showing for the current month.
 +
}}
 +
{{/cmd
 +
  |command = darts
 +
  |desc    = Starts the [[Darts]] minigame from the [[Ginger Island#Pirate Cove|Pirate Cove]].
 +
}}
 +
{{/cmd
 +
  |command = fish
 +
  |params  = {{t|I:fishID}}
 +
  |desc    = Starts the fishing minigame with the specified fish hooked and a treasure chest available. You must have a fishing line already cast into the water before entering the command in order to actually receive the fish after completing the minigame. Additional "hits" may trigger during the game, and none of the fishing pole animations will play. See [[Modding:Items|object data]] for a list of valid IDs; non-fish objects can be used and caught.
 +
}}
 +
{{/cmd
 +
  |command = oldminegame
 +
  |desc    = Starts the pre-1.4 version of Junimo Kart.
 +
}}
 +
{{/cmd
 +
  |command = minegame
 +
  |params  = {{o|S:mode}}
 +
  |desc    = Starts the [[Junimo Kart]] minigame. If the second argument is <samp>infinite</samp> the game will play ''Endless'' mode; if it is anything else (or missing), the game will play ''Progress'' mode.
 +
}}
 +
{{/cmd
 +
  |command = minigame
 +
  |params  = {{t|S:which}}
 +
  |desc    = Starts the specified minigame or cutscene. Valid choices are listed below.
 +
<ul>
 +
<li><samp>blastoff</samp> - starts the ''Robot Blastoff'' cutscene which plays during [[Maru|Maru's]] 10-heart event.</li>
 +
<li><samp>cowboy</samp> - starts the [[Journey of the Prairie King]] minigame.</li>
 +
<li><samp>fishing</samp> - starts the fishing minigame from the [[Stardew Valley Fair]]. Score does not seem to be kept although the timer does count down; once the timer runs out the farmer will be warped to coordinates (24, 71) on the current map.</li>
 +
<li><samp>grandpa</samp> - starts the ''[[Grandpa]] Story'' cutscene of which plays at the start of a new game.</li>
 +
<li><samp>haleyCows</samp> - starts the ''Haley Cow Pictures'' cutscene which plays during [[Haley|Haley's]] 8-heart event.</li>
 +
<li><samp>marucomet</samp> - starts the ''Maru Comet'' cutscene which plays during [[Maru|Maru's]] 14-heart event.</li>
 +
<li><samp>minecart</samp> - starts the [[Junimo Kart]] minigame in ''Progress'' mode.</li>
 +
<li><samp>plane</samp> - starts the ''Plane Fly-by'' cutscene which plays during [[Harvey|Harvey's]] 8-heart event.</li>
 +
<li><samp>slots</samp> - starts the ''Calico Spin'' [[Slot Machine]] minigame.</li>
 +
<li><samp>target</samp> - starts the Slingshot minigame from the [[Stardew Valley Fair]]. When the game is over the farmer will be warped to coordinates (24, 63) on the current map.</li>
 +
</ul>
 +
}}
 +
{{/cmd
 +
  |command = test
 +
  |desc    = Starts the ''Test'' minigame. This brings up a window showing a variety of flooring textures; left-click closes the window.
 +
}}
 +
|}
 +
 
 +
===Locations===
 +
====Terrain, trees, and crops====
 +
{| class="wikitable"
 
|-
 
|-
| bloomDay || The game's bloom. Doesn't work.
+
! command
 +
! description
 +
! &nbsp;
 
|-
 
|-
| cat {{t|I:X}} {{t|I:}}y || Adds a cat at ({{t|X}}, {{t|}}y) in the current location.
+
{{/cmd
 +
  |command = clearfarm
 +
  |desc    = Removes nearly everything from the Farm map such as grass, trees, debris, paths, and placed objects (including working machines and filled chests.)
 +
}}
 +
{{/cmd
 +
  |command = dayupdate
 +
  |params  = {{o|I:number}}
 +
  |desc    = Runs the DayUpdate for the current location the specified number of times. If the number of updates is not specified, it will default to 1. This simulates days passing for some things such as grass and fruit trees growing or fish reproducing in ponds. Other things may not progress the full amount; for example crop growth only advances one day because sprinklers will not be triggered and the [[#growcrops|growcrops]] command should be used for that instead.
 +
}}
 +
{{/cmd
 +
  |command = fruittrees
 +
  |desc    = Adds a month of growth to all fruit trees in the current location, causing even newly-planted saplings to instantly mature.
 +
}}
 +
{{/cmd
 +
  |command = grass
 +
  |desc    = Spawns long grass on all available tiles on the farm.
 +
}}
 +
{{/cmd
 +
  |command = growcrops
 +
  |params  = {{t|I:number}}
 +
  |desc    = Grows all crops in the current location the specified number of days.
 +
}}
 +
{{/cmd
 +
  |command = growgrass
 +
  |params  = {{t|I:number}}
 +
  |desc    = Grows long grass the specified number of times in the current location. This will cause already-placed grass to spread but will not necessarily create grass in clear areas.
 +
}}
 +
{{/cmd
 +
  |command = growwildtrees
 +
  |desc    = Grows all wild trees (such as Oak) in the current location to maturity.
 +
}}
 +
{{/cmd
 +
  |command = localinfo
 +
  |desc    = Outputs counts of grass, trees, other terrain features, objects, and temporary sprites for the current location. May be broken.
 +
}}
 +
{{/cmd
 +
  |command = mushroomtrees
 +
  |desc    = Turns all wild trees in the current location into mushroom trees.
 +
}}
 +
{{/cmd
 +
  |command = r
 +
  |desc    = Resets current location which essentially simulates the player leaving and reentering. Most noticeable effect is the restarting of music tracks.
 +
}}
 +
{{/cmd
 +
  |command = removedebris
 +
  |desc    = Removes all dropped items from the current location.
 +
}}
 +
{{/cmd
 +
  |command = removedirt
 +
  |desc    = Removes (''i.e.,'' untills) all tilled dirt in the current location.<br />'''Warning: this includes removing any currently-planted crops (including fully-grown ones).'''
 +
}}
 +
{{/cmd
 +
  |command = removelargetf
 +
  |desc    = Removes all large terrain features (such as bushes) from the current location.
 +
}}
 +
{{/cmd
 +
  |command = removeterrainfeatures,removetf
 +
  |desc    = Removes all (small) terrain features such as grass and tilled dirt from the current location.<br />'''Warning: this includes removing any currently-planted crops (including fully-grown ones).'''
 +
}}
 +
{{/cmd
 +
  |command = spawnweeds
 +
  |params  = {{t|I:number}}
 +
  |desc    = Spawns weeds the specified number of times. This will cause already-placed weeds to spread but will not necessarily create new weeds in clear areas.
 +
}}
 +
{{/cmd
 +
  |command = spreaddirt
 +
  |desc    = Tills all unoccupied diggable tiles on the farm.
 +
}}
 +
{{/cmd
 +
  |command = spreadseeds
 +
  |params  = {{t|I:seedID}}
 +
  |desc    = Plants specified seed in all tilled dirt on the farm. The argument is the [[Modding:Items|object ID]] for the seed item. Out of season crops can be planted this way but will not survive outside of the greenhouse.<br />'''Warning: this will replace any currently-planted crops (including fully-grown ones) with the new seeds.'''
 +
  |example = <code>debug spreadseeds 472</code> would plant [[Parsnip|parsnips]] on all hoed dirt tiles.
 +
}}
 +
{{/cmd
 +
  |command = water
 +
  |desc    = Waters all tilled soil on the current map.
 +
}}
 +
{{/cmd
 +
  |command = watercolor
 +
  |params  = {{t|I:R}},{{t|I:G}},{{t|I:B}}
 +
  |desc    = Tints the water color for the current location. The parameters are red, green, and blue components and the actual RGBA color used will be (R/2, G/2, B/2, 127). This affects fishing ponds as well as lakes, rivers, etc., but the effect is temporary and the color will reset to normal if you leave and re-enter the map.
 +
}}
 +
{{/cmd
 +
  |command = whereore
 +
  |desc    = Outputs (to the SMAPI console) the coordinates of any "shiny spots" suitable for panning on the current map. Will output <samp>{X:0 Y:0}</samp> if there are no active panning spots.
 +
}}
 +
|}
 +
 
 +
====Objects and lights====
 +
{| class="wikitable"
 
|-
 
|-
| question || Marks a particular dialogue question as answered.
+
! command
 +
! description
 +
! &nbsp;
 
|-
 
|-
| growgrass {{t|number}} || Adds {{t|number}} grass to your current location. May freeze the game if used outside of the farm.
+
{{/cmd
 +
  |command = clearfurniture
 +
  |desc    = Removes all furniture from the current location. Must be in a farmhouse/cabin. Use [[#removefurniture|removefurniture]] instead for other locations such as sheds.
 +
}}
 +
{{/cmd
 +
  |command = clearlightglows
 +
  |desc    = Removes all light glows from the current location.
 +
}}
 +
{{/cmd
 +
  |command = fencedecay
 +
  |params  = {{t|I:amount}}
 +
  |desc    = Ages all fences in the current location the specified amount of days.
 +
  |example = <code>debug fencedecay 60</code> would age all fences by 60 days which would break any basic Wood Fences (their base health is 54-58 days).
 +
}}
 +
{{/cmd
 +
  |command = fillwithobject
 +
  |params  = {{t|I:itemID}},{{o|S:isBigCraftable}}
 +
  |desc    = Places the specified item on all open tiles in the current location. The first argument is the [[Modding:Items|object or big craftable ID]]. If the second argument is "<samp>true</samp>", the ID will be interpreted as a craftable, but if it is anything else (or missing) the ID will be interpreted as an object. Note that many objects spawned this way cannot be easily removed.
 +
  |example = <code>debug fillwithobject 13 true</code> would fill the map with [[Furnace|furnaces]].
 +
}}
 +
{{/cmd
 +
  |command = readyforharvest,rfh
 +
  |params  = {{t|I:X}},{{t|I:Y}}
 +
  |desc    = Sets the machine at the specified coordinates to finish processing at the next clock update. If used to target a rock in the mine, quarry, etc. the rock's health will be reduced such that it only needs 1 more hit to break. A mod such as [https://www.nexusmods.com/stardewvalley/mods/679 Debug Mode] may be useful for getting coordinates.
 +
}}
 +
{{/cmd
 +
  |command = removefurniture
 +
  |desc    = Removes all furniture from the current location. Similar to [[#clearfurniture|clearfurniture]] but will also work in other decoratable locations such as sheds.
 +
}}
 +
{{/cmd
 +
  |command = removelights
 +
  |desc    = Removes all light sources from the current location. This is temporary and they will be restored if the location is reset or re-entered.
 +
}}
 +
{{/cmd
 +
  |command = removeobjects
 +
  |desc    = Removes all placed objects from the current location. This includes things like fences, machines, and chests, but does not include flooring or long grass.
 +
}}
 +
|}
 +
 
 +
====Farm buildings====
 +
{| class="wikitable"
 
|-
 
|-
| petToFarm || Moves the player's pet to the farm at (54, 8) if it isn't raining.
+
! command
 +
! description
 +
! &nbsp;
 
|-
 
|-
| junimoStar || (CC.characters[0] as junimo).returnToFetchStar
+
{{/cmd
 +
  |command = bpm
 +
  |desc    = Shows the building painting menu for the building immediately North of the player, or for the farmhouse if no such building is found.
 +
}}
 +
{{/cmd
 +
  |command = build
 +
  |params  = {{t|S:Name}},{{o|I:X}},{{o|I:Y}}
 +
  |desc    = Builds the specified building at the given coordinates. Names are exact but spaces should be replaced with "<samp>9</samp>". If the coordinates are not specified, it will build just to the right of your farmer. While higher-level farm buildings such as Deluxe Barns can be immediately built this way, the incubator will be missing from Big or Deluxe Coops.
 +
  |example = <code>debug build Stone9Cabin</code> would build a new Stone Cabin next to the player.
 +
}}
 +
{{/cmd
 +
  |command = buildcoop,bc
 +
  |params  = {{t|I:X}},{{t|I:Y}}
 +
  |desc    = Builds a new basic Coop at the specified coordinates.
 +
}}
 +
{{/cmd
 +
  |command = movebuilding
 +
  |params  = {{t|I:sourceX}},{{t|I:sourceY}},{{t|I:destX}},{{t|I:destY}}
 +
  |desc    = Moves building from specified source coordinates to specified destination coordinates. The coordinates are the upper-left corner of the building's footprint. The [https://www.nexusmods.com/stardewvalley/mods/541 Lookup Anything] mod is one of the easier ways to get the source coordinates of a building; they are listed under <samp>tileX</samp> and <samp>tileY</samp> in the debug info (needs <samp>ShowDataMiningFields</samp> enabled.)
 +
}}
 +
{{/cmd
 +
  |command = removebuildings
 +
  |desc    = Destroys all farm buildings. Animals within any of the buildings will also be removed, but animals which are outside will not be.
 +
}}
 +
{{/cmd
 +
  |command = spawncoopsandbarns
 +
  |params  = {{t|I:number}}
 +
  |desc    = Spawns the specified number of buildings. The game will randomly choose either a Deluxe Barn full of cows or a Deluxe Coop full of chickens for each (equal chance). Their locaions are also randomly chosen and the game will try 20 times to find a spot for each before giving up. The coops created by this command will not have incubators.
 +
}}
 +
|}
 +
 
 +
====Farmhouse====
 +
{| class="wikitable"
 
|-
 
|-
| growAnimals || Makes all animals in the current location (must be an animal house) grow up.
+
! command
 +
! description
 +
! &nbsp;
 
|-
 
|-
| bluebook || Adds a blueprint to your inventory.
+
{{/cmd
 +
  |command = crib
 +
  |params  = {{t|I:mapID}}
 +
  |desc    = Sets the current crib style to the specified value. In the base game, valid values are <samp>0</samp> (no crib) or <samp>1</samp> (default crib). Additional styles may be possible through modding as the ID is appended to the map filename. For example, crib style 1 is specified by the file <samp>Maps/FarmHouse_Crib_1</samp>.
 +
}}
 +
{{/cmd
 +
  |command = floor
 +
  |params  = {{o|I:textureID}}
 +
  |desc    = Sets all floors of your farmhouse to the specified texture. Valid texture numbers are <samp>0 - 55</samp>; see [[Flooring]] for previews but note that the IDs used by the game are 1 less than the numbers used for the wiki filenames. If no texture is specified, the game will use the next ID after the current floor texture without checking for overflow which can create bugged textures.
 +
  |example = <code>debug floor 22</code> would set all flooring in the house to the white and grey checkerboard style.
 +
}}
 +
{{/cmd
 +
  |command = houseupgrade,house,hu
 +
  |params  = {{t|I:upgradeLevel}}
 +
  |desc    = Sets upgrade level of your farmhouse/cabin to the specified value. Valid values are <samp>0 - 3</samp>. Furniture and placed items will not be automatically moved and may wind up out of bounds. If done while the player is inside the house, warp points may not immediately update.
 +
}}
 +
{{/cmd
 +
  |command = renovate
 +
  |desc    = Opens the [[Carpenter's Shop#House Renovations|farmhouse renovation]] menu.
 +
}}
 +
{{/cmd
 +
  |command = upgradehouse
 +
  |desc    = Increases the upgrade level of your farmhouse/cabin to the next level (max 3). Furniture and placed items will not be automatically moved and may wind up out of bounds. If done while the player is inside the house, warp points may not immediately update.
 +
}}
 +
{{/cmd
 +
  |command = wall,w
 +
  |params  = {{o|I:textureID}}
 +
  |desc    = Sets all walls of your farmhouse to the specified texture. Valid texture numbers are <samp>0 - 111</samp>; see [[Wallpaper]] for previews but note that the IDs used by the game are 1 less than the numbers used for the wiki filenames. If no texture is specified, the game will use the next ID after the current wallpaper texture without checking for overflow which can create bugged textures.
 +
  |example = <code>debug wall 21</code> would set all wallpaper in the house to the Joja style.
 +
}}
 +
|}
 +
 
 +
====Special farm setups====
 +
{| class="wikitable"
 
|-
 
|-
| removeTF, removeTerrainFeatures || Removes all terrain features from the current location.
+
! command
 +
! description
 +
! &nbsp;
 
|-
 
|-
| removeFurniture || Removes all furniture from the current location.
+
{{/cmd
 +
  |command = farmmap
 +
  |params  = {{o|I:mapID}}
 +
  |desc    = Removes the current farm map and farmhouse from the game and creates a new farm of the specified type. The farm will be named after the type (''e.g.,'' "Standard Farm"). Valid types are: <samp>0</samp> (Standard), <samp>1</samp> (Riverland), <samp>2</samp> (Forest), <samp>3</samp> (Hilltop), <samp>4</samp> (Wilderness), or <samp>5</samp> (Four Corners).
 +
}}
 +
{{/cmd
 +
  |command = setupbigfarm
 +
  |desc    = Clears the farm and then does the following:
 +
  <ul><li>Spawns 3 Deluxe Coops full of chickens, 2 Deluxe Barns full of cows, a mill, a stable, and a silo in specific spots.</li>
 +
  <li>Spawns a large field of random spring crops (force-grown for 8 days) with a wooden path through it and 4 junimo huts to the south.</li>
 +
  <li>Spawns two large patches of grass and 18 random fruit trees (cherry and apricot)</li>
 +
  <li>Spawns large groups of torches, furnaces, preserves jars, cheese presses, and kegs; the kegs are full of ancient fruit to make wine</li></ul>
 +
}}
 +
{{/cmd
 +
  |command = setupfarm
 +
  |params  = {{o|S:clearMore}}
 +
  |desc    = Removes all farm buildings and completely clears large areas of the current farm (the presence of a second parameter causes a larger area to be cleared.) After this, the following things are done:
 +
  <ul><li>Spawns a coop, barn, and silo in specific spots</li>
 +
  <li>Your money is increased by 20000</li>
 +
  <li>All tools are upgraded to Iridium quality</li>
 +
  <li>Shears, a milk pail, and full stacks of wood, stone, wood fence, parsnip seeds, and bean starter are added to your inventory</li></ul>
 +
}}
 +
{{/cmd
 +
  |command = setupfishpondfarm
 +
  |params  = {{o|I:population}}
 +
  |desc    = Clears farm and then builds up to 96 fish ponds randomly filled with various types of fish. The population of each of the ponds will be set to the specified value and defaults to 10. The ponds are built in a large 12 x 8 grid but will not be placed in a spot blocked by other buildings, animals, or map features.
 +
}}
 +
|}
 +
 
 +
====Community center and bundles====
 +
{| class="wikitable"
 
|-
 
|-
| rfh, readyForHarvest {{t|I:X}} {{t|I:}}y || Sets the object at ({{t|X}}, {{t|}}y) to be ready in one minute. Also sets stones to 1 health.
+
! command
 +
! description
 +
! &nbsp;
 
|-
 
|-
| resource {{t|I:ID}} {{t|I:AMT}} || Marks some debris as collected, useful for quests. 0=copper, 2=iron, 4=coal, 6=gold, 8=money (somewhat random amount), |-
+
{{/cmd
10=iridium, 12=wood, 28=lantern fuel
+
  |command = addjunimo,aj,j
 +
  |params  = {{t|I:X}},{{t|I:Y}},{{t|I:area}}
 +
  |desc    = Adds a junimo at the specified coordinates and assigned to the given Community Center area. Valid areas are <samp>0</samp> (Pantry), <samp>1</samp> (Crafts Room), <samp>2</samp> (Fish Tank), <samp>3</samp> (Boiler Room), <samp>4</samp> (Vault), or <samp>5</samp> (Bulletin Board).
 +
}}
 +
{{/cmd
 +
  |command = allbundles
 +
  |desc    = Marks all bundles complete.
 +
}}
 +
{{/cmd
 +
  |command = bundle
 +
  |params  = {{t|I:ID}}
 +
  |desc    = Marks the specified bundle as complete. Valid IDs are listed below.
 +
<table class="wikitable"><tr><th>Pantry</th><th>Fish Tank</th><th>Crafts Room</th><th>Boiler Room</th><th>Vault</th><th>Bulletin Board</th><th>Joja Ruins</th></tr>
 +
<tr><td>0 - Spring Crops</td><td>6 - River Fish</td><td>13 - Spring Foraging</td><td>20 - Blacksmith's</td><td>23 - 2,500g</td><td>31 - Chef's</td><td>36 - Missing</td></tr>
 +
<tr><td>1 - Summer Crops</td><td>7 - Lake Fish</td><td>14 - Summer Foraging</td><td>21 - Geologist's</td><td>24 - 5,000g</td><td>32 - Field Research</td><td></td></tr>
 +
<tr><td>2 - Fall Crops</td><td>8 - Ocean Fish</td><td>15 - Fall Foraging</td><td>22 - Adventurer's</td><td>25 - 10,000g</td><td>33 - Enchanter's</td><td></td></tr>
 +
<tr><td>3 - Quality Crops</td><td>9 - Night Fishing</td><td>16 - Winter Foraging</td><td></td><td>26 - 25,000g</td><td>34 - Dye</td><td></td></tr>
 +
<tr><td>4 - Animal</td><td>10 - Specialty Fish</td><td>17 - Construction</td><td></td><td></td><td>35 - Fodder</td><td></td></tr>
 +
<tr><td>5 - Artisan</td><td>11 - Crab Pot</td><td>19 - Exotic Foraging</td><td></td><td></td><td></td><td></td></tr></table>
 +
}}
 +
{{/cmd
 +
  |command = ccload
 +
  |params  = {{t|I:area}}
 +
  |desc    = Removes the junimo note from and restores the specified area. Valid areas are <samp>0</samp> (Pantry), <samp>1</samp> (Crafts Room), <samp>2</samp> (Fish Tank), <samp>3</samp> (Boiler Room), <samp>4</samp> (Vault), or <samp>5</samp> (Bulletin Board).
 +
}}
 +
{{/cmd
 +
  |command = ccloadcutscene
 +
  |params  = {{t|I:area}}
 +
  |desc    = Plays the full restoration cutscene for the specified area including junimo dance and star retrieval. Valid areas are <samp>0</samp> (Pantry), <samp>1</samp> (Crafts Room), <samp>2</samp> (Fish Tank), <samp>3</samp> (Boiler Room), <samp>4</samp> (Vault), or <samp>5</samp> (Bulletin Board).
 +
}}
 +
{{/cmd
 +
  |command = completecc
 +
  |desc    = Adds all of the appropriate flags for Community Center completion and restores all areas.
 +
}}
 +
{{/cmd
 +
  |command = completejoja
 +
  |desc    = Adds all of the appropriate flags for Joja membership and Community Development purchases.
 +
}}
 +
{{/cmd
 +
  |command = junimogoodbye
 +
  |desc    = Plays the animation where 6 junimos wave goodbye in front of the hut in the Community Center and then that corner of the Community Center gets restored.
 +
}}
 +
{{/cmd
 +
  |command = junimonote,jn
 +
  |params  = {{t|I:area}}
 +
  |desc    = Adds a junimo note (bundle scroll) for the specified area. Valid areas are <samp>0</samp> (Pantry), <samp>1</samp> (Crafts Room), <samp>2</samp> (Fish Tank), <samp>3</samp> (Boiler Room), <samp>4</samp> (Vault), or <samp>5</samp> (Bulletin Board).
 +
}}
 +
{{/cmd
 +
  |command = junimostar
 +
  |desc    = Causes a junimo to run to the hut and retrieve a star which is then placed on the plaque above the fireplace. Must be done in the Community Center.
 +
}}
 +
{{/cmd
 +
  |command = plaque
 +
  |desc    = Adds a star to the plaque above the Community Center fireplace.
 +
}}
 +
{{/cmd
 +
  |command = resetjunimonotes
 +
  |desc    = Resets all bundles.
 +
}}
 +
{{/cmd
 +
  |command = shufflebundles
 +
  |desc    = Regenerates bundles using remixed bundle logic and without a specific random seed.
 +
}}
 +
|}
 +
 
 +
====Other location-specific functions====
 +
{| class="wikitable"
 
|-
 
|-
| craftingrecipe {{t|S:str}} || Adds the recipe for {{t|str}} to your known items.
+
! command
 +
! description
 +
! &nbsp;
 
|-
 
|-
| setstat {{t|S:stat}} {{t|I:num}} || Sets the stat {{t|stat}} to {{t|num}}. ({{t|stat}} is property in StardewValley.Stats)
+
{{/cmd
 +
  |command = beachbridge
 +
  |desc    = Toggles the state of the beach bridge between fixed and not fixed.
 +
}}
 +
{{/cmd
 +
  |command = ladder,shaft
 +
  |params  = {{o|I:X}},{{o|I:Y}}
 +
  |desc    = Creates a ladder or mineshaft at the specified coordinates. If no coordinates are given, it will spawn 1 tile north of the player. In the regular mines, both versions of the command will create a ladder. In the Skull Caverns, <samp>ladder</samp> will randomly spawn either a ladder or mineshaft while <samp>shaft</samp> will always spawn a mineshaft.
 +
}}
 +
{{/cmd
 +
  |command = minedifficulty,md
 +
  |params  = {{o|I:difficultyLevel}}
 +
  |desc    = Sets the difficulty of the mines to the specified level. In the base game, normal difficulty is <samp>0</samp> and the harder difficulty corresponding to the "Danger in the Deep" quest or [[The Mines#Shrine of Challenge|Shrine of Challenge]] activation is <samp>1</samp>. Higher numbers can be used. If no difficulty level is specified, command will simply print the current difficulty level to the console.
 +
}}
 +
{{/cmd
 +
  |command = movie
 +
  |params  = {{o|S:npcNameOrMovieID}},{{o|S:movieID}}
 +
  |desc    = Starts a movie; this command is a bit complex with its parameter handling so be sure to check the examples. Note that this command can create a group with up to 3 guests instead of just the single guest allowed in normal play. Valid movie IDs are listed after the parameter explanation.
 +
<ul><li>If both parameters are given, it will start the specified movie (second parameter) with the specified NPC (fuzzy match on first parameter) as a guest.</li>
 +
<li>If just one parameter is given, it is interpreted as the movie ID and the NPC guest(s) will be chosen randomly.</li>
 +
<li>If no parameters are given, the movie will default to <samp>fall_movie_1</samp> (''It Howls in the Rain'') and the NPC guest(s) will be chosen randomly.</li></ul>
 +
<table class="wikitable"><tr><td><samp>spring_movie_0</samp> - ''The Brave Little Sapling''</td><td><samp>spring_movie_1</samp> - ''Natural Wonders''</td></tr>
 +
<tr><td><samp>summer_movie_0</samp> - ''Journey of the Prairie King''</td><td><samp>summer_movie_1</samp> - ''Wumbus''</td></tr>
 +
<tr><td><samp>fall_movie_0</samp> - ''Mysterium''</td><td><samp>fall_movie_1</samp> - ''It Howls in the Rain''</td></tr>
 +
<tr><td><samp>winter_movie_0</samp> - ''Miracle at Coldstar Ranch''</td><td><samp>winter_movie_1</samp> - ''The Zuzu City Express''</td></tr></table>
 +
'''Warning: This command also increases the save's <samp>uniqueID</samp> by 1 each time it is used, which will cause the save filename to change and impact some random events.'''
 +
  |example = <code>debug movie</code> would show ''It Howls in the Rain'' with random NPC guests.;<code>debug movie spring_movie_1</code> would show ''Natural Wonders'' with random NPC guests.;<code>debug movie Abi summer_movie_0</code> would show ''Journey of the Prairie King'' with Abigail and possibly 1 or 2 additional random NPC guests.
 +
}}
 +
{{/cmd
 +
  |command = pgb
 +
  |desc    = Prints the [[Ginger Island#Gem Birds|Gem Bird Puzzle]] solution to the console.
 +
}}
 +
{{/cmd
 +
  |command = resetmines
 +
  |desc    = Resets "permanent mine changes" such as coal carts and treasure chests. Does not affect mines level progress or monster eradication goals.
 +
}}
 +
{{/cmd
 +
  |command = returneddonations
 +
  |desc    = Opens the "returned donations" menu of the Lost and Found box from the [[Mayor's Manor]].
 +
}}
 +
{{/cmd
 +
  |command = skullcavedifficulty,scd
 +
  |params  = {{o|I:difficultyLevel}}
 +
  |desc    = Sets the difficulty of the Skull Cavern to the specified level. In the base game, normal difficulty is <samp>0</samp> and the harder difficulty corresponding to the "Skull Cavern Invasion" quest is <samp>1</samp>. Higher numbers can be used. If no difficulty level is specified, command will simply print the current difficulty level to the console.
 +
  |example = <code>debug scd 1</code> would activate hard mode Skull Cavern outside of the "Skull Cavern Invasion" quest.
 +
}}
 +
{{/cmd
 +
  |command = train
 +
  |desc    = Causes a train to spawn at the Railroad.
 +
}}
 +
|}
 +
 
 +
===World===
 +
====Date and time====
 +
{| class="wikitable"
 
|-
 
|-
| conventionMode || Toggles Game1.conventionMode
+
! command
 +
! description
 +
! &nbsp;
 
|-
 
|-
| jn, junimoNote {{t|I:ID}} || Adds junimo note {{t|ID}}.
+
{{/cmd
 +
  |command = addhour
 +
  |desc    = Increases time by 1 hour.
 +
}}
 +
{{/cmd
 +
  |command = addminute
 +
  |desc    = Increases time by 10 minutes.
 +
}}
 +
{{/cmd
 +
  |command = day
 +
  |params  = {{t|I:value}}
 +
  |desc    = Changes day of the month to the specified value; stays in current season and adjusts <samp>daysPlayed</samp> statistic appropriately.
 +
}}
 +
{{/cmd
 +
  |command = pausetime
 +
  |desc    = Toggles game pause state. This is different from the normal chat <samp>/pause</samp> command in that the player still has free movement during the pause.
 +
}}
 +
{{/cmd
 +
  |command = season
 +
  |params  = {{t|S:name}}
 +
  |desc    = Sets season to the specified value. The season name is case-insensitive; valid names are <samp>spring</samp>, <samp>summer</samp>, <samp>fall</samp>, and <samp>winter</samp>.
 +
}}
 +
{{/cmd
 +
  |command = sleep, newday, nd
 +
  |desc    = Forces end of day.
 +
}}
 +
{{/cmd
 +
  |command = time
 +
  |params  = {{t|I:value}}
 +
  |desc    = Sets current time to the specified value. This is essentially 24-hour time without a colon, although the stardew clock keeps running until 2600. See examples.
 +
  |example = <code>debug time 2040</code> would set the time to 20:40 or 8:40pm.; <code>debug time 2550</code> would set the time to 1:50am.
 +
}}
 +
{{/cmd
 +
  |command = year
 +
  |params  = {{t|I:value}}
 +
  |desc    = Sets the current year to the specified value.
 +
}}
 +
|}
 +
 
 +
====Weather and world state====
 +
{| class="wikitable"
 
|-
 
|-
| resetJunimoNotes || presumably resets all JunimoNotes to not-seen status.
+
! command
 +
! description
 +
! &nbsp;
 
|-
 
|-
| hurry {{t|S:NPC}} || warps {{t|NPC}} to their currently scheduled endpoint, such as Pam from her home to the bus stop in the morning
+
{{/cmd
 +
  |command = debrisweather
 +
  |desc    = Toggles "debris" weather (''i.e.,'' windy weather with floating leaves) on and off. Does not change the weather icon on the HUD.
 +
}}
 +
{{/cmd
 +
  |command = morepollen
 +
  |params  = {{t|I:amount}}
 +
  |desc    = Increases the amount of leaves flying around if in debris/windy weather.
 +
}}
 +
{{/cmd
 +
  |command = rain
 +
  |desc    = Toggles rainy weather on and off. Will turn off debris/windy weather. Does not change the weather icon on the HUD.
 +
}}
 +
{{/cmd
 +
  |command = resetworldstate
 +
  |desc    = Clears all world state IDs which track map changes such as whether the beach bridge is fixed, whether Trash Bear has done his thing and various small changes from heart events.<br />'''Warning: Also clears records of found artifacts and minerals, fish caught, events seen, and mail received (including hidden progress flags.)'''
 +
}}
 +
|}
 +
 
 +
===Game settings and meta info===
 +
{| class="wikitable"
 
|-
 
|-
| makeInedible || Makes the item the player is holding inedible. Does not make the item permanently inedible.
+
! command
 +
! description
 +
! &nbsp;
 
|-
 
|-
| toss || Player actor plays the vial-dropping animation.
+
{{/cmd
 +
  |command = conventionmode
 +
  |desc    = Toggles convention mode on and off. When on, disables the resolution and window mode options as well as both "Exit to Title" and "Exit to Desktop" buttons.
 +
}}
 +
{{/cmd
 +
  |command = gamemode
 +
  |params  = {{t|I:mode}}
 +
  |desc    = Sets the game mode to the specified value. Details unknown.
 +
}}
 +
{{/cmd
 +
  |command = gamepad
 +
  |desc    = Toggles gamepad control options and displays a global message about whether they are being used or not.
 +
}}
 +
{{/cmd
 +
  |command = inputsim,is
 +
  |params  = {{t|S:type}}
 +
  |desc    = Sets input simulator to the specified type. Valid types are <samp>spamtool</samp> and <samp>spamlr</samp>. Details unknown.
 +
}}
 +
{{/cmd
 +
  |command = language
 +
  |desc    = Brings up the language selection menu.
 +
}}
 +
{{/cmd
 +
  |command = musicvolume, mv, m
 +
  |params  = {{t|D:value}}
 +
  |desc    = Sets music volume to the specified value. This is a double-precision float in the range of <samp>0 - 1</samp>.
 +
}}
 +
{{/cmd
 +
  |command = nosave, ns
 +
  |desc    = Toggles end of day saving on or off. Outputs a message to the console with the current saving status.
 +
}}
 +
{{/cmd
 +
  |command = runmacro, rm
 +
  |params  = {{t|S:filename}}
 +
  |desc    = Runs the specified macro file. The given filename will have <samp>.txt</samp> appended to it. See [[#Macros|Macros]] for more details.
 +
}}
 +
{{/cmd
 +
  |command = save
 +
  |desc    = Toggles end of day saving on or off. Similar to [[#nosave|nosave]] but does not output a status message.
 +
}}
 +
{{/cmd
 +
  |command = showplurals
 +
  |desc    = Prints (to the console) the plural forms of all items listed in <samp>Data/ObjectInformation</samp> and <samp>Data/BigCraftablesInformation</samp>.
 +
}}
 +
{{/cmd
 +
  |command = steaminfo,sdkinfo
 +
  |desc    = Outputs information about whether Steam is running and if a user is logged in.
 +
}}
 +
{{/cmd
 +
  |command = version
 +
  |desc    = Outputs the assembly version number to the console. Note this is different from the more user-friendly version that can be accessed from the credits screen. For example, running this command on Stardew Valley 1.4.3 for Windows will output <samp>1.3.7286.33936</samp>
 +
}}
 +
|}
 +
 
 +
===Multiplayer===
 +
====General multiplayer====
 +
{| class="wikitable"
 
|-
 
|-
| completeJoja || presumably set completeJoja value to true (or input value)
+
! command
 +
! description
 +
! &nbsp;
 
|-
 
|-
| zl, zoomlevel ||  
+
{{/cmd
 +
  |command = addotherfarmer
 +
  |desc    = Creates an additional new male farmer with randomized name and appearance which spawns 1 tile to the left of your farmer. Unsure of what situation this can be used in.
 +
}}
 +
{{/cmd
 +
  |command = nethost
 +
  |desc    = Starts a new LAN server. Details unknown.
 +
}}
 +
{{/cmd
 +
  |command = netjoin
 +
  |desc    = Calls up the farmhand menu. Details unknown.
 +
}}
 +
{{/cmd
 +
  |command = split
 +
  |params  = {{o|I:playerIndex}}
 +
  |desc    = Adds another split-screen multiplayer instance for the specified player index or starts split-screen mode otherwise.
 +
}}
 +
|}
 +
 
 +
====Logging====
 +
{| class="wikitable"
 
|-
 
|-
| eventseen, seenevent {{t|I:ID}} || adds given event's ID to the list of Seen Events. Useful for enabling access to event-dependent areas or events.
+
! command
 +
! description
 +
! &nbsp;
 
|-
 
|-
| shirt ||  
+
{{/cmd
 +
  |command = logbandwidth
 +
  |desc    = Toggles bandwidth logging on and off. Can be used on either host or client.
 +
}}
 +
{{/cmd
 +
  |command = netclear
 +
  |desc    = Clears network message log.
 +
}}
 +
{{/cmd
 +
  |command = netdump
 +
  |desc    = Outputs network message log to a file.
 +
}}
 +
{{/cmd
 +
  |command = netlog
 +
  |desc    = Toggles network message logging on and off.
 +
}}
 +
|}
 +
 
 +
====Player relationships====
 +
{| class="wikitable"
 
|-
 
|-
| b, bi, big, bigitem || Gives you a craftable (Also known as bigCraftables). Example: ''debug bigitem 1'' gives you a house plant
+
! command
 +
! description
 +
! &nbsp;
 
|-
 
|-
| facePlayer || presumably makes given NPC actor (persistently) face player actor.
+
{{/cmd
 +
  |command = dateplayer
 +
  |desc    = Checks all other farmers and sets the first one found as dating the player.
 +
}}
 +
{{/cmd
 +
  |command = engageplayer
 +
  |desc    = Checks all other farmers and sets the first one found as engaged to the player with a wedding date of the next game day.
 +
}}
 +
{{/cmd
 +
  |command = marryplayer
 +
  |desc    = Checks all online farmers and sets the first one found as married to the player with a wedding date of the current game day.
 +
}}
 +
|}
 +
 
 +
====Shared/split money====
 +
{| class="wikitable"
 
|-
 
|-
| j, aj, addJunimo || presumably spawns a junimo close to player actor.
+
! command
 +
! description
 +
! &nbsp;
 
|-
 
|-
| ns, nosave, noSave ||  
+
{{/cmd
 +
  |command = changewallet
 +
  |desc    = Sets the game to toggle between shared or split money overnight. Host only.
 +
}}
 +
{{/cmd
 +
  |command = mergewallets
 +
  |desc    = Immediately switches to shared money, merging all player wallets. Host only.
 +
}}
 +
{{/cmd
 +
  |command = separatewallets
 +
  |desc    = Immediately switches to split money, separating all player wallets. Host only.
 +
}}
 +
|}
 +
 
 +
===Audio and visual effects===
 +
====Animations====
 +
{| class="wikitable"
 
|-
 
|-
| water || Irrigate all tilled land on the current map.
+
! command
 +
! description
 +
! &nbsp;
 
|-
 
|-
| growAnimalsFarm || Turns all baby animals to adults.
+
{{/cmd
 +
  |command = animationpreviewtool,apt
 +
  |desc    = Opens a menu allowing you to preview different farmer animations and change some appearance options. Useful for event modding. '''Warning: previewing the "passOutTired" animation will make your farmer pass out as if it's 2 am and start a new day.'''
 +
}}
 +
{{/cmd
 +
  |command = busdriveback
 +
  |desc    = Plays the animation of the bus returning from the desert. Must be done on the Bus Stop map.
 +
}}
 +
{{/cmd
 +
  |command = busdriveoff
 +
  |desc    = Plays the animation of the bus leaving the Bus Stop and driving to the desert. Will warp the player to the desert. Must be done on the Bus Stop map.
 +
}}
 +
{{/cmd
 +
  |command = createsplash
 +
  |desc    = Creates a fish "bubble" spot in front of the player. Seems inconsistent.
 +
}}
 +
{{/cmd
 +
  |command = framebyframe, fbf
 +
  |desc    = Turns on "frame-by-frame" mode which pauses the game and allows you to advance time/animations one frame at a time by hitting the <samp>G</samp> key. Hit <samp>Escape</samp> key to exit.
 +
}}
 +
{{/cmd
 +
  |command = frameoffset, fo
 +
  |params  = {{t|I:frameID}},{{t|S:X}},{{t|S:Y}},{{t|S:??}}
 +
  |desc    = Sets frame offset for specified frame and specified X & Y values. The X and Y can be prefaced with <samp>s</samp> to flip the direction. Details unknown; reference <samp>FarmerRenderer.featureXOffsetPerFrame()</samp> and <samp>FarmerRenderer.featureYOffsetPerFrame()</samp>.
 +
}}
 +
{{/cmd
 +
  |command = setframe, sf
 +
  |params  = {{t|I:frameID}}
 +
  |desc    = Sets farmer sprite to the given animation frame. Probably best used in conjunction with [[#framebyframe|frame-by-frame mode]].
 +
}}
 +
{{/cmd
 +
  |command = sprinkle
 +
  |desc    = Shows an animation of a sprinkle effect around the farmer. (It's the animation used while fairy-dusting a machine).
 +
}}
 +
{{/cmd
 +
  |command = toss
 +
  |desc    = Shows an animation of a spinning vial/beaker which rises and then falls. Likely used in one of Maru's heart events.
 +
}}
 +
|}
 +
 
 +
====Camera, lighting, and effects====
 +
{| class="wikitable"
 
|-
 
|-
| wp, wallpaper || Inside the current farm building, switches all wallpapers to the next available wallpaper counting from (assumedly) the left/topmost room.
+
! command
 +
! description
 +
! &nbsp;
 
|-
 
|-
| tool || Does not work; doing the command appears to do nothing
+
{{/cmd
 +
  |command = ambientlight, al
 +
  |params  = {{t|I:R}},{{t|I:G}},{{t|I:B}}
 +
  |desc    = Sets the ambient light of the current location to the inverse of the specified RGB values. This is a temporary change and the light will revert if the location is reset or re-entered. Ex. inputting <samp>255 0 0</samp> will set the lighting to aqua blue, <samp>0 255 255,</samp> rather than red.
 +
}}
 +
{{/cmd
 +
  |command = bloom
 +
  |params  = {{t|D:BloomThreshold}},{{t|D:BlurAmount}},{{t|D:BloomIntensity}},{{t|D:BaseIntensity}},{{t|D:BloomSaturation}},{{t|D:BaseSaturation}},{{o|S:brightWhiteOnly}}
 +
  |desc    = Changes the bloom settings to the specified parameters. Most are double-precision floats which are divided by 10. The last parameter will set the <samp>brightWhiteOnly</samp> flag to <samp>true</samp> if it is present and <samp>false</samp> if it is absent. Also sets the <samp>bloomDay</samp> flag.
 +
}}
 +
{{/cmd
 +
  |command = bloomday
 +
  |desc    = Toggles the <samp>bloomDay</samp> flag on and off, essentially turning the bloom effects themselves on or off.
 +
}}
 +
{{/cmd
 +
  |command = drawbounds
 +
  |desc    = Toggles the <samp>drawbounds</samp> flag on and off. Details unknown.
 +
}}
 +
{{/cmd
 +
  |command = lsd
 +
  |params  = {{t|D:howLongMilliseconds}},{{t|D:shiftRate}},{{t|D:shiftFade}},{{t|D:globalIntensityMax}},{{t|D:blurShiftLevel}},{{t|D:saturationShiftLevel}},{{t|D:contrastShiftLevel}},{{t|D:bloomIntensityShift}},{{t|D:brightnessShift}},{{t|D:globalIntensityStart}},{{t|D:offsetShift}}
 +
  |desc    = Starts a bloom shifting animation with the specified values. All parameters are double-precision floats; the third parameter is divided by 1000 and the fourth through tenth parameters are divided by 100. Details unknown; reference <samp>BloomComponent.startShifting()</samp>. '''Use caution when testing this command if you're photosensitive, as it triggers very intense screen flashes.'''
 +
}}
 +
{{/cmd
 +
  |command = panmode, pm
 +
  |desc    = Turns on panmode. During panmode the screen can be panned with movement keys or mouse movements and <samp>debug panmode</samp> or <samp>debug exit</samp> will turn panmode off.
 +
}}
 +
{{/cmd
 +
  |command = tls
 +
  |desc    = Toggles between scaled and unscaled lighting.
 +
}}
 +
{{/cmd
 +
  |command = viewport
 +
  |params  = {{t|I:X}},{{t|I:Y}}
 +
  |desc    = Sets the viewport to the given values. Details unknown.
 +
}}
 +
{{/cmd
 +
  |command = uiscale,us
 +
  |params  = {{t|I:value}}
 +
  |desc    = Sets the UI Scale level to the specified value. This is an integer interpreted as the scale percent. Can be used to go beyond the normal limits of 75 - 125 percent.
 +
  |example = <code>debug us 60</code> would set the UI scale level to 60%.
 +
}}
 +
{{/cmd
 +
  |command = zoomlevel,zl
 +
  |params  = {{t|I:value}}
 +
  |desc    = Sets the game zoom level to the specified value. This is an integer interpreted as the zoom percent. Can be used to go beyond the normal limits of 75 - 125 percent.
 +
  |example = <code>debug zl 60</code> would set the zoom level to 60%.
 +
}}
 +
|}
 +
 
 +
====Audio====
 +
{| class="wikitable"
 
|-
 
|-
| fo, frameOffset ||
+
! command
 +
! description
 +
! &nbsp;
 
|-
 
|-
| m, mv, musicvolume ||
+
{{/cmd
|-
+
  |command = playmusic
| emote || (Broken) Will make you do an emote according to the emote id. If you use this command, it will play an endless loop of an empty emote.
+
  |params  = {{t|s:cueID}}
|-
+
  |desc    = Plays the specified music track. May not be able to play tracks which have a space in the cue name. Tracks played this way will be added to the <samp>songsHeard</samp> list and be available to play on the Jukebox afterwards. See the [https://docs.google.com/spreadsheets/d/1CpDrw23peQiq-C7F2FjYOMePaYe0Rc9BwQsj3h6sjyo/ modder's resource spreadsheet] (Music Bank IDs tab) for a list of valid cue IDs.
| remoteLargeTF ||
+
  |example = <code>debug playmusic spring2</code> would play the track ''Spring (The Valley Comes Alive)''.  
|-
+
}}
| spawnweeds {{t|number}} || Spawns {{t|number}} weeds in your current location. May freeze or crash the game if used outside of the farm.
+
{{/cmd
|-
+
  |command = playsound, ps
| lu, lookup ||
+
  |params  = {{t|s:cueID}}
|-
+
  |desc    = Playes the specified sound effect. See the [https://docs.google.com/spreadsheets/d/1CpDrw23peQiq-C7F2FjYOMePaYe0Rc9BwQsj3h6sjyo/ modder's resource spreadsheet] (Sound Bank IDs tab) for a list of valid cue IDs.
| speech ||
+
  |example = <code>debug ps purchase</code> would make the coin clink sound heard when buying and selling items.
|-
+
}}
| ps, playSound || Does not work, most likely to crash your game
+
|}
|-
 
| wc, warpCharacter || Warps player to the define NPC (Case sensitive). e.g. warpCharacter Abigail
 
|-
 
| fruitTrees || Instantly grows any fruit trees on your farm.
 
|-
 
| animalInfo ||
 
|-
 
| ff, furniture || Works just like the 'item' command, only with furniture. Format: furniture [ID]
 
|-
 
| achieve || Gives the player the achievement according to its id.
 
|-
 
| sdkinfo, steaminfo ||
 
|-
 
| morepollen ||  
 
|-
 
| specialItem || Gives the player an item for your wallet defined by its id.
 
|-
 
| levelup || Promotes the player's defined skill up. Format: levelup [skill] [level]
 
|-
 
| kms, killMonsterStat ||
 
|-
 
| backpack {{t|int}} || Increases player inventory size by whichever is smaller of these two:<br/>
 
* 20 minus current inventory size<br/>
 
* {{t|int}}.
 
|-
 
| child, kid ||
 
|-
 
| allbundles ||
 
|-
 
| movebuilding ||
 
|-
 
| mft, mailForTomorrow ||
 
|-
 
| ccload ||
 
|-
 
| minigame || The base command for toggling a specified scene or action
 
|-
 
| addOtherFarmer ||
 
|-
 
| addAllCrafting || possibly adds the achievement for having crafted every item
 
|-
 
| plaque ||
 
|-
 
| sprinkle || adds a short sparkle animation around your farmer
 
|-
 
| i, item ||
 
  
 +
===Outdated, unimplemented, or unknown===
 +
{| class="wikitable"
 
|-
 
|-
| removeQuest ||
+
! command
|-
+
! description
| w, wall ||
+
! &nbsp;
|-
 
| KillAllHorses ||
 
|-
 
| skinColor ||
 
|-
 
| debrisWeather || presumably changes the current weather to windy.
 
|-
 
| clearMail ||
 
|-
 
| cookingrecipe ||
 
|-
 
| clearCharacters ||
 
|-
 
| dialogue || possibly initiate dialogue by ID
 
|-
 
| test || TODO. Changes game display to a swatch list of floorings, which can be clicked once to return to normal game display.
 
|-
 
| fish || Presumably, adds a fish into the caught fish achievements.
 
|-
 
| year || Sets the year
 
|-
 
| crafting || Teaches the player all crafting recipes.
 
|-
 
| f, floor || Sets the floor of every room in your house
 
|-
 
| killAll || TODO. Possibly removes all NPC actors from the current map.
 
|-
 
| achievement ||
 
|-
 
| LSD ||
 
|-
 
| build ||
 
|-
 
| farmMap || Sets the player's map to the default, combat, fishing, mining, and foraging.
 
|-
 
| blueprint ||
 
|-
 
| upgradeBarn ||
 
|-
 
| season || Sets the current season to the given one.
 
|-
 
| gamePad ||
 
|-
 
| coopDweller ||
 
 
|-
 
|-
| hairStyle ||
+
{{/cmd
|-
+
  |command = lantern
| spreadSeeds ||
+
  |desc    = Adds a lantern to your inventory which looks like an axe and will softlock the player when trying to use it; [[#canmove|canmove]] can be used to fix the soft lock.
|-
+
}}
| removeBuildings ||
+
{{/cmd
|-
+
  |command = refuel
| addKent || Adds Kent to the game.
+
  |desc    = Sets lantern fuel to maximum. As the lantern was not fully implemented, this doesn't do much.
|-
+
}}
| getstat ||
+
{{/cmd
|-
+
  |command = stoprafting
| doesItemExist || Checks if an item exist in the game using it's ID
+
  |desc    = Sets an internal <samp>isRafting</samp> flag to false. As rafting was not fully implemented, this doesn't do much.
|-
+
}}
| pants || sets the player's pants colour. uses 3 RGB values (example: pants 100 40 50)
 
|-
 
| gamemode ||
 
|-
 
| barnDweller ||
 
|-
 
| bloom || unimplemented lighting feature. doesn't work.
 
|-
 
| day || Sets the day to the defined number
 
|-
 
| upgradeCoop ||
 
|-
 
| dog ||  Presumably adds a dog at ({{t|X}}, {{t|}}y) on the current map. Lets you have multiple dogs.
 
|-
 
| busDriveOff || Plays the cutscene of the bus driving off and sends the player to Calico Desert (NOTE: Only works at the bus stop)
 
|-
 
| child2 || Adds a second child to your family.
 
|-
 
| playMusic {{t|ID}} || Changes music track to <tt>ID</tt>. Does not work, will crash your game.
 
|-
 
| hat || Gives the player a hat according to its id
 
|-
 
| r || resets the current music track
 
|-
 
| hairColor || sets the player's hair colour (lakes, ocean, etc). uses 3 RGB values (example: hairColor 100 40 50)
 
|-
 
| waterColor || Tints the colour of water (lakes, ocean, etc). uses 3 RGB values (example: waterColor 100 40 50)
 
|-
 
| ring || Gives the player a ring according to its id
 
|-
 
| clearFurniture || removes all furniture from current area
 
|-
 
| boots || Gives the player boots according to its id
 
|-
 
| resetAchievements || Resets the Steam achievements.
 
 
|}
 
|}
 +
 +
==See also==
 +
* [[Modding:Modder Guide/APIs/Console]] to add custom commands from a SMAPI mod.
  
 
[[Category:Modding]]
 
[[Category:Modding]]
 +
 +
[[ru:Модификации:Команды для отладки]]

Latest revision as of 01:45, 16 April 2024

Index

Console commands aren't meant for general use. Be very careful using them.
They can have permanent side-effects on your save data, break your save, or have other unintended effects. If you don't understand the command, don't use it on a save you care about.

SMAPI provides access to hundreds of console commands with a wide variety of effects, ranging from useful tools to cheats to specialized test commands. These are documented on this page.

Format used on this page

To avoid repeating text, this page uses a few conventions to convey common information:

  • Required parameters are listed in angle brackets, and optional parameters are listed in square brackets. For example, speed <I:value> [I:duration] means the command requires an integer value parameter and has an optional integer duration parameter. Details such as default values should be listed in the description.
  • The command names are case-insensitive, but their parameters might be case-sensitive.
  • If a command description says that a parameter uses "fuzzy" match, that means that it can match on a case-insensitive partial name. For example, abi would match Abigail if it's fuzzy.

Console commands

How to enter console commands

You must have the Console Commands mod installed to use the commands listed below. That mod is bundled with SMAPI; if you deleted it, just reinstall SMAPI to get the mod back.

You can enter console commands directly into the SMAPI console window (or into the in-game chat if you have Chat Commands too). You can type help to get a list of console commands (including commands added by other mods).

Items & money

command description  
list_items

Syntax: list_items [S:search text]

Shows a list of every item in the game (including those added by mods). The optional search text limits results to those which have all of the search words somewhere in their ID + type + name.

Example:

> list_items iridium

                name |                    id
-------------------- | ---------------------
   Iridium Fireplace |               (F)1796
      Iridium Krobus |               (F)2396
         Iridium Pan |      (H)IridiumPanHat
        Iridium Band |                (O)527
         Iridium Bar |                (O)337
...

#
player_add name

Syntax: player_add name <S:item name> [I:count] [I:quality]

Adds an item to your inventory based on its name. Parameters:

  • <S:item name> is the default or translated item name to spawn.
  • [I:count] is how many items to add to your inventory (defaults to 1).
  • [I:quality] is the quality of the item to create (defaults to normal). This can be one of 0 (normal), 1 (silver), 2 (gold), or 4 (iridium).

Examples:

  • player_add name "Galaxy Sword" will create a Galaxy Sword.
  • player_add name "Stir Fry" 10 4 will create 10 iridium-quality stir fry dishes.
#
player_add

Syntax: player_add <I:item ID> [I:count] [I:quality]

Adds an item to your inventory based on its item ID. Parameters:

  • <I:item ID> is the unique ID for the item to add (as shown by the list_items command).
  • [I:count] is how many items to add to your inventory (defaults to 1).
  • [I:quality] is the quality of the item to create (defaults to normal). This can be one of 0 (normal), 1 (silver), 2 (gold), or 4 (iridium).

Examples:

  • player_add (O)246 will create a wheat flour item.
  • player_add (O)128 10 4 would create 10 iridium-quality pufferfish.
#
player_setmoney

Syntax: player_setmoney <I:amount>

Changes the player's total money to the given amount of gold.

Example: player_setmoney 5000 will change your total money to 5000g.

#

Player

command description  
player_changecolor

Syntax: player_changecolor <S:feature> <S:color>

Sets a color for your character's sprite. Parameters:

  • <S:feature> is one of hair, eyes, or pants.
  • <S:color> is an RGB color, specified as three comma-separated channels from 0 (no color) to 255 (max color).

Example: player_changecolor eyes 255,0,0 would make your character's eyes red.

#
player_changestyle

Syntax: player_changestyle <S:target> <I:style ID>

Sets a style for your character's sprite. Parameters:

  • <S:target> is the part of the player's style to change. This is one of hair, shirt, skin, acc (accessory), shoe, swim (whether the player is wearing a swim suit), or gender.
  • <I:style ID> is the integer ID for the style to use. For swim, this can be 0 (not in a swim suit) or 1 (in a swim suit). For gender, this can be 0 (male) or 1 (female).

Example: player_setstyle swim 1 would change the player into their swim suit.

#
player_sethealth

Syntax: player_sethealth <I:amount>

Sets the player's current health.

Example: player_sethealth 200 would give you 200 health points.

#
player_setimmunity

Syntax: player_setimmunity <I:amount>

Sets the player's total immunity. This is permanent and is affected by immunity buffs. For example, if you set immunity 10 while Genie Shoes (+6 immunity) are equipped, removing the shoes would set your immunity to 4 (10 - 6). You can reset immunity to normal by removing everything that improves immunity, then entering player_setimmunity 0.

Example: player_setimmunity 10 would you 10 immunity points, or a 100% chance of avoiding buff effects.

#
player_setmaxhealth

Syntax: player_setmaxhealth <I:amount>

Sets the player's maximum health. This permanently changes the baseline; for example, if you set your max health to 500 and then drink Iridium Snake Milk, your max health will increase to 525.

Example: player_setmaxhealth 500 would give you a maximum of 500 health points.

#
player_setmaxstamina

Syntax: player_setmaxstamina <I:amount>

Sets the player's maximum stamina. This permanently changes the baseline; for example, if you set your max stamina to 300 and then collect a Stardrop, your max stamina will increase to 334.

Example: player_setmaxstamina 500 would give you a maximum of 500 stamina points.

#
player_setname

Syntax: player_setname <S:target> <S:name>

Sets the name of the current player or their farm, depending on the <S:target> value (player or farm).

Examples:

  • player_setname player Malon would change your player name to Malon.
  • player_setname farm "Lon Lon" would change your farm name to Lon Lon Farm.
#
player_setstamina

Syntax: player_setstamina <I:amount>

Sets the player's current stamina.

Example: player_setstamina 200 would give you 200 stamina points.

#

World

command description  
hurry_all

Immediately warps all NPCs to their scheduled positions. (To hurry a single NPC, use debug hurry npc-name instead.)

#
set_farm_type list

Shows a list of farm types you can use with the set_farm_type command.

#
set_farm_type

Syntax: set_farm_type <S:farm type>

Sets the player's current farm type, where <I:farm type> is one of 0 (standard), 1 (riverlands), 2 (forest), 3 (hilltop), 4 (combat), 5 (four corners), 6 (beach), or a custom farm type ID. You can enter set_farm_type list for a list of valid farm type IDs.

Example: set_farm_type 1 will set the farm type to riverlands.

#
world_clear

Syntax: world_clear <S:location> <S:entity type>

Removes all entities of the given type from a location. Parameters:

  • <S:location> is the internal name for a location, or current for the one you're in.
  • <S:entity type> is one of crops, debris, fruit-trees, furniture, grass, trees, removable (everything that can be removed or destroyed during normal gameplay), or everything (everything including permanent bushes).

Example: world_clear current debris will remove all debris (sticks, stones, and small plants).

#
world_downminelevel

Goes down one mine level. If you're not in the mines, warps you to the first mine level.

#
world_freezetime

Syntax: world_freezetime <I:action>

Freezes or resumes the time. The [I:action] can be 0 (resume time) or 1 (freeze time); if omitted, time is toggled.

#
world_setday

Syntax: world_setday <I:day>

Sets the day of month.

Example: world_setday 30 will set the date to the 30th of the current season.

#
world_setminelevel

Syntax: world_setminelevel <I:mine level>

Warps you to the given mine level. This can be the regular mines (levels 1–120), Skull Cavern (121+), or Quarry Mine (77377).

Example: world_setminelevel 80 warps to mine level 80.

#
world_setseason

Syntax: world_setseason <S:season>

Sets the season (one of spring, summer, fall, or winter).

Example: world_setseason spring will set the season to spring.

#
world_settime

Syntax: world_settime <I:time>

Sets the time of day, using the game's 26-hour time format (from 0600 for 6am at the start of day, to 2600 for 2am at the end of day).

Example: world_settime 1430 will set time to 2:30pm.

#
world_setyear

Syntax: world_setyear <I:year>

Sets the year number.

Example: world_setyear 10 will set the the game to the 10th year.

#

Other

command description  
harmony_summary

Syntax: harmony_summary [S:search]

Lists the Harmony patches added by SMAPI and other mods. If [S:search] is given, only patched method names matching any of the search terms will be listed.

Example: harmony_summary MeleeWeapon will list patches which affect the MeleeWeapon class in the game code.

#
help

Syntax: help [S:command name]

Provides documentation for console commands. If called without an argument, shows general help text and a list of available commands. If called with a command name, shows the documentation for that command.

#
log_context

Enables logging more contextual info like buttons pressed, menus changed, etc. For example, it can be used to get key binding codes or to simplify troubleshooting. This is enabled until you restart the game, or run the command again to disable it.

#
reload_i18n

Reload translation files for all mods. This is mainly useful when translating mods. (Note that if a mod caches the text, it may show the old version until it updates.)

#
show_data_files

Opens the folder containing the save and log files.

#
show_game_files

Opens the game folder.

#

Mods may also add their own commands. For example, Content Patcher adds the patch command, documented here.

Advanced

⚠️ These may corrupt or make permanent changes to your save. DO NOT USE THESE unless you're absolutely sure.

command description  
apply_save_fix

Syntax: apply_save_fix <S:fix ID>

Applies one of the game's save migrations to the currently loaded save. Parameters:

  • <s:fix ID> is the unique identifier for the save fix to apply. You can specify list to show a list of save fix IDs.

Examples:

  • apply_save_fix list would show a list of save fixes.
  • apply_save_fix AddCampfireKit would add Cookout Kit to the player's crafting recipes if they meet the requirements for it.
#
debug

Syntax: debug <*:command text>

Executes one of the game's debug commands. See debug commands below for more info.

#
regenerate_bundles

Syntax: regenerate_bundles [S:type] [*:flags]

Regenerates your community center bundle data. This will reset all bundle progress, and may have unintended effects if you've already completed bundles. Parameters:

  • [S:type]: the bundle type that will be generated (defaults to the current bundle type). Possible values: Default or Remixed.
  • confirm: confirms that you're aware of the potential consequences. Running regenerate_bundles without this option will show a warning message instead.
  • ignore_seed (optional): if the type is Remixed, causes remixed bundles to be re-randomized without using the save seed.

Examples:

  • regenerate_bundles confirm will regenerate bundles using the save's current settings.
  • regenerate_bundles remixed ignore_seed confirm will regenerate using randomized remixed bundles.
#

Debug commands

🅧
Don't use these commands unless you're aware of the possible consequences.
These are meant for the game developers, not players. They may crash your game, permanently corrupt or break your save, or cause other problems. Using these in a save you care about is not recommended.

How to enter debug commands

The game itself has hundreds of hidden debug commands used to test the game. These require the Console Commands mod too, but every command should be prefixed with debug like this:

debug where Robin
> Robin is at Farm, 21,4

The example above returned output, but many commands don't. If there's no output, SMAPI will say Sent debug command to the game, but there was no output.

Macros

Instead of entering each command directly into the SMAPI console, you can also use the debug runmacro command to a list of debug commands from a text file. (This doesn't work with the non-debug commands.) Here's how to use it:

  1. Create a text file in your game folder (with a .txt extension).
  2. Type commands in this file, one command per line. Each command should start with a slash character (/), but should not include debug .
  3. To run the macro, type debug runmacro <filename> in the SMAPI console, replacing <filename> with the name of your command file without the .txt extension.

For example, let's say you have a quickstart.txt file with these commands:

/backpack 12
/Money 10000
/levelup 0 1
/weapon 5

Entering debug runmacro quickstart in the SMAPI console will execute all the commands, resulting in a backpack upgrade, money set to 10000g, farming skill set to level 1, and a Bone Sword added to the player's inventory. (Note: Money is capitalized in this example because if it is all lowercase it triggers a special chat response instead of executing the command.)

Items and inventory

General item search and spawning

command description  
bigitem,
big,
bi,
b

Syntax: bigitem <I:itemID>

Adds the specified craftable to your inventory. See big craftables data for a list of base game IDs.

Example: debug bigitem 12 would give you a keg.

#
createdebris,
mainmenu

Syntax: createdebris <I:itemID>

Spawns the specified object at your position. See object data for a list of base game IDs. The object will initially be laying on the ground and will be picked up if you have room once the game regains focus.

Example: debug createdebris 24 would spawn a parsnip.

#
everythingshop

Opens a shop menu containing a furniture catalogue, all objects, all craftables, and all weapons. All items are free.

#
furniture,
ff

Syntax: furniture [I:itemID]

Adds the specified piece of furniture to your inventory. See furniture data for a list of base game IDs. If the itemID is not supplied, a random piece of furniture (ID 0 - 1612) will be given.

Example: debug furniture 704 would give you an Oak Dresser.

#
fuzzyitemnamed,
fin,
f

Syntax: fuzzyitemnamed <S:itemName> [I:amount] [I:quality]

Adds the specified item to your inventory. This is a fuzzy search and the game will look through objects, craftables, furniture, weapons, boots, hats, and clothes to match it. There is no reliable way to use names with spaces or differentiate items with the same name, so not all items can be accessed with this command. The optional parameters are for stack amount (defaults is 1) and quality (default is 0.)

Examples:

#
getindex

Syntax: getindex <S:itemName>

Outputs the parent sheet index (i.e., ID) of the specified item to the SMAPI console. This is a fuzzy search with similar behavior to the fuzzyitemnamed command. Weapons, Boots, and Hats are recognized but will not return the correct ID.

Examples:

  • debug getindex prisma would output Prismatic Shard's index is 74.
  • debug getindex grief would output "Good Grief" Shirt's index is 1008.
#
item,
i

Syntax: item <I:itemID> [I:amount] [I:quality]

Adds the specified object to your inventory. Despite the generic name, this accepts object IDs only. The optional parameters are for stack amount (default is 1) and quality (default is 0.)

Example: debug item 74 would give you a Prismatic Shard.

#
itemnamed,
in

Syntax: itemnamed <S:itemName> [I:amount] [I:quality]

Adds the specified object to your inventory. Accepts only object names; this is not a fuzzy match but is case-insensitive. Punctuation should be included, but all spaces should be removed from the name (see examples below). If the requested name is not unique, all matching objects will be added. The optional parameters are for stack amount (default is 1) and quality (default is 0.)

Examples:

  • debug itemnamed miner'streat would give you Miner's Treat.
  • debug in strangedoll 3 would give you 3 of each of the Strange Doll artifacts.
#
lookup,
lu

Syntax: lookup <S:itemName>

Outputs the parent sheet index (i.e., ID) of the specified object to the SMAPI console. Accepts only object names; this is not a fuzzy match but is case-insensitive and spaces should still be included (see examples below). If the requested name is not unique, all matching objects will be included in the output.

Examples:

  • debug lookup diamond would output diamond 72.
  • debug lu strange doll would output strange 126 and strange 127.
#
tv

Adds a TV furniture item to your inventory; this will be either a Budget TV or Plasma TV, randomly chosen with equal chances.

#
wallpaper,
wp

Syntax: wallpaper [I:itemID]

Adds specified wallpaper item to inventory. If no ID is specified, this will randomly pick from any floor (ID 0-39) or wallpaper (ID 0-111). IDs over 111 do give items, but these will be either a combination of two different floor textures or a warped single floor texture.

#

Backpack and inventory

command description  
backpack

Syntax: backpack <I:amount>

Increases your inventory space by the specified amount; capped at 36 slots.

#
clear,
ci

Removes all items currently in your inventory.

#
doesitemexist

Syntax: doesitemexist <I:itemID> [S:isCraftable]

Checks all locations and all player inventories to see if the specified item exists anywhere. If the isCraftable argument is present (no matter what it is), the search will look for big craftables with the specified ID; if the isCraftable argument is absent, the search will instead look for Objects with the specified ID. A global message saying Yes or No will be displayed, but there is no indication of where the item is located if it is found.

Examples:

  • debug doesitemexist 24 will search for Parsnips
  • debug doesitemexist 12 t will search for Kegs.
#
fillbackpack,
fillbp,
fill,
fbp

Fills all empty spaces in your inventory with random Objects. Any objects spawned by this command will not be marked as found on the collections tab.

#
sl

Shifts inventory rows down, looping previous bottom row to top; similar to using Control-Tab with default keyboard controls. Will work with larger-than-normal inventories.

#
sr

Shifts inventory rows up, looping previous top row to bottom; similar to using Tab with default keyboard controls. Will work with larger-than-normal inventories.

#

Clothing and tailoring

command description  
boots

Syntax: boots <I:itemID>

Adds the specified pair of boots to your inventory. See Data/Boots for a list of base game IDs.

Example: debug boots 504 would give you Sneakers.

#
clothes

Syntax: clothes <I:itemID>

Adds the specified clothing item to your inventory. See Data/ClothingInformation for a list of base game IDs.

Examples:

  • debug clothes 1008 would give you a "Good Grief" Shirt.
  • debug clothes 11 would give you a Simple Dress.
#
dye

Syntax: dye <S:itemType> <S:color> <F:strength>

Dyes the specified (currently equipped) item the specified color. Item type can be shirt or pants and valid colors are black, blue, green, red, white, and yellow. Strength is a float between 0 and 1 inclusive; the higher the number, the more vibrant the color. The dye will mix with the current color so it is sometimes necessary to "reset" the item by dyeing first with white strength 1.

Examples:

  • debug dye shirt red 0.33 would dye your current shirt a shade of pink.
  • debug dye pants blue 1 would dye your current pants bright blue.
#
dyeAll

Seems to be intended to bring up a character customization menu with HSV sliders for both shirt and pants, but it does not function because all entered commands are forced to lower case. The two individual commands dyepants and dyeshirt can be used instead.

#
dyemenu

Brings up the same dyeing menu you get by interacting with the dye pots in Emily's house. Filling all six pots with appropriate items will bring up a character customization menu with HSV sliders for dyeing both your currently-equipped shirt and pants.

#
dyepants

Brings up a character customization menu with HSV sliders for dyeing your currently-equipped pants.

#
dyeshirt

Brings up a character customization menu with HSV sliders for dyeing your currently-equipped shirt.

#
hat

Syntax: hat <I:itemID>

Gives and automatically equips the specified hat to your farmer; any currently equipped hat will be destroyed. See hat data for a list of base game IDs.

Example: debug hat 3 would give you a Sombrero and automatically equip it.

#
ring

Syntax: ring <I:itemID>

Adds the specified ring to your inventory. See object data for a list of base game IDs.

Example: debug ring 527 would give you an Iridium Band.

#
tailor

Brings up the same tailoring menu you get by interacting with the sewing machine in Emily's house.

#
tailorrecipelisttool,
trlt

Brings up a special menu listing most Objects, what color they will dye an item, and what clothing item they can make when used in the sewing machine. The menu can be scrolled with the mouse wheel, hovering the mouse over the object will show the tooltip for the clothing it makes, and clicking on the object will add the clothing it makes to your inventory.

#

Tools and weapons

command description  
ax

Adds a basic Axe to your inventory.

#
forge

Shows the Forge menu.

#
hoe

Adds a basic Hoe to your inventory.

#
mp

Adds a Milk Pail to your inventory.

#
pan

Adds a Copper Pan to your inventory.

#
pickaxe,
pickax,
pick

Adds a basic Pickaxe to your inventory.

#
pole

Syntax: pole [I:type]

Adds a Fishing Pole of the specified type to your inventory. Valid types are 0 (Bamboo Pole; the default), 1 (Training Rod), 2 (Fiberglass Rod), or 3 (Iridium Rod).

#
shears,
scissors

Adds Shears to your inventory.

#
slingshot

Adds a Slingshot to your inventory.

#
tool

Syntax: tool <S:name> <I:level>

Changes the upgrade level of the specified tool to the specified level; the tool must be in your inventory. Tool names are case-sensitive but can match partially; valid names are Ax, Hoe, Pickaxe, and Can. Upgrade levels are 0 (basic), 1 (copper), 2 (steel), 3 (gold), or 4 (iridium).

Examples:

  • debug tool Pick 0 would set your pickaxe to base quality.
  • debug tool Can 4 would set your watering can to iridium quality.
  • debug tool ax 3 would set your pickaxe to gold quality, because of the case-sensitive substring match.
#
trashcan

Syntax: trashcan <I:level>

Changes the upgrade level of your inventory Trash Can. Upgrade levels are 0 (basic), 1 (copper), 2 (steel), 3 (gold), or 4 (iridium). The can sprite may not fully update until the inventory is closed and reopened.

#
wand

Adds a Return Scepter to your inventory.

#
wateringcan,
can

Adds a basic Watering Can to your inventory.

#
weapon

Syntax: weapon <I:weaponID>

Adds the specified weapon to your inventory. See weapon data for a list of base game IDs.

Example: debug weapon 12 would give you a Wooden Blade.

#

Wallet items

command description  
clearspecials

Removes most special items from your Wallet. The Rusty Key, Skull Key, Special Charm, Dark Talisman, Magic Ink, Club Card, Dwarven Translation Guide, and Magnifying Glass will all be removed, but Bear's Knowledge and Spring Onion Mastery will remain.

#
darktalisman

Adds the Dark Talisman to (and removes the Magic Ink from) your wallet; also removes the magic artifact blocking access to the Witch's Swamp.
Warning: This command will also clear all received mail and hidden mail flags.

#
skullkey

Adds the Skull Key to your wallet.

#
specialitem

Syntax: specialitem <I:itemID>

Adds the specified special item to your wallet. Which ID values are useful is currently unknown.

#
specials

Adds all special items to your wallet, including Bear's Knowledge and Spring Onion Mastery. The associated events for these two are also marked as seen.

#
townkey

Adds the Key To The Town to your wallet.

#

Miscellaneous items

command description  
fillbin,
fb

Adds a Parsnip, Fire Quartz, LargeMouth Bass, Wild Horseradish, and Wood to the shipping bin.

#
listtags

Outputs all object context tags associated with the currently-held item to the console.

Example: debug listtags while holding an Acorn would output Tags on Acorn: id_o_309 color_brown tree_seed_item item_acorn category_seeds.

#
makeinedible

Makes the currently-held item inedible by setting its edibility value to -300; does not affect other instances of the same item.

#
skullgear

Sets your current backpack size to 32 slots, equips a Savage Ring and Iridium Band, equips Space Boots, and clears inventory except for an Iridium Pickaxe, a Galaxy Sword, a stack of 20 Spicy Eels, and a stack of 20 Mega Bombs. Also sets your maximum health to 75 and gives you the Fighter profession. Any previously equipped boots and rings and all previous inventory items are lost.

#

Player

Appearance

command description  
customizemenu,
customize,
cmenu

Opens the full character customization menu seen at the start of a new game which includes gender options and player/farm names. Changing the player name will cause the save file to change as well.

#
haircolor

Syntax: haircolor <I:R> <I:G> <I:B>

Sets the player's hair color to the specified RGB values. Each has a range of 0-255.

#
hairstyle

Syntax: hairstyle <I:ID>

Sets the player's hair style to the specified ID. Note that these IDs are one less than the values shown in the character customization menu and have a range of 0-55 in the base game.

#
pants

Syntax: pants <I:R> <I:G> <I:B>

Sets the player's pants color to the specified RGB values. Each has a range of 0-255. This no longer has a noticeable effect since pants are now a clothing item; the dyepants command should be used instead.

#
shirtcolor

Syntax: shirtcolor <I:ID>

Sets the player's shirt choice to the specified ID. This no longer has a noticeable effect since shirts are now a clothing item; the clothes or dyeshirt commands should be used instead.

#
skincolor

Syntax: skincolor <I:ID>

Sets the player's skin color to the specified ID. Note that these IDs are one less than the values shown in the character customization menu and have a range of 0-23 in the base game.

#

Health, stamina, buffs, and currency

command description  
buff

Syntax: buff <I:buffID>

Adds the specified buff to the player. Useful ID values are listed below. Also see the speed command.

6 - Full (prevents eating) for 3 min18 - Spooked (-8 attack) for 8 sec
7 - Quenched (prevents drinking) for 1 min19 - Frozen (-8 speed) for 2 sec
12 - Goblin's Curse (-3 spd/def/att) for 6 sec20 - Warrior Energy (+10 attack) for 5 sec
13 - Slimed (-4 speed) for 2.5-3 sec21 - Yoba's Blessing (Invincibility) for 5 sec
14 - Jinxed (-8 defense) for 8 sec22 - Adrenaline Rush (+2 speed) for 3 sec
17 - Tipsy (-1 speed) for 30 sec23 - Oil of Garlic (prevents swarms) for 10 min

#
clearbuffs

Removes all active buffs (both positive and negative.)

#
die

Sets your health to zero, resulting in passing out and awakening in the Clinic.

#
energize

Syntax: energize [I:amount]

Sets your energy to the specified amount. If no amount is specified, it will be set to maximum.

#
exhaust

Sets your energy to -15, resulting in passing out and ending the day.

#
gem

Syntax: gem <I:amount>

Gives you the specified number of Qi Gems.

#
gold

Gives you one million (1,000,000) gold.

#
heal

Sets your health to maximum.

#
invincible,
inv,
gm

Toggles invincibility. When on, you will not take any damage.

#
money

Syntax: money <I:amount>

Sets your money to the specified amount. To use in a macro, make sure one or more of the letters in the command is capitalized.

#
testnut

Spawns a Golden Walnut at the upper left corner of the current map which will immediately start moving towards a player for collection.

#
walnut

Syntax: walnut <I:amount>

Gives your team the specified number of Golden Walnuts.

#

Movement and warping

command description  
canmove,
cm,
c

Attempts to force-enable player movement by resetting animations and dismounting the horse. Sometimes useful when the player becomes "stuck."

#
minelevel

Syntax: minelevel <I:level>

Warps you to the specified level of the Mines. Use level 77377 to warp to the Quarry Mine, and to warp to a level in the Skull Cavern, add 120 to your target level.

Example: debug minelevel 219 will warp you to level 99 of the Skull Cavern.

#
printplayerpos,
ppp

Prints the player's current position in both tile and pixel coordinates to the console.

#
speed

Syntax: speed <I:value> [I:duration]

Gives the player a speed buff of the specified amount for the specified duration. The duration is interpreted as in-game minutes and defaults to 30; multiplying this value by 0.7 will convert to real-time seconds. This buff has a unique source of "Debug Speed" and will stack with both food and drink speed buffs.

Example: debug speed 5 600 will give you a +5 speed buff which lasts for 7 minutes (10 game hours).

#
volcano

Syntax: volcano <I:level>

Warps you to the specified level of the Volcano Dungeon.

#
warp

Syntax: warp <S:locationName> [I:X] [I:Y]

Warps you to the specified location at the given coordinates. The location name is a fuzzy match, and if the coordinates are not supplied the game has a list of hardcoded defaults it will use for many locations (see Utility.getDefaultWarpLocation() for details.)

Examples:

  • debug warp forest 33 99 will warp you near Hat Mouse's shop in the forest.
  • debug warp sci will warp you to Robin's House (internally ScienceHouse) just in front of where Robin tends the shop.
#
warphome,
wh

Warps you directly to your bed in your farmhouse/cabin.

#
warpshop,
ws

Syntax: warpshop <S:npcName>

Warps you to the shop run by the specified NPC; if necessary will also warp the NPC to the shop location. NPC names are case-insensitive and can be one of the following: pierre, robin, krobus, sandy, marnie, clint, gus, willy, pam, dwarf, and wizard. The wizard option will also add Magic Ink to your wallet and mark the event where the ink is returned as already seen.

Example: debug warpshop marnie will warp both you and Marnie to her animal shop.

#
warptocharacter,
wtc

Syntax: warptocharacter <S:npcName>

Warps you to the specified character, wherever they are. This is a fuzzy match.

#
warptoplayer,
wtp

Syntax: warptoplayer <S:playerName>

Warps you to the specified player, wherever they are. The match is case-insensitive and any spaces should be removed from the name.

#

Skills and XP

command description  
experience

Syntax: experience <I:skillID> <I:xpAmount>

Adds the specified amount of experience to the specified skill. Valid skill IDs are 0 (Farming), 1 (Fishing), 2 (Foraging), 3 (Mining), 4 (Combat), and 5 (Luck).

#
fishing

Syntax: fishing <I:level>

Sets your fishing skill to the specified level. This does not unlock crafting recipes or allow profession choice, nor does it change the underlying experience amount. However it does count in terms of unlocking what Willy sells and enabling legendary fish to be hooked.

#
levelup

Syntax: levelup <I:skillID> <I:level>

Shows the appropriate levelup window for the specified skill and level. This unlocks any associated crafting recipes and (if applicable) lets you choose a profession, but does not actually change the skill level or underlying experience amount. Valid skill IDs are 0 (Farming), 1 (Fishing), 2 (Foraging), 3 (Mining), 4 (Combat), and 5 (Luck).

#
profession

Syntax: profession <I:ID>

Gives you the specified profession. Note that this just hard adds the profession, it's not a way to switch skill trees. Valid profession IDs from the base game are shown below.

FarmingFishingForagingMiningCombat
0 - Rancher6 - Fisher12 - Forester18 - Miner24 - Fighter
1 - Tiller7 - Trapper13 - Gatherer19 - Geologist25 - Scout
2 - Coopmaster8 - Angler14 - Lumberjack20 - Blacksmith26 - Brute
3 - Shepherd9 - Pirate15 - Tapper21 - Prospector27 - Defender
4 - Artisan10 - Mariner16 - Botanist22 - Excavator28 - Acrobat
5 - Agriculturist11 - Luremaster17 - Tracker23 - Gemologist29 - Desperado

#
showexperience

Syntax: showexperience <I:skillID>

Outputs your total experience amount for the specified skill in the SMAPI console. Valid skill IDs are 0 (Farming), 1 (Fishing), 2 (Foraging), 3 (Mining), 4 (Combat), and 5 (Luck).

#

Statistics and achievements

command description  
achieve

Syntax: achieve <S:steamAchieveID>

Awards the specified Steam achievement. Steam achievements which correspond to in-game achievements use the same numeric ID as listed in Achievement data with one exception: the ID for Greenhorn is a0 instead of just 0. Steam-only achievements have a much longer string ID; these are listed below.

Achievement_SingularTalent - Singular TalentAchievement_MasterOfTheFiveWays - Master Of The Five Ways
Achievement_LocalLegend - Local LegendAchievement_Joja - Joja Co. Member Of The Year
Achievement_FullHouse - Full HouseAchievement_Stardrop - Mystery Of The Stardrops
Achievement_TheBottom - The BottomAchievement_KeeperOfTheMysticRings - Protector Of The Valley
Achievement_PrairieKing - Prairie KingAchievement_FectorsChallenge - Fector's Challenge

Examples:

  • debug achieve 17 will award the Steam achievement for Gourmet Chef.
  • debug achieve Achievement_Stardrop will award the Steam achievement for Mystery of the Stardrops.
#
achievement

Syntax: achievement <I:achieveID>

Awards the specified in-game achievement. See Achievement data for a list of IDs. This will also award the associated Steam achievement if you don't have it.

#
caughtfish,
fishcaught

Syntax: caughtfish <I:value>

Sets the FishCaught stat to the specified amount.

#
changestat

Syntax: changestat <S:statID> <I:value>

Sets the specified stat to the specified value. These are different than the stats used in getstat/setstat (Technical note: they are entries in StardewValley.Stats.stat_dictionary). Known IDs as of version 1.4.3 are: trashCansChecked.

#
daysplayed,
dap

Shows a global message with the current value of the daysPlayed stat.

#
dp

Syntax: dp <I:value>

Sets the daysPlayed stat to the specified amount.

#
getstat

Syntax: getstat <S:statID>

Outputs value of specified stat to the SMAPI console. Some of these values are also accessible in-game by interacting with a machine in the Casino. Stat IDs are case-sensitive (Technical note: they are the properties for the StardewValley.Stats class, but not all of them are actually tracked by the game.) Known IDs as of version 1.4.3 are: AverageBedtime, BarsSmelted, BeveragesMade, BouldersCracked, CaveCarrotsFound, CheeseMade, ChickenEggsLayed, CoalFound, CoinsFound, CopperFound, CowMilkProduced, CropsShipped, DaysPlayed, DiamondsFound, DirtHoed, DuckEggsLayed, FishCaught, GeodesCracked, GiftsGiven, GoatCheeseMade, GoatMilkProduced, GoldFound, GoodFriends, IndividualMoneyEarned, IridiumFound, IronFound, ItemsCooked, ItemsCrafted, ItemsForaged, ItemsShipped, MonstersKilled, MysticStonesCrushed, NotesFound, OtherPreciousGemsFound, PiecesOfTrashRecycled, PreservesMade, PrismaticShardsFound, QuestsCompleted, RabbitWoolProduced, RocksCrushed, SeedsSown, SheepWoolProduced, SlimesKilled, StarLevelCropsShipped, StepsTaken, SticksChopped, StoneGathered, StumpsChopped, TimesFished, TimesUnconscious, TrufflesFound, and WeedsEliminated.

#
killmonsterstat,
kms

Syntax: killmonsterstat <S:monsterName> <I:value>

Sets the kill stats for the specified monster to the specified value. The monster name should be the same as the keys in Data/Monsters but with spaces replaced with zeros; it is case-sensitive. The command will output a buggy response to the console due to referencing the wrong string key, but the stats are correctly set.

Example: debug kms Dust0Spirit 499 will set the monster kill stats for Dust Sprites to 499 and output Drink Dust Spirit?

#
mineinfo

Outputs two mine-related stats to the SMAPI Console: MineShaft.lowestLevelReached and player.deepestMineLevel

#
perfection

Makes a variety of changes to qualify for Perfection. These include maxing all friendships, marking all fish as caught, awarding and marking complete all cooking and crafting recipes, marking all items as shipped, setting the flags for all stardrops, setting all skill levels to 10, awarding 500 kills for all monsters, forcibly placing all 4 obelisks and the gold clock in the upper left corner of the farm, and giving 130 walnuts.

#
resetachievements

Resets the Steam achievements.

#
setstat

Syntax: setstat <S:statID> <I:value>

Sets the specified stat to the specified value. Stat IDs are case-sensitive; see getstat more information.

Example: debug setstat StepsTaken 99999 would set the Number of Steps Taken stat to 99999.

#

Collections and quests

Cooking and crafting

command description  
addallcrafting

Teaches you all crafting recipes. Basically the same as crafting, but this one does not check if you already know the recipe before adding so it may output some error messages to the console about duplicate keys.

#
cooking

Teaches you all cooking recipes.

#
cookingrecipe

Syntax: cookingrecipe <S:recipeName>

Teaches you the specified cooking recipe. Names are case-sensitive and may contain spaces.

Example: debug cookingrecipe Seafoam Pudding will give you the recipe to cook Seafoam Pudding.

#
crafting

Teaches you all crafting recipes.

#
craftingrecipe

Syntax: craftingrecipe <S:recipeName>

Teaches you the specified crafting recipe. Names are case-sensitive and may contain spaces.

Example: debug craftingrecipe Ancient Seeds will give you the recipe to craft plantable ancient seeds from the artifact.

#
slimecraft

Teaches you the crafting recipes for Slime Incubator and Slime Egg-Press.

#

Fishing, museum, and secret notes

command description  
clearfishcaught

Clears all records of which fish you have caught, resetting the collection. To also change the stat which tracks how many total fish have been caught, see caughtfish.

#
clearmuseum

Removes all donated items from the museum, emptying the museum displays and causing all artifacts and minerals to have the Gunther can tell you more about this... description. Does not affect the records of which artifacts and minerals have been found (i.e., the collection pages).

#
deletearch

Clears all records of which artifacts and minerals you have found.
Warning: Also clears all record of which fish you have caught and clears all received mail (including hidden progress flags).

#
museumloot

Adds unfound artifacts and minerals to your inventory until it is full. Items added by this command will now be marked "found" on the collection pages.

#
newmuseumloot

Adds undonated artifacts and minerals to your inventory until it is full. Items added by this command increment the "Total found" count on the collection pages.

#
note

Syntax: note <I:bookID>

Sets the count of Lost Books recovered to 18, even if you previously had found more, and brings up a window with the contents of the specified book. Book IDs above 18 will show the message There's a book missing here.

#
sn

Syntax: sn [I:noteID]

Adds specified secret note to your inventory. If no ID is specified, a random unseen note will be added. See Data/SecretNotes for a list of IDs.

#

Mail

command description  
allmail

Queues every letter defined in Data/mail for delivery tomorrow.

#
allmailread

Marks every letter defined in Data/mail as already read. They will all be accessible in the letters tab of the collections menu.

#
broadcastmail

Syntax: broadcastmail <S:mailID>

Queues specified mail for delivery tomorrow for all players. The ID is case-sensitive; see Data/mail for valid IDs in the base game.

#
broadcastmailbox

Syntax: broadcastmailbox <S:mailID>

Immediately adds specified mail to all players' mailboxes. The ID is case-sensitive; see Data/mail for valid IDs in the base game.

#
clearmail

Clears records of all received mail (including hidden progress flags). This also clears the letters tab in the collections menu.

#
mailfortomorrow,
mft

Syntax: mailfortomorrow <S:mailID> [noletter]

Queues specified mail for delivery tomorrow. The ID is case-sensitive, and any zeros in the given ID will be replaced with underscores. See Data/mail for valid IDs (after replacement) in the base game. Because of the zero replacement, some letters (e.g., quest10) are inaccessible with this command; broadcastmail may be a useful alternative in those cases. If the second parameter is present (with any value), the "noletter" flag is set, which will add the mail to your mail received list without showing a "new mail" indicator.

#
seenmail

Syntax: seenmail <S:mailID>

Marks specified mail as already received. The ID is case-sensitive; see Data/mail for valid IDs in the base game.

#
showmail

Syntax: showmail <S:mailID>

Brings up the letter-reading window with the specified mail. The ID is case-sensitive; see Data/mail for valid IDs in the base game. If a match cannot be found, a blank window will briefly display and an ArgumentOutOfRange error will be triggered. Does not set the letter as received or cause it to show in the letter tab of the collections menu.

Example: debug showmail SeaAmulet will show the letter Lewis sends about Mermaid's Pendants.

#

Quests and Special Orders

command description  
clearquests

Removes all quests from your journal/quest log.

#
collectquest

Starts a new random resource Gathering quest. If used multiple times on the same game day, the quest will always be the same.

#
completespecialorder,
cso

Completes all objectives for all currently active Special Orders and Qi Challenges.

#
completequest

Syntax: completequest <I:questID>

Completes specified quest and removes it from your journal. See Data/Quests for a list of IDs.

#
deliveryquest

Starts a new random item Delivery quest. If used multiple times on the same game day, the quest will always be the same.

#
getallquests

Starts every quest from Data/Quests that you don't already have.

#
ordersboard

Shows the Special Orders quest board.

#
qiboard

Shows the Qi Challenges quest board.

#
quest

Syntax: quest <I:questID>

Starts the specified quest. See Data/Quests for a list of IDs.

#
quests

Starts every quest from Data/Quests that you don't already have as well as a random item Delivery quest and a random Slay Monster quest.

#
removequest

Syntax: removequest <I:questID>

Silently removes specified quest from your journal. See Data/Quests for a list of IDs.

#
slayquest

Starts a new random Slay Monster quest. If used multiple times on the same game day, the quest will always be the same.

#
specialorder

Syntax: specialorder <S:questID>

Starts the Special Order (either town or Qi Challenge) with the specified ID. See Data/SpecialOrders for a list of IDs.

#

NPCs

Children

command description  
child,
kid

If you have children, advances the age of the first child to the next stage. Otherwise, spawns a new child named "Baby" with gender and skin tone randomly chosen; the child will start at stage 3 (crawling) and may initially spawn out of bounds. You do not need to be married or have an upgraded house to use this command.

#
child2

If you have multiple children, advances the age of the second child to the next stage. Otherwise, spawns a new child named "Baby2" with gender and skin tone randomly chosen; the child will start at stage 3 (crawling) and may initially spawn out of bounds. You do not need to be married or have an upgraded house to use this command.

#
clearchildren

Removes all your children.

#
pregnant

Sets a new baby to be born/adopted the next day. You may need to be already married (and have a house with a nursery) for this to work.

#

Spawning and removal

command description  
addkent

Spawns Kent if after year 1.

#
characterinfo

Displays a global message listing how many NPCs are in the current location.

#
clearcharacters

Removes all NPCs who are in the current location.

#
clone

Syntax: clone <S:npcName>

Clones specified NPC and places the copy in the current location. Name is a fuzzy match.
Warning: cloning farmer will crash the game.

#
killall

Syntax: killall <S:npcName>

Removes all NPCs except for the specified character. Name is an exact match, and they are only spared from removal if they are in the current location.

#
killnpc

Syntax: killnpc <S:npcName>

Removes specified NPC from the game, checking all game locations. Name is an exact match.

#
removenpc

Syntax: removenpc <S:npcName>

Removes specified NPC from the game, checking all game locations and buildings. Name is an exact match. Command will output a message to the console stating whether or not the NPC was found and removed.

#

Relationships

command description  
dating

Syntax: dating <S:npcName>

Sets your relationship status with specified NPC to Dating; i.e., marks them as having been given a bouquet. Name is an exact match.

#
divorce

Queues your farmer to divorce their spouse overnight. The spouse room may not be fully removed until you have slept and/or returned to title.

#
engaged

Syntax: engaged <S:npcName>

Increases your friendship with specified NPC by 2500 points (10 hearts) and sets relationship status to Engaged with a wedding for the next day. Name is an exact match.

#
friendall

Syntax: friendall [I:value]

Increases friendship with all socializable NPCs by the specified amount. If no amount is given, the increase will be 2500 points (10 hearts). All normal point caps are in place, so a bachelor you aren't dating will not increase past 8 hearts. Previously unmet NPCs will also be marked as met and have friendship increased with the following exceptions:

  • Dwarf will be marked as met but not change friendship if you don't have the Dwarven Translation Guide.
  • Kent will not be included if you are still in year 1.
  • Krobus will not be included if they have not yet been met in game.

#
friendship,
friend

Syntax: friendship <S:npcName> <I:value>

Sets friendship with specified NPC to specified value. This is a fuzzy match, and they will be marked as met if previously unmet.

#
invitemovie

Syntax: invitemovie <S:npcName>

Invites specified NPC to see a movie today. This is a fuzzy match and you will still need your own ticket to enter the theatre.

#
makeex

Syntax: makeex <S:npcName>

Sets your relationship status with specified NPC to Divorced, removing any marriage or bouquet flag and listing them as ex-husband or ex-wife. Name is an exact match.

#
marry

Syntax: marry <S:npcName>

Increases your friendship with the specified NPC by 2500 points (10 hearts), and sets your relationship status to Married with an anniversary of today. Name is a fuzzy match.

Notes:

  • If you haven't upgraded your farmhouse, also run debug houseUpgrade 1 to avoid errors.
  • The spouse room generally appears empty on the first day and you'll need to sleep for it and your spouse to spawn properly.

For non-vanilla marriage candidates:

  • Trying to debug marry Krobus will work, but will set him as a spouse rather than a roommate. Most of his dialogue and actions remain the same, but he will use some hardcoded spouse lines where he would otherwise have his own version, have a heart instead of a smiley face for his hug/kiss sprite, and the social menu will list him as your spouse. It's unclear if you're able to have children this way.
  • For other non-marriageable villagers, an empty spouse room will spawn and the NPC will move in. They will follow a basic hardcoded spouse schedule and can be kissed (although they won't have a kiss sprite), but they will rarely have dialogue.

#
wedding

Syntax: wedding <S:npcName>

Sets specified NPC as your spouse and queues a wedding for today. Name is an exact match. If the specified NPC is not normally marriageable, the wedding will still occur but they will be invisible on the wedding day.

#

Dialogue

command description  
db

Syntax: db <S:npcName>

Shows a dialogue box with the current dialogue for the specified NPC. Name is a fuzzy match and will default to Pierre if not supplied. This does count as having spoken to that NPC today, and if they don't have any more dialogue right now, the message Stack empty will be output to the console.

#
dialogue

Syntax: dialogue <S:npcName> <S:dialogueString>

Sets the dialogue for the specified character to the specified string. Name is a fuzzy match. The dialogue string should start with a zero and everything after will be parsed. It can include tokens such as @ for the farmer name and portrait commands; see Dialogue for format specifics.

Example: debug dialogue Abi 0Hi @! Modding is fun!$h would set Abigail's next dialogue to be Hi (FarmerName)! Modding is fun! with her happy portrait.

#
loaddialogue

Syntax: loaddialogue <S:npcName> <S:dialogueKey>

Sets the dialogue for the specified character using the specified asset key. Name is a fuzzy match. Key format appears to be file:key but exact specifics are unknown. Curly braces in the key ({, }) will be converted to angle brackets (<, >).

#
phone

Brings up the Telephone menu.

#
question

Syntax: question <I:questionID>

Marks the specified dialogue question as answered.

#
sb

Syntax: sb <S:npcName>

Shows a speech bubble saying "Hello! This is a test" above the specified NPC's head. Name is a fuzzy match.

#
speech

Syntax: speech <S:npcName> <S:dialogueKey>

Displays a dialogue box for the specified character saying the specified string. Name is a fuzzy match. The dialogue string should start with a zero and everything after will be parsed. It can include tokens such as @ for the farmer name and portrait commands; see Dialogue for format specifics. Useful for testing dialogue changes.

Example: debug speech Abi 0Hi @! Modding is fun!$h would open a dialogue box of Abigail saying Hi (FarmerName)! Modding is fun! with her happy portrait.

#

Movement and warping

command description  
facedirection,
face,
fd

Syntax: facedirection <S:npcName> <I:direction>

Sets specified character to face the specified direction. Name is a fuzzy match and also accepts farmer. See Event data for the valid directions.

#
faceplayer

Syntax: faceplayer <S:npcName>

Sets specified character to face towards the player. Name is a fuzzy match.

#
hurry

Syntax: hurry <S:npcName>

Warps specified character to the endpoint of their current schedule entry. Name is a fuzzy match.

Example: debug hurry pam would cause Pam to immediately warp to the bus if entered during her morning walk after the bus has been repaired.

#
jump

Syntax: jump <S:npcName> [F:velocity]

Makes specified character jump with the specified velocity. Name is a fuzzy match and also accepts farmer. Velocity is a float and defaults to 8.0 if not supplied, which results in a jump of about half the height of the player character.

#
pathspousetome,
pstm

Causes your spouse (NPC only) to start walking towards you if they are already on the current map or warp directly to you otherwise.

#
warpcharacter,
wc

Syntax: warpcharacter <S:npcName> <I:X> <I:Y> [I:facingDirection]

Warps specified character to the given coordinates on the current map. Name is a fuzzy match. See Event data for the valid directions; the default is 2. Note: if you do not include enough parameters, an error message will be printed to the console which incorrectly states the default facing direction is 1.

#
warpcharacterto,
wct

Syntax: warpcharacterto <S:npcName> <S:locationName> <I:X> <I:Y> [I:facingDirection]

Warps specified character to the given coordinates on the specified map. Character name is a fuzzy match, but location is exact. See Event data for the valid directions; the default is 2. Note: if you do not include enough parameters, an error message will be printed to the console which incorrectly states the default facing direction is 1.

Example: debug wct robin Farm 69 16 would warp Robin to just right of the mailbox on the Farm map, facing downwards.

#
warpcharactertome,
wctm

Syntax: warpcharactertome <S:npcName>

Warps the specified character directly to you; name is a fuzzy match.

#
whereis,
where

Syntax: whereis <S:npcName>

Outputs the location and coordinates of the specified character to the SMAPI console. Name is a fuzzy match.

#

Farm animals

command description  
animal

Syntax: animal <S:type>

Adds a new baby animal of the specified type to the Farm. The animal will have a random name and be assigned to the correct type of building (if there is room). Type is a case-sensitive match with spaces allowed. Valid types for the base game are listed below.

  • Chicken - Randomly chooses between white, brown, and blue (if unlocked). Brown Chicken can be explicitly specified, but the result will still be random if trying to specify other colors.
  • Cow - Randomly chooses between white and brown. Colors can be explicitly specified by using Brown Cow or White Cow.
  • Dinosaur
  • Duck
  • Goat
  • Pig
  • Rabbit
  • Sheep
  • Void Chicken
  • Ostrich

#
animalinfo

Displays a global message with the count of the total number of farm animals.

#
befriendanimals

Syntax: befriendanimals [I:amount]

Sets friendship of all animals who live (and are currently present) in the current location to the given amount. Default is 1000 (max).

#
fixanimals

Goes through all Farm buildings and removes entries for animals which no longer live in that building.

#
growanimals

Sets all animals who live in the current building to day 1 of adulthood. Must be done in a building such as a Barn or Coop. May cause each of them to eat hay.

#
growanimalsfarm

Sets all animals who live in the current location to day 1 of adulthood. Must be done on the Farm; this would apply to animals that no longer have homes due to building destruction such as after using removebuildings.

#
pauseanimals

Pauses all farm animals in the current location indefinitely. Exiting and re-entering may cause them to be randomly moved to a new spot, but they will remain paused.

#
unpauseanimals

Unpauses all farm animals in the current location.

#
warpanimaltome,
watm

Syntax: warpanimaltome <S:animalName>

Warps the specified farm animal to you; name is a case-insensitive fuzzy search but will only work in a location that allows animals.

#

Pets, horses, and monsters

command description  
cat

Syntax: cat <I:X> <I:Y> [I:breed]

Spawns a new Cat at the given coordinates of the current location. Breed can be 0, 1, or 2 and determines which texture to use. This is an additional pet and does not replace any current pet(s).

#
createdino

Spawns a Pepper Rex just to the right of your farmer.

#
dog

Syntax: dog <I:X> <I:Y> [I:breed]

Spawns a new Dog at the given coordinates of the current location. Breed can be 0, 1, or 2 and determines which texture to use. This is an additional pet and does not replace any current pet(s).

#
horse

Syntax: horse <I:X> <I:Y>

Spawns a new Horse at the given coordinates of the current location. Horse may disappear after dismounting if there is no stable for it.

#
killallhorses

Removes all horses from all locations.

#
monster

Syntax: monster <S:type> <I:X> <I:Y> [I:facingDirection]

Spawns a monster of the specified type at the given coordinates of the current location. Only certain monster types seem to work. Known valid types include Bat, DinoMonster, DustSpirit, Fly, Ghost, GreenSlime, Grub, LavaCrab, Mummy, RockCrab, RockGolem, Serpent, ShadowBrute, ShadowShaman, Skeleton, and SquidKid. Duggy may also work depending on the terrain.

#
owl

Spawns an Owl in the current location.

#
pettofarm

If it is not raining, warps your pet to the pet bowl location on the Farm (Tech note: Location is initially set by checking for tile 1938 on Building layer). If it is raining, warps pet to the FarmHouse. Only works for host in multiplayer.

#
togglecatperson

Toggles your farmer's chosen pet preference between cat and dog. If you already have a pet, the inventory graphic will switch but the pet themselves will not be affected.

#

Festivals and events

command description  
ee

Ends (and restarts) the current event.

#
event

Syntax: event <S:locationName> <I:index> [S:dontClearEvents]

Starts the specified event in the specified location. The location name is a fuzzy match, but the second parameter is an index rather than an ID. This is basically a zero-based count of the item definitions in the appropriate data file, and since these definitions can be altered by mods this a difficult command to use. Because of this and the warning below, ebi is often the better choice.
Warning: This will clear the eventsSeen list unless a third parameter is supplied.

#
eventbyid,
ebi

Syntax: eventbyid <I:eventID>

Starts the specified event. This does take an event ID; events which have prerequisites of other events might not start if those prerequisites have not been seen.

Example: debug ebi 992559 would trigger the event where Emily visits the farm and gives you access to her sewing machine.

#
eventover

Ends (and restarts) the current event. Seems to be essentially equivalent to ee.

#
eventseen,
seenevent

Syntax: eventseen <I:eventID>

Marks specifid event as seen by your farmer. Useful for enabling access to event-dependent areas or events.

#
eventtest

Syntax: eventtest <S:locationName> <I:eventIndex>

Calls Util.EventTest() with the specified arguments. Defaults are "" and 0 respectively. Actual details unknown.

#
eventtestspecific

Syntax: eventtestspecific <S:whichEvents> [...]

Calls Util.EventTest() with the specified arguments. Arguments are interpreted as an array of strings. Actual details unknown.

#
festival

Syntax: festival <S:festivalID>

Starts the specified festival ID. The season, day, and time will be set to match the starting time, and you will be warped to the correct location. Valid IDs are listed below.

spring13 - Egg Festivalfall16 - Stardew Valley Fair
spring24 - Flower Dancefall27 - Spirit's Eve
summer11 - Luauwinter8 - Festival of Ice
summer28 - Moonlight Jellieswinter25 - Winter Star

#
festivalscore

Syntax: festivalscore <I:value>

Adds the specified value to the festival score. The festival score has different meanings depending on which festival is active and includes the egg count at the Egg Hunt, number of fish caught at the Ice Festival, and star token count at the fall Fair.

#
leaveevent,
endevent

Ends (and restarts) the current event.
Warning: also clears all records of events seen, dialogue questions answered, and mail received (including hidden mail flags.)

#
runtestevent,
rte

Runs an event from the file test_event.txt in the root game folder. The first line of the file should specify the location where the event takes place, and the rest of the file should be the same as a normal event script except that line breaks will be treated as / delimiters.
Note: this file must use CRLF (Windows-style) line breaks, or it will fail to parse. If you are on Mac or Linux, make sure you convert when saving (any text editor should be able to do this).

#

Minigames and cutscenes

command description  
boatjourney

Plays the extended cutscene of the first boat trip to Ginger Island. The player will be warped to the Island Docks when the cutscene ends.

#
crane

Starts the Crane Game minigame from the Movie Theater populated with prizes based on which movie is (or would be) showing for the current month.

#
darts

Starts the Darts minigame from the Pirate Cove.

#
fish

Syntax: fish <I:fishID>

Starts the fishing minigame with the specified fish hooked and a treasure chest available. You must have a fishing line already cast into the water before entering the command in order to actually receive the fish after completing the minigame. Additional "hits" may trigger during the game, and none of the fishing pole animations will play. See object data for a list of valid IDs; non-fish objects can be used and caught.

#
oldminegame

Starts the pre-1.4 version of Junimo Kart.

#
minegame

Syntax: minegame [S:mode]

Starts the Junimo Kart minigame. If the second argument is infinite the game will play Endless mode; if it is anything else (or missing), the game will play Progress mode.

#
minigame

Syntax: minigame <S:which>

Starts the specified minigame or cutscene. Valid choices are listed below.

  • blastoff - starts the Robot Blastoff cutscene which plays during Maru's 10-heart event.
  • cowboy - starts the Journey of the Prairie King minigame.
  • fishing - starts the fishing minigame from the Stardew Valley Fair. Score does not seem to be kept although the timer does count down; once the timer runs out the farmer will be warped to coordinates (24, 71) on the current map.
  • grandpa - starts the Grandpa Story cutscene of which plays at the start of a new game.
  • haleyCows - starts the Haley Cow Pictures cutscene which plays during Haley's 8-heart event.
  • marucomet - starts the Maru Comet cutscene which plays during Maru's 14-heart event.
  • minecart - starts the Junimo Kart minigame in Progress mode.
  • plane - starts the Plane Fly-by cutscene which plays during Harvey's 8-heart event.
  • slots - starts the Calico Spin Slot Machine minigame.
  • target - starts the Slingshot minigame from the Stardew Valley Fair. When the game is over the farmer will be warped to coordinates (24, 63) on the current map.

#
test

Starts the Test minigame. This brings up a window showing a variety of flooring textures; left-click closes the window.

#

Locations

Terrain, trees, and crops

command description  
clearfarm

Removes nearly everything from the Farm map such as grass, trees, debris, paths, and placed objects (including working machines and filled chests.)

#
dayupdate

Syntax: dayupdate [I:number]

Runs the DayUpdate for the current location the specified number of times. If the number of updates is not specified, it will default to 1. This simulates days passing for some things such as grass and fruit trees growing or fish reproducing in ponds. Other things may not progress the full amount; for example crop growth only advances one day because sprinklers will not be triggered and the growcrops command should be used for that instead.

#
fruittrees

Adds a month of growth to all fruit trees in the current location, causing even newly-planted saplings to instantly mature.

#
grass

Spawns long grass on all available tiles on the farm.

#
growcrops

Syntax: growcrops <I:number>

Grows all crops in the current location the specified number of days.

#
growgrass

Syntax: growgrass <I:number>

Grows long grass the specified number of times in the current location. This will cause already-placed grass to spread but will not necessarily create grass in clear areas.

#
growwildtrees

Grows all wild trees (such as Oak) in the current location to maturity.

#
localinfo

Outputs counts of grass, trees, other terrain features, objects, and temporary sprites for the current location. May be broken.

#
mushroomtrees

Turns all wild trees in the current location into mushroom trees.

#
r

Resets current location which essentially simulates the player leaving and reentering. Most noticeable effect is the restarting of music tracks.

#
removedebris

Removes all dropped items from the current location.

#
removedirt

Removes (i.e., untills) all tilled dirt in the current location.
Warning: this includes removing any currently-planted crops (including fully-grown ones).

#
removelargetf

Removes all large terrain features (such as bushes) from the current location.

#
removeterrainfeatures,
removetf

Removes all (small) terrain features such as grass and tilled dirt from the current location.
Warning: this includes removing any currently-planted crops (including fully-grown ones).

#
spawnweeds

Syntax: spawnweeds <I:number>

Spawns weeds the specified number of times. This will cause already-placed weeds to spread but will not necessarily create new weeds in clear areas.

#
spreaddirt

Tills all unoccupied diggable tiles on the farm.

#
spreadseeds

Syntax: spreadseeds <I:seedID>

Plants specified seed in all tilled dirt on the farm. The argument is the object ID for the seed item. Out of season crops can be planted this way but will not survive outside of the greenhouse.
Warning: this will replace any currently-planted crops (including fully-grown ones) with the new seeds.

Example: debug spreadseeds 472 would plant parsnips on all hoed dirt tiles.

#
water

Waters all tilled soil on the current map.

#
watercolor

Syntax: watercolor <I:R> <I:G> <I:B>

Tints the water color for the current location. The parameters are red, green, and blue components and the actual RGBA color used will be (R/2, G/2, B/2, 127). This affects fishing ponds as well as lakes, rivers, etc., but the effect is temporary and the color will reset to normal if you leave and re-enter the map.

#
whereore

Outputs (to the SMAPI console) the coordinates of any "shiny spots" suitable for panning on the current map. Will output {X:0 Y:0} if there are no active panning spots.

#

Objects and lights

command description  
clearfurniture

Removes all furniture from the current location. Must be in a farmhouse/cabin. Use removefurniture instead for other locations such as sheds.

#
clearlightglows

Removes all light glows from the current location.

#
fencedecay

Syntax: fencedecay <I:amount>

Ages all fences in the current location the specified amount of days.

Example: debug fencedecay 60 would age all fences by 60 days which would break any basic Wood Fences (their base health is 54-58 days).

#
fillwithobject

Syntax: fillwithobject <I:itemID> [S:isBigCraftable]

Places the specified item on all open tiles in the current location. The first argument is the object or big craftable ID. If the second argument is "true", the ID will be interpreted as a craftable, but if it is anything else (or missing) the ID will be interpreted as an object. Note that many objects spawned this way cannot be easily removed.

Example: debug fillwithobject 13 true would fill the map with furnaces.

#
readyforharvest,
rfh

Syntax: readyforharvest <I:X> <I:Y>

Sets the machine at the specified coordinates to finish processing at the next clock update. If used to target a rock in the mine, quarry, etc. the rock's health will be reduced such that it only needs 1 more hit to break. A mod such as Debug Mode may be useful for getting coordinates.

#
removefurniture

Removes all furniture from the current location. Similar to clearfurniture but will also work in other decoratable locations such as sheds.

#
removelights

Removes all light sources from the current location. This is temporary and they will be restored if the location is reset or re-entered.

#
removeobjects

Removes all placed objects from the current location. This includes things like fences, machines, and chests, but does not include flooring or long grass.

#

Farm buildings

command description  
bpm

Shows the building painting menu for the building immediately North of the player, or for the farmhouse if no such building is found.

#
build

Syntax: build <S:Name> [I:X] [I:Y]

Builds the specified building at the given coordinates. Names are exact but spaces should be replaced with "9". If the coordinates are not specified, it will build just to the right of your farmer. While higher-level farm buildings such as Deluxe Barns can be immediately built this way, the incubator will be missing from Big or Deluxe Coops.

Example: debug build Stone9Cabin would build a new Stone Cabin next to the player.

#
buildcoop,
bc

Syntax: buildcoop <I:X> <I:Y>

Builds a new basic Coop at the specified coordinates.

#
movebuilding

Syntax: movebuilding <I:sourceX> <I:sourceY> <I:destX> <I:destY>

Moves building from specified source coordinates to specified destination coordinates. The coordinates are the upper-left corner of the building's footprint. The Lookup Anything mod is one of the easier ways to get the source coordinates of a building; they are listed under tileX and tileY in the debug info (needs ShowDataMiningFields enabled.)

#
removebuildings

Destroys all farm buildings. Animals within any of the buildings will also be removed, but animals which are outside will not be.

#
spawncoopsandbarns

Syntax: spawncoopsandbarns <I:number>

Spawns the specified number of buildings. The game will randomly choose either a Deluxe Barn full of cows or a Deluxe Coop full of chickens for each (equal chance). Their locaions are also randomly chosen and the game will try 20 times to find a spot for each before giving up. The coops created by this command will not have incubators.

#

Farmhouse

command description  
crib

Syntax: crib <I:mapID>

Sets the current crib style to the specified value. In the base game, valid values are 0 (no crib) or 1 (default crib). Additional styles may be possible through modding as the ID is appended to the map filename. For example, crib style 1 is specified by the file Maps/FarmHouse_Crib_1.

#
floor

Syntax: floor [I:textureID]

Sets all floors of your farmhouse to the specified texture. Valid texture numbers are 0 - 55; see Flooring for previews but note that the IDs used by the game are 1 less than the numbers used for the wiki filenames. If no texture is specified, the game will use the next ID after the current floor texture without checking for overflow which can create bugged textures.

Example: debug floor 22 would set all flooring in the house to the white and grey checkerboard style.

#
houseupgrade,
house,
hu

Syntax: houseupgrade <I:upgradeLevel>

Sets upgrade level of your farmhouse/cabin to the specified value. Valid values are 0 - 3. Furniture and placed items will not be automatically moved and may wind up out of bounds. If done while the player is inside the house, warp points may not immediately update.

#
renovate

Opens the farmhouse renovation menu.

#
upgradehouse

Increases the upgrade level of your farmhouse/cabin to the next level (max 3). Furniture and placed items will not be automatically moved and may wind up out of bounds. If done while the player is inside the house, warp points may not immediately update.

#
wall,
w

Syntax: wall [I:textureID]

Sets all walls of your farmhouse to the specified texture. Valid texture numbers are 0 - 111; see Wallpaper for previews but note that the IDs used by the game are 1 less than the numbers used for the wiki filenames. If no texture is specified, the game will use the next ID after the current wallpaper texture without checking for overflow which can create bugged textures.

Example: debug wall 21 would set all wallpaper in the house to the Joja style.

#

Special farm setups

command description  
farmmap

Syntax: farmmap [I:mapID]

Removes the current farm map and farmhouse from the game and creates a new farm of the specified type. The farm will be named after the type (e.g., "Standard Farm"). Valid types are: 0 (Standard), 1 (Riverland), 2 (Forest), 3 (Hilltop), 4 (Wilderness), or 5 (Four Corners).

#
setupbigfarm

Clears the farm and then does the following:

  • Spawns 3 Deluxe Coops full of chickens, 2 Deluxe Barns full of cows, a mill, a stable, and a silo in specific spots.
  • Spawns a large field of random spring crops (force-grown for 8 days) with a wooden path through it and 4 junimo huts to the south.
  • Spawns two large patches of grass and 18 random fruit trees (cherry and apricot)
  • Spawns large groups of torches, furnaces, preserves jars, cheese presses, and kegs; the kegs are full of ancient fruit to make wine

#
setupfarm

Syntax: setupfarm [S:clearMore]

Removes all farm buildings and completely clears large areas of the current farm (the presence of a second parameter causes a larger area to be cleared.) After this, the following things are done:

  • Spawns a coop, barn, and silo in specific spots
  • Your money is increased by 20000
  • All tools are upgraded to Iridium quality
  • Shears, a milk pail, and full stacks of wood, stone, wood fence, parsnip seeds, and bean starter are added to your inventory

#
setupfishpondfarm

Syntax: setupfishpondfarm [I:population]

Clears farm and then builds up to 96 fish ponds randomly filled with various types of fish. The population of each of the ponds will be set to the specified value and defaults to 10. The ponds are built in a large 12 x 8 grid but will not be placed in a spot blocked by other buildings, animals, or map features.

#

Community center and bundles

command description  
addjunimo,
aj,
j

Syntax: addjunimo <I:X> <I:Y> <I:area>

Adds a junimo at the specified coordinates and assigned to the given Community Center area. Valid areas are 0 (Pantry), 1 (Crafts Room), 2 (Fish Tank), 3 (Boiler Room), 4 (Vault), or 5 (Bulletin Board).

#
allbundles

Marks all bundles complete.

#
bundle

Syntax: bundle <I:ID>

Marks the specified bundle as complete. Valid IDs are listed below.

PantryFish TankCrafts RoomBoiler RoomVaultBulletin BoardJoja Ruins
0 - Spring Crops6 - River Fish13 - Spring Foraging20 - Blacksmith's23 - 2,500g31 - Chef's36 - Missing
1 - Summer Crops7 - Lake Fish14 - Summer Foraging21 - Geologist's24 - 5,000g32 - Field Research
2 - Fall Crops8 - Ocean Fish15 - Fall Foraging22 - Adventurer's25 - 10,000g33 - Enchanter's
3 - Quality Crops9 - Night Fishing16 - Winter Foraging26 - 25,000g34 - Dye
4 - Animal10 - Specialty Fish17 - Construction35 - Fodder
5 - Artisan11 - Crab Pot19 - Exotic Foraging

#
ccload

Syntax: ccload <I:area>

Removes the junimo note from and restores the specified area. Valid areas are 0 (Pantry), 1 (Crafts Room), 2 (Fish Tank), 3 (Boiler Room), 4 (Vault), or 5 (Bulletin Board).

#
ccloadcutscene

Syntax: ccloadcutscene <I:area>

Plays the full restoration cutscene for the specified area including junimo dance and star retrieval. Valid areas are 0 (Pantry), 1 (Crafts Room), 2 (Fish Tank), 3 (Boiler Room), 4 (Vault), or 5 (Bulletin Board).

#
completecc

Adds all of the appropriate flags for Community Center completion and restores all areas.

#
completejoja

Adds all of the appropriate flags for Joja membership and Community Development purchases.

#
junimogoodbye

Plays the animation where 6 junimos wave goodbye in front of the hut in the Community Center and then that corner of the Community Center gets restored.

#
junimonote,
jn

Syntax: junimonote <I:area>

Adds a junimo note (bundle scroll) for the specified area. Valid areas are 0 (Pantry), 1 (Crafts Room), 2 (Fish Tank), 3 (Boiler Room), 4 (Vault), or 5 (Bulletin Board).

#
junimostar

Causes a junimo to run to the hut and retrieve a star which is then placed on the plaque above the fireplace. Must be done in the Community Center.

#
plaque

Adds a star to the plaque above the Community Center fireplace.

#
resetjunimonotes

Resets all bundles.

#
shufflebundles

Regenerates bundles using remixed bundle logic and without a specific random seed.

#

Other location-specific functions

command description  
beachbridge

Toggles the state of the beach bridge between fixed and not fixed.

#
ladder,
shaft

Syntax: ladder [I:X] [I:Y]

Creates a ladder or mineshaft at the specified coordinates. If no coordinates are given, it will spawn 1 tile north of the player. In the regular mines, both versions of the command will create a ladder. In the Skull Caverns, ladder will randomly spawn either a ladder or mineshaft while shaft will always spawn a mineshaft.

#
minedifficulty,
md

Syntax: minedifficulty [I:difficultyLevel]

Sets the difficulty of the mines to the specified level. In the base game, normal difficulty is 0 and the harder difficulty corresponding to the "Danger in the Deep" quest or Shrine of Challenge activation is 1. Higher numbers can be used. If no difficulty level is specified, command will simply print the current difficulty level to the console.

#
movie

Syntax: movie [S:npcNameOrMovieID] [S:movieID]

Starts a movie; this command is a bit complex with its parameter handling so be sure to check the examples. Note that this command can create a group with up to 3 guests instead of just the single guest allowed in normal play. Valid movie IDs are listed after the parameter explanation.

  • If both parameters are given, it will start the specified movie (second parameter) with the specified NPC (fuzzy match on first parameter) as a guest.
  • If just one parameter is given, it is interpreted as the movie ID and the NPC guest(s) will be chosen randomly.
  • If no parameters are given, the movie will default to fall_movie_1 (It Howls in the Rain) and the NPC guest(s) will be chosen randomly.
spring_movie_0 - The Brave Little Saplingspring_movie_1 - Natural Wonders
summer_movie_0 - Journey of the Prairie Kingsummer_movie_1 - Wumbus
fall_movie_0 - Mysteriumfall_movie_1 - It Howls in the Rain
winter_movie_0 - Miracle at Coldstar Ranchwinter_movie_1 - The Zuzu City Express
Warning: This command also increases the save's uniqueID by 1 each time it is used, which will cause the save filename to change and impact some random events.

Examples:

  • debug movie would show It Howls in the Rain with random NPC guests.
  • debug movie spring_movie_1 would show Natural Wonders with random NPC guests.
  • debug movie Abi summer_movie_0 would show Journey of the Prairie King with Abigail and possibly 1 or 2 additional random NPC guests.
#
pgb

Prints the Gem Bird Puzzle solution to the console.

#
resetmines

Resets "permanent mine changes" such as coal carts and treasure chests. Does not affect mines level progress or monster eradication goals.

#
returneddonations

Opens the "returned donations" menu of the Lost and Found box from the Mayor's Manor.

#
skullcavedifficulty,
scd

Syntax: skullcavedifficulty [I:difficultyLevel]

Sets the difficulty of the Skull Cavern to the specified level. In the base game, normal difficulty is 0 and the harder difficulty corresponding to the "Skull Cavern Invasion" quest is 1. Higher numbers can be used. If no difficulty level is specified, command will simply print the current difficulty level to the console.

Example: debug scd 1 would activate hard mode Skull Cavern outside of the "Skull Cavern Invasion" quest.

#
train

Causes a train to spawn at the Railroad.

#

World

Date and time

command description  
addhour

Increases time by 1 hour.

#
addminute

Increases time by 10 minutes.

#
day

Syntax: day <I:value>

Changes day of the month to the specified value; stays in current season and adjusts daysPlayed statistic appropriately.

#
pausetime

Toggles game pause state. This is different from the normal chat /pause command in that the player still has free movement during the pause.

#
season

Syntax: season <S:name>

Sets season to the specified value. The season name is case-insensitive; valid names are spring, summer, fall, and winter.

#
sleep,
newday,
nd

Forces end of day.

#
time

Syntax: time <I:value>

Sets current time to the specified value. This is essentially 24-hour time without a colon, although the stardew clock keeps running until 2600. See examples.

Examples:

  • debug time 2040 would set the time to 20:40 or 8:40pm.
  • debug time 2550 would set the time to 1:50am.
#
year

Syntax: year <I:value>

Sets the current year to the specified value.

#

Weather and world state

command description  
debrisweather

Toggles "debris" weather (i.e., windy weather with floating leaves) on and off. Does not change the weather icon on the HUD.

#
morepollen

Syntax: morepollen <I:amount>

Increases the amount of leaves flying around if in debris/windy weather.

#
rain

Toggles rainy weather on and off. Will turn off debris/windy weather. Does not change the weather icon on the HUD.

#
resetworldstate

Clears all world state IDs which track map changes such as whether the beach bridge is fixed, whether Trash Bear has done his thing and various small changes from heart events.
Warning: Also clears records of found artifacts and minerals, fish caught, events seen, and mail received (including hidden progress flags.)

#

Game settings and meta info

command description  
conventionmode

Toggles convention mode on and off. When on, disables the resolution and window mode options as well as both "Exit to Title" and "Exit to Desktop" buttons.

#
gamemode

Syntax: gamemode <I:mode>

Sets the game mode to the specified value. Details unknown.

#
gamepad

Toggles gamepad control options and displays a global message about whether they are being used or not.

#
inputsim,
is

Syntax: inputsim <S:type>

Sets input simulator to the specified type. Valid types are spamtool and spamlr. Details unknown.

#
language

Brings up the language selection menu.

#
musicvolume,
mv,
m

Syntax: musicvolume <D:value>

Sets music volume to the specified value. This is a double-precision float in the range of 0 - 1.

#
nosave,
ns

Toggles end of day saving on or off. Outputs a message to the console with the current saving status.

#
runmacro,
rm

Syntax: runmacro <S:filename>

Runs the specified macro file. The given filename will have .txt appended to it. See Macros for more details.

#
save

Toggles end of day saving on or off. Similar to nosave but does not output a status message.

#
showplurals

Prints (to the console) the plural forms of all items listed in Data/ObjectInformation and Data/BigCraftablesInformation.

#
steaminfo,
sdkinfo

Outputs information about whether Steam is running and if a user is logged in.

#
version

Outputs the assembly version number to the console. Note this is different from the more user-friendly version that can be accessed from the credits screen. For example, running this command on Stardew Valley 1.4.3 for Windows will output 1.3.7286.33936

#

Multiplayer

General multiplayer

command description  
addotherfarmer

Creates an additional new male farmer with randomized name and appearance which spawns 1 tile to the left of your farmer. Unsure of what situation this can be used in.

#
nethost

Starts a new LAN server. Details unknown.

#
netjoin

Calls up the farmhand menu. Details unknown.

#
split

Syntax: split [I:playerIndex]

Adds another split-screen multiplayer instance for the specified player index or starts split-screen mode otherwise.

#

Logging

command description  
logbandwidth

Toggles bandwidth logging on and off. Can be used on either host or client.

#
netclear

Clears network message log.

#
netdump

Outputs network message log to a file.

#
netlog

Toggles network message logging on and off.

#

Player relationships

command description  
dateplayer

Checks all other farmers and sets the first one found as dating the player.

#
engageplayer

Checks all other farmers and sets the first one found as engaged to the player with a wedding date of the next game day.

#
marryplayer

Checks all online farmers and sets the first one found as married to the player with a wedding date of the current game day.

#

Shared/split money

command description  
changewallet

Sets the game to toggle between shared or split money overnight. Host only.

#
mergewallets

Immediately switches to shared money, merging all player wallets. Host only.

#
separatewallets

Immediately switches to split money, separating all player wallets. Host only.

#

Audio and visual effects

Animations

command description  
animationpreviewtool,
apt

Opens a menu allowing you to preview different farmer animations and change some appearance options. Useful for event modding. Warning: previewing the "passOutTired" animation will make your farmer pass out as if it's 2 am and start a new day.

#
busdriveback

Plays the animation of the bus returning from the desert. Must be done on the Bus Stop map.

#
busdriveoff

Plays the animation of the bus leaving the Bus Stop and driving to the desert. Will warp the player to the desert. Must be done on the Bus Stop map.

#
createsplash

Creates a fish "bubble" spot in front of the player. Seems inconsistent.

#
framebyframe,
fbf

Turns on "frame-by-frame" mode which pauses the game and allows you to advance time/animations one frame at a time by hitting the G key. Hit Escape key to exit.

#
frameoffset,
fo

Syntax: frameoffset <I:frameID> <S:X> <S:Y> <S:??>

Sets frame offset for specified frame and specified X & Y values. The X and Y can be prefaced with s to flip the direction. Details unknown; reference FarmerRenderer.featureXOffsetPerFrame() and FarmerRenderer.featureYOffsetPerFrame().

#
setframe,
sf

Syntax: setframe <I:frameID>

Sets farmer sprite to the given animation frame. Probably best used in conjunction with frame-by-frame mode.

#
sprinkle

Shows an animation of a sprinkle effect around the farmer. (It's the animation used while fairy-dusting a machine).

#
toss

Shows an animation of a spinning vial/beaker which rises and then falls. Likely used in one of Maru's heart events.

#

Camera, lighting, and effects

command description  
ambientlight,
al

Syntax: ambientlight <I:R> <I:G> <I:B>

Sets the ambient light of the current location to the inverse of the specified RGB values. This is a temporary change and the light will revert if the location is reset or re-entered. Ex. inputting 255 0 0 will set the lighting to aqua blue, 0 255 255, rather than red.

#
bloom

Syntax: bloom <D:BloomThreshold> <D:BlurAmount> <D:BloomIntensity> <D:BaseIntensity> <D:BloomSaturation> <D:BaseSaturation> [S:brightWhiteOnly]

Changes the bloom settings to the specified parameters. Most are double-precision floats which are divided by 10. The last parameter will set the brightWhiteOnly flag to true if it is present and false if it is absent. Also sets the bloomDay flag.

#
bloomday

Toggles the bloomDay flag on and off, essentially turning the bloom effects themselves on or off.

#
drawbounds

Toggles the drawbounds flag on and off. Details unknown.

#
lsd

Syntax: lsd <D:howLongMilliseconds> <D:shiftRate> <D:shiftFade> <D:globalIntensityMax> <D:blurShiftLevel> <D:saturationShiftLevel> <D:contrastShiftLevel> <D:bloomIntensityShift> <D:brightnessShift> <D:globalIntensityStart> <D:offsetShift>

Starts a bloom shifting animation with the specified values. All parameters are double-precision floats; the third parameter is divided by 1000 and the fourth through tenth parameters are divided by 100. Details unknown; reference BloomComponent.startShifting(). Use caution when testing this command if you're photosensitive, as it triggers very intense screen flashes.

#
panmode,
pm

Turns on panmode. During panmode the screen can be panned with movement keys or mouse movements and debug panmode or debug exit will turn panmode off.

#
tls

Toggles between scaled and unscaled lighting.

#
viewport

Syntax: viewport <I:X> <I:Y>

Sets the viewport to the given values. Details unknown.

#
uiscale,
us

Syntax: uiscale <I:value>

Sets the UI Scale level to the specified value. This is an integer interpreted as the scale percent. Can be used to go beyond the normal limits of 75 - 125 percent.

Example: debug us 60 would set the UI scale level to 60%.

#
zoomlevel,
zl

Syntax: zoomlevel <I:value>

Sets the game zoom level to the specified value. This is an integer interpreted as the zoom percent. Can be used to go beyond the normal limits of 75 - 125 percent.

Example: debug zl 60 would set the zoom level to 60%.

#

Audio

command description  
playmusic

Syntax: playmusic <s:cueID>

Plays the specified music track. May not be able to play tracks which have a space in the cue name. Tracks played this way will be added to the songsHeard list and be available to play on the Jukebox afterwards. See the modder's resource spreadsheet (Music Bank IDs tab) for a list of valid cue IDs.

Example: debug playmusic spring2 would play the track Spring (The Valley Comes Alive).

#
playsound,
ps

Syntax: playsound <s:cueID>

Playes the specified sound effect. See the modder's resource spreadsheet (Sound Bank IDs tab) for a list of valid cue IDs.

Example: debug ps purchase would make the coin clink sound heard when buying and selling items.

#

Outdated, unimplemented, or unknown

command description  
lantern

Adds a lantern to your inventory which looks like an axe and will softlock the player when trying to use it; canmove can be used to fix the soft lock.

#
refuel

Sets lantern fuel to maximum. As the lantern was not fully implemented, this doesn't do much.

#
stoprafting

Sets an internal isRafting flag to false. As rafting was not fully implemented, this doesn't do much.

#

See also