Modding:Debug commands

From Stardew Valley Wiki
Jump to: navigation, search

Index

Warning: These commands are intended for testing and troubleshooting rather than general playing. Some have permanent side effects and may cause crashes or other problems.

Stardew Valley has hundreds of hidden debug commands which the developers use to test the game, documented on this page.

Entering debug commands

Individual commands

To enter debug commands, you must install SMAPI (and not delete its bundled Console Commands mod). You can also install the Chat Commands mod to use debug commands through the in-game chat (trying without it will either silently fail, or show the response ConcernedApe: Nice try...).

Once that's done, you can type commands directly into the SMAPI console window (or chat if using Chat Commands). All of them should be prefaced 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

Multiple commands can be executed at once using the runmacro command:

  1. Create a text file in the 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.)

Commands

All known commands are listed below. Required parameters are listed in angle brackets and optional parameters are listed in square brackets. For example, the speed command is listed as speed <I:value> [I:duration], which means the command requires an integer value parameter and optionally has another integer duration parameter. Details such as default values should be listed in the description.

The commands themselves are case-insensitive, but parameters may still be case-sensitive. If the description mentions that a parameter uses a "fuzzy" match, that means that it can match on a case-insensitive partial name. For example, any of the following 3 commands will set the player's friendship with Abigail to 500 points (2 hearts):

  • friend Abigail 500
  • friend abi 500
  • friend gail 500

Many of the commands which accept an NPC name can also accept farmer to reference the player instead.

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.
#
resource

Syntax: resource [I:type] [I:amount]

Marks specified amount of specified resource item as collected. This does not actually add any items but does increment some collection stats and may be useful for completing gathering quests. Valid types are 0 (copper), 2 (iron), 4 (coal), 6 (gold), 8 (coins), 10 (iridium), 12 (wood), and 28 (lantern fuel). Type 8 will increase your money by a random amount (rolls 10-49 and multiplies by the amount specified).

#
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.

#
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 Watering 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.
#
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.

#

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 money

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.

#
gold

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

#
heal

Sets your health to maximum.

#
invincible

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.

#

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.

#
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).

#
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. Valid profesion 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_SigularTalent - 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

#
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.

#
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

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.

#
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.

#
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.

#

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 specified NPC by 2500 points (10 hearts) and sets relationship status to Married with an anniversary of today. Name is a fuzzy match. 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 (<, >).

#
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.

#
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.

#
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

#
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.

#

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.)

#

Minigames and cutscenes

command description  
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.

#
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. TODO - check if non-fish IDs can be used.

#
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.
  • 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.

#
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  
addquartz

Syntax: addquartz <I:number>

Spawns the specified amount of Quartz terrain features on the Farm. The locations are randomly chosen and no checking is done on the underlying tiles, so they may wind up in impassable areas.

#
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 ID or 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  
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  
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.

#
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, preserve 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 Board
0 - Spring Crops6 - River Fish13 - Spring Foraging20 - Blacksmith's23 - 2,500g31 - Chef's
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.

#

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.

#
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.
#
resetmines

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

#
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 tme 2040 would set the time to 20:40 or 8:40pm.
  • debug tme 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.

#
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.

#
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

Details unknown.

#

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. Unsure if the animation is used.

#
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.

#
viewport

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

Sets the viewport to the given values. Details unknown.

#
zoomlevel,
zl

Syntax: zoomlevel <I:value>

Sets the zoom level to the specified value. This is an integer interpreted as the zoom percent. Can be used to go beyond the normal zoom 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  
bluebook

Adds a "Farmer's Catalogue" to your inventory which looks like an axe and opens up a partially-implemented menu when used.

#
blueprint

Syntax: blueprint <s:ID>

Adds the specified blueprint to the "Farmer's Catalogue" menu. IDs seem to be buildings and animals from Data/Blueprints.

#
end

Attempts to warp the player to town and start the "Stardew Hero Celebration" event but appears to crash due to missing music cues.

#
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.

#
upgradebarn,
barn

Increments an unused barn upgrade level variable (max 3).
Warning: This feature was not completely implemented and the game will crash on new day due to missing textures after using it.

#
upgradecoop,
coop

Increments an unused coop upgrade level variable (max 3).
Warning: This feature was not completely implemented and the game will crash on new day due to missing textures after using it.

#