Difference between revisions of "Modding:Location data"
Pathoschild (talk | contribs) (add FAQs) |
m (→Contents: Add missing ChanceBoostPerLuckLevel and UseFishCaughtSeededRandom Fish spawn data fields) |
||
(12 intermediate revisions by 2 users not shown) | |||
Line 31: | Line 31: | ||
</pre> | </pre> | ||
− | ==Data format | + | ==Data format== |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
You can add or edit locations by editing the <samp>Data/Locations</samp> asset. | You can add or edit locations by editing the <samp>Data/Locations</samp> asset. | ||
This consists of a string → model lookup, where... | This consists of a string → model lookup, where... | ||
− | * The key is the | + | * The key is the [[Modding:Common data field types#Unique string ID|unique string ID]] of the location (i.e. "internal name"), which will also be used as the location's <samp>Name</samp> (not <samp>DisplayName</samp>) field. (The farm will use <samp>Farm_{{t|type key}}</samp> for a vanilla farm type, or <samp>Farm_{{t|type ID}}</samp> for a custom farm type, or <samp>Farm_Standard</samp> if no type-specific entry was found.) |
* The value is a model with the fields listed below. | * The value is a model with the fields listed below. | ||
Line 111: | Line 45: | ||
|- | |- | ||
| <samp>DisplayName</samp> | | <samp>DisplayName</samp> | ||
− | | ''(Optional but strongly recommended)'' A [[Modding: | + | | ''(Optional but strongly recommended)'' A [[Modding:Tokenizable strings|tokenizable string]] for the translated location name. This is used anytime the location name is shown in-game for base game logic or mods. |
|- | |- | ||
| <samp>DefaultArrivalTile</samp> | | <samp>DefaultArrivalTile</samp> | ||
| ''(Optional but strongly recommended)'' The default tile position where the player should be placed when they arrive in the location, if arriving from a warp that didn't specify a tile position. Default none, which usually places the player at (0, 0). | | ''(Optional but strongly recommended)'' The default tile position where the player should be placed when they arrive in the location, if arriving from a warp that didn't specify a tile position. Default none, which usually places the player at (0, 0). | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| <samp>CreateOnLoad</samp> | | <samp>CreateOnLoad</samp> | ||
Line 145: | Line 69: | ||
| ''(Optional)'' The full name of the C# location class to create. This must be one of the vanilla types to avoid a crash when saving. There are too many to list here, but the most useful types are likely <samp>StardewValley.GameLocation</samp> (default value) and <samp>StardewValley.Locations.DecoratableLocation</samp>. | | ''(Optional)'' The full name of the C# location class to create. This must be one of the vanilla types to avoid a crash when saving. There are too many to list here, but the most useful types are likely <samp>StardewValley.GameLocation</samp> (default value) and <samp>StardewValley.Locations.DecoratableLocation</samp>. | ||
|} | |} | ||
+ | |- | ||
+ | | <samp>CanPlantHere</samp> | ||
+ | | ''(Optional)'' Whether crops and trees can be planted and grown here by default, unless overridden by their plantable rules. Defaults to true for farms and false for other locations. | ||
+ | |- | ||
+ | | <samp>ExcludeFromNpcPathfinding</samp> | ||
+ | | ''(Optional)'' Whether NPCs should ignore this location when pathfinding between locations. Default false. | ||
|} | |} | ||
Line 165: | Line 95: | ||
|- | |- | ||
| ''common fields'' | | ''common fields'' | ||
− | | See [[Modding: | + | | See [[Modding:Item queries#Item spawn fields|item spawn fields]] for the generic item fields supported by artifact spot drops. |
− | If set to an [[Modding: | + | If set to an [[Modding:Item queries|item query]] which returns multiple items, one of them will be selected at random. |
|- | |- | ||
| <samp>Chance</samp> | | <samp>Chance</samp> | ||
Line 238: | Line 168: | ||
|- | |- | ||
| ''common fields'' | | ''common fields'' | ||
− | | See [[Modding: | + | | See [[Modding:Item queries#Item spawn fields|item spawn fields]] for the generic item fields supported by forage items. |
− | This must return an <samp>Object</samp> item (or subclass of <samp>Object</samp>). If set to an [[Modding: | + | This must return an <samp>Object</samp> item (or subclass of <samp>Object</samp>). If set to an [[Modding:Item queries|item query]] which returns multiple items, one of them will be selected at random. |
|- | |- | ||
| <samp>Chance</samp> | | <samp>Chance</samp> | ||
Line 265: | Line 195: | ||
| <samp>CuriosityLureBuff</samp> | | <samp>CuriosityLureBuff</samp> | ||
| ''(Optional)'' The value to add to the spawn chance when the player has the [[Curiosity Lure]] equipped, if set to 0 or higher. This affects both the <samp>Chance</samp> field and the <samp>Data\Fish</samp> chance, if applicable. Default -1, which keeps the default behavior (i.e. no effect on the <samp>Chance</samp> field and a scaled boost to the <samp>Data\Fish</samp> chance). | | ''(Optional)'' The value to add to the spawn chance when the player has the [[Curiosity Lure]] equipped, if set to 0 or higher. This affects both the <samp>Chance</samp> field and the <samp>Data\Fish</samp> chance, if applicable. Default -1, which keeps the default behavior (i.e. no effect on the <samp>Chance</samp> field and a scaled boost to the <samp>Data\Fish</samp> chance). | ||
+ | |- | ||
+ | | <samp>SpecificBaitBuff</samp> | ||
+ | | ''(Optional)'' A flat increase to the spawn chance when the player has a specific bait equipped which targets this fish. Default 0. | ||
+ | |- | ||
+ | | <samp>SpecificBaitMultiplier</samp> | ||
+ | | ''(Optional)'' A multiplier applied to the spawn chance when the player has a specific bait equipped which targets this fish. Default 1.66. | ||
|- | |- | ||
| <samp>CatchLimit</samp> | | <samp>CatchLimit</samp> | ||
| ''(Optional)'' The maximum number of this fish which can be caught by each player. This limit is permanent (i.e. once it's reached, that fish will never appear again). For example, legendary fish set this to one. Default -1 (no limit). | | ''(Optional)'' The maximum number of this fish which can be caught by each player. This limit is permanent (i.e. once it's reached, that fish will never appear again). For example, legendary fish set this to one. Default -1 (no limit). | ||
+ | |- | ||
+ | | <samp>CanUseTrainingRod</samp> | ||
+ | | ''(Optional)'' Whether the player can catch this fish using a training rod. This can be <samp>true</samp> (always allowed), <samp>false</samp> (never allowed), or <samp>null</samp> (apply default logic, i.e. allowed for difficulty ratings under 50). Default null. | ||
|- | |- | ||
| <samp>IsBossFish</samp> | | <samp>IsBossFish</samp> | ||
Line 298: | Line 237: | ||
|- | |- | ||
| <samp>CanBeInherited</samp> | | <samp>CanBeInherited</samp> | ||
− | | ''(Optional)'' Whether this fish can be spawned in another location via the <samp>LOCATION_FISH</samp> [[Modding: | + | | ''(Optional)'' Whether this fish can be spawned in another location via the <samp>LOCATION_FISH</samp> [[Modding:Item queries|item query]]. Default true. |
|- | |- | ||
| <samp>SetFlagOnCatch</samp> | | <samp>SetFlagOnCatch</samp> | ||
Line 308: | Line 247: | ||
| <samp>ChanceModifierMode</samp> | | <samp>ChanceModifierMode</samp> | ||
| ''(Optional)'' [[Modding:Migrate to Stardew Valley 1.6#Quantity modifiers|quantity modifier modes]] which indicate what to do if multiple modifiers in the <samp>ChanceModifiers</samp> field apply at the same time. Default <samp>Stack</samp>. | | ''(Optional)'' [[Modding:Migrate to Stardew Valley 1.6#Quantity modifiers|quantity modifier modes]] which indicate what to do if multiple modifiers in the <samp>ChanceModifiers</samp> field apply at the same time. Default <samp>Stack</samp>. | ||
+ | |- | ||
+ | | <samp>ChanceBoostPerLuckLevel</samp> | ||
+ | | ''(Optional)'' How much to increase the <samp>Chance</samp> per player's Luck level. | ||
+ | |- | ||
+ | | <samp>UseFishCaughtSeededRandom</samp> | ||
+ | | ''(Optional)'' Whether the chance roll will use a seed value based on the number of fish caught. | ||
|} | |} | ||
|- | |- | ||
Line 328: | Line 273: | ||
|- | |- | ||
| ''common fields'' | | ''common fields'' | ||
− | | See [[Modding: | + | | See [[Modding:Item queries#Item spawn fields|item spawn fields]] for the generic item fields supported by forage items. |
− | This must return an <samp>Object</samp> (<samp>(O)</samp>)-type item. If it uses an [[Modding: | + | This must return an <samp>Object</samp> (<samp>(O)</samp>)-type item. If it uses an [[Modding:Item queries|item query]] that returns multiple items, one will be selected at random. If it returns null or a non-<samp>Object</samp> item, the spawn attempt will be skipped (with a logged warning if the item type is invalid). |
|- | |- | ||
| <samp>Chance</samp> | | <samp>Chance</samp> | ||
Line 373: | Line 318: | ||
|- | |- | ||
| <samp>Id</samp> | | <samp>Id</samp> | ||
− | + | | ''(Optional)'' A [[Modding:Common data field types#Unique string ID|unique string ID]] which identifies this entry within the list. Defaults to the <samp>Track</samp> value. | |
− | |||
− | |||
− | | ''(Optional)'' A [[Modding: | ||
|- | |- | ||
| <samp>Track</samp> | | <samp>Track</samp> | ||
| The [[Modding:Migrate to Stardew Valley 1.6#Custom audio|audio track ID]] to play. | | The [[Modding:Migrate to Stardew Valley 1.6#Custom audio|audio track ID]] to play. | ||
+ | |- | ||
+ | | <samp>Condition</samp> | ||
+ | | ''(Optional)'' A [[Modding:Game state queries|game state query]] which indicates whether this entry applies. Default true. | ||
|} | |} | ||
|- | |- | ||
Line 412: | Line 357: | ||
|- | |- | ||
| <samp>CustomFields</samp> | | <samp>CustomFields</samp> | ||
− | | The [[Modding: | + | | ''(Optional)'' The [[Modding:Common data field types#Custom fields|custom fields]] for this entry. |
+ | |- | ||
+ | | <samp>FormerLocationNames</samp> | ||
+ | | ''(Optional)'' The former location names which may appear in save data. See ''[[#Can I rename a location?|Can I rename a location?]]'' in the FAQs for more info. | ||
|} | |} | ||
Line 430: | Line 378: | ||
===Can I rename a location?=== | ===Can I rename a location?=== | ||
− | + | '''Renaming a location will permanently lose player changes made for the old name if you're not careful.''' | |
+ | |||
+ | You can avoid that by setting the <samp>FormerLocationNames</samp> field in <samp>Data/Locations</samp>. If a location in save data has a name which (a) matches one of the <samp>FormerLocationNames</samp> and (b) doesn't match the name of a loaded location, its data will be loaded into the location which specified the <samp>FormerLocationNames</samp> field instead. | ||
+ | |||
+ | For example: | ||
+ | <syntaxhighlight lang="js"> | ||
+ | "FormerLocationNames": [ "Custom_SomeOldName" ] | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Legacy names can have any format, but they must be '''globally''' unique. They can't match the <samp>Name</samp> or <samp>FormerLocationNames</samp> of any other location in <samp>Data/Locations</samp> (whether vanilla or custom). | ||
==Location names== | ==Location names== |
Latest revision as of 13:05, 18 September 2024
This page explains how to create and edit in-game locations.
Terminology
A few terms may be used interchangeably or have different meanings depending on the context. In the context of Stardew Valley:
- A location is part of the game code and save data. It manages the in-game area and everything inside it (including non-map entities like players). The location is read/written to the save file, and is only loaded when loading the save file.
- A map is an asset which describes the tile layout, tilesheets, and map/tile properties for the in-game area. The map is reloaded each time you load a save, and each time a mod changes the map.
- A world map is the image shown for a world region in the in-game menu.
In other words, a location (part of the game code) references the map (loaded from the Content folder):
┌─────────────────────────────────┐ │ Location │ │ - objects │ │ - furniture │ │ - crops │ │ - bushes and trees │ │ - NPCs and players │ │ - etc │ │ │ │ ┌─────────────────────────┐ │ │ │ Map asset │ │ │ │ - tile layout │ │ │ │ - map/tile properties │ │ │ │ - tilesheets │ │ │ └─────────────────────────┘ │ └─────────────────────────────────┘
Data format
You can add or edit locations by editing the Data/Locations asset.
This consists of a string → model lookup, where...
- The key is the unique string ID of the location (i.e. "internal name"), which will also be used as the location's Name (not DisplayName) field. (The farm will use Farm_
<type key>
for a vanilla farm type, or Farm_<type ID>
for a custom farm type, or Farm_Standard if no type-specific entry was found.) - The value is a model with the fields listed below.
Basic info
field | effect | ||||||||
---|---|---|---|---|---|---|---|---|---|
DisplayName | (Optional but strongly recommended) A tokenizable string for the translated location name. This is used anytime the location name is shown in-game for base game logic or mods. | ||||||||
DefaultArrivalTile | (Optional but strongly recommended) The default tile position where the player should be placed when they arrive in the location, if arriving from a warp that didn't specify a tile position. Default none, which usually places the player at (0, 0). | ||||||||
CreateOnLoad | (Optional) If set, the location will be created automatically when the save is loaded using this data.
This consists of a model with these fields:
| ||||||||
CanPlantHere | (Optional) Whether crops and trees can be planted and grown here by default, unless overridden by their plantable rules. Defaults to true for farms and false for other locations. | ||||||||
ExcludeFromNpcPathfinding | (Optional) Whether NPCs should ignore this location when pathfinding between locations. Default false. |
Contents
field | effect | ||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ArtifactSpots | (Optional) The items that can be found when digging artifact spots in this location.
An artifact spot is selected by combining this field with the equivalent field on the Default entry, sorting by Precedence value, and then choosing the first entry whose fields match. (Artifact spot drops can also be listed in Data/Objects's Miscellaneous field; those are applied by the RANDOM_ARTIFACT_FOR_DIG_SPOT entry in DefaultArtifactSpots.) This consists of a list of models with these fields:
For example, a location with this field will drop 2-4 pufferfish with a 50% chance on summer days: "ArtifactSpots": [
{
"Condition": "LOCATION_SEASON Here summer",
"ItemId": "(O)128",
"MinStack": 2,
"MaxStack": 4
}
]
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
FishAreas | (Optional) The distinct fishing areas within the location. These can be referenced by fish via FishAreaId, and determine which fish are collected by crab pots.
This consists of a string → model lookup, where the key is the fish area ID and the value consists of a list of models with these fields:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
Fish | (Optional) The fish that can be caught in the location.
A fish is selected by combining this field with the equivalent field on the Default entry, sorting by Precedence value (and randomly shuffling entries with the same precedence), and then choosing the first entry whose fields match. Note: the produced item ID is saved to recreate the fish later. Any item info that's not based on the item ID is ignored (like stack size, quality, flavored variants like Blueberry Wine vs Wine, and the is-recipe flag). This consists of a list of models with these fields:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
Forage | (Optional) The forage that can spawn in the location.
Notes:
This consists of a list of models with these fields:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
MinDailyWeeds MaxDailyWeeds |
(Optional) The minimum and maximum number of weeds to spawn in a day, if applicable. Default 1 and 5 respectively. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
FirstDayWeedMultiplier | (Optional) On the first day of each year, a multiplier to apply to the number of daily weeds spawned. Default 15. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
MinDailyForageSpawn MaxDailyForageSpawn |
(Optional) The minimum and maximum number of forage to try spawning in one day, if applicable and the location has fewer than MaxSpawnedForageAtOnce forage. Default 1 and 4 respectively. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
MaxSpawnedForageAtOnce | (Optional) The maximum number of spawned forage that can be present at once on the map before they stop spawning. Default 6. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
ChanceForClay | (Optional) The probability that digging a tile will produce clay, as a value between 0 (never) and 1 (always). |
Music
field | effect | ||||||||
---|---|---|---|---|---|---|---|---|---|
Music | (Optional) The music to play when the player enters the location (subject to the other fields like MusicContext).
The first matching entry is used. If none match, falls back to MusicDefault. This consists of a list of models with these fields:
| ||||||||
MusicDefault | (Optional) The music to play if none of the options in Music matched. If this is null, falls back to the Music map property (if set). | ||||||||
MusicContext | (Optional) The music context for this location. The recommended values are Default or SubLocation. Default Default.
Setting SubLocation has two effects:
| ||||||||
MusicIgnoredInRain | (Optional) Whether the location music is ignored when it's raining in this location. Default false. | ||||||||
MusicIgnoredInSpring MusicIgnoredInSummer MusicIgnoredInFall MusicIgnoredInWinter |
(Optional) Whether the location music is ignored in the given season. Default false. | ||||||||
MusicIgnoredInFallDebris | (Optional) Whether the location music is ignored in fall during windy weather. Default false. | ||||||||
MusicIsTownTheme | (Optional) Whether to use the same behavior as Pelican Town's music: it will start playing after the day music has finished, and will continue playing while the player travels through indoor areas, but will stop when entering another outdoor area that isn't marked with the same Music and MusicIsTownTheme values. Default false. |
Advanced
field | effect |
---|---|
CustomFields | (Optional) The custom fields for this entry. |
FormerLocationNames | (Optional) The former location names which may appear in save data. See Can I rename a location? in the FAQs for more info. |
Default entry
The Data/Locations asset has a location with the key Default. The ArtifactSpots, Fish, and Forage fields for this entry are added to every other location's equivalent fields, so this lets you add artifact spots / fish / forage in all locations.
FAQs
How do I get to a custom location in-game?
Adding a location to Data/Locations only adds the location to the game. Don't forget to give players some way to reach it, usually by adding warps from another map using EditMap in a Content Patcher content pack.
For a quick test, you can run the debug warp
console command to warp directly into it.
<location name>
Can I make the location conditional?
There's many ways you can decide when players have access. For example, you can use EditMap in a Content Patcher content pack to add warps conditionally or to add some form of roadblock that must be cleared (e.g. a landslide).
Note: don't make the existence of the location itself conditional, just make it unreachable. Removing the location will permanently delete everything inside it.
Can I rename a location?
Renaming a location will permanently lose player changes made for the old name if you're not careful.
You can avoid that by setting the FormerLocationNames field in Data/Locations. If a location in save data has a name which (a) matches one of the FormerLocationNames and (b) doesn't match the name of a loaded location, its data will be loaded into the location which specified the FormerLocationNames field instead.
For example:
"FormerLocationNames": [ "Custom_SomeOldName" ]
Legacy names can have any format, but they must be globally unique. They can't match the Name or FormerLocationNames of any other location in Data/Locations (whether vanilla or custom).
Location names
In-game locations like the farm or beach are represented by the GameLocation class (or a subclass), and are identified by a unique name.
Here are some of the vanilla locations:
Name | Class | Description |
---|---|---|
Farm | StardewValley.Farm | The outdoor area of the Pelican Town farm. |
FarmHouse | StardewValley.Locations.FarmHouse | The interior of the farm house. |
FarmCave | StardewValley.Locations.FarmCave | The bats/mushroom cave on the farm. |
Town | StardewValley.Locations.Town | The outdoor area of Pelican Town. |
JoshHouse | StardewValley.GameLocation | Alex/George/Evelyn's house. (Josh was the old name for the Alex character.) |
HaleyHouse | StardewValley.GameLocation | Haley/Emily's house. |
SamHouse | StardewValley.GameLocation | Sam/Jodi/Kent/Vincent's house. |
Blacksmith | StardewValley.GameLocation | Clint's blacksmith shop. |
ManorHouse | StardewValley.Locations.ManorHouse | Mayor Lewis' house. |
SeedShop | StardewValley.Locations.SeedShop | Pierre's general store (also Caroline/Abigail's house and church) |
Saloon | StardewValley.GameLocation | The Stardrop Saloon (and Gus' house) |
Trailer | StardewValley.GameLocation | Pam/Penny's trailer. |
Hospital | StardewValley.GameLocation | Harvey's clinic. |
HarveyRoom | StardewValley.GameLocation | Harvey's room upstairs from the clinic. |
Beach | StardewValley.Locations.Beach | The beach south of Pelican Town. |
ElliottHouse | StardewValley.GameLocation | Elliott's cabin on the beach. |
Mountain | StardewValley.Locations.Mountain | The outdoor mountain area where the Carpenter, Linus' tent, and Adventurer's Guild are. |
ScienceHouse | StardewValley.GameLocation | The Carpenter's Shop. |
SebastianRoom | StardewValley.GameLocation | Sebastian's room in the basement of the carpenter house. |
Tent | StardewValley.GameLocation | Linus' tent. |
Forest | StardewValley.Locations.Forest | Cindersap forest south of the farm. |
WizardHouse | StardewValley.Locations.WizardHouse | The wizard/Rasmodius's tower |
AnimalShop | StardewValley.GameLocation | Marnie's Ranch |
LeahHouse | StardewValley.GameLocation | Leah's Cottage. |
BusStop | StardewValley.Locations.BusStop | The bus stop area between the farm and Pelican Town. |
Mine | StardewValley.Locations.Mine | The first room of the mines, where the dwarf's shop is. |
Sewer | StardewValley.Locations.Sewer | The sewers where Krobus' shop is. |
BugLand | StardewValley.Locations.BugLand | The mutant bug lair in the sewers. |
Desert | StardewValley.Locations.Desert | Calico Desert where Sandy's Oasis shop and the skull cavern are. |
Club | StardewValley.Locations.Club | Mr. Qi's casino in Sandy's Oasis shop. |
SandyHouse | StardewValley.GameLocation | The Oasis, Sandy's shop in Calico Desert. |
ArchaeologyHouse | StardewValley.Locations.LibraryMuseum | The Museum in Pelican Town, south of the Blacksmith. |
WizardHouseBasement | StardewValley.GameLocation | The basement of the Wizard's Tower |
AdventureGuild | StardewValley.Locations.AdventureGuild | The Adventurer's Guild, home of Marlon and Gil. |
Woods | StardewValley.Locations.Woods | The secret woods in Cindersap forest blocked by a large log. |
Railroad | StardewValley.Locations.Railroad | The railroad north of the mountains, where the spa is located. |
WitchSwamp | StardewValley.GameLocation | The swamp area where the Witch's Hut is. |
WitchHut | StardewValley.GameLocation | The interior of the Witch's Hut. |
WitchWarpCave | StardewValley.GameLocation | The cave accessible at the top right of the railroad, which warps to the Witch's swamp. |
Summit | StardewValley.Locations.Summit | The summit north of the railroad. |
FishShop | StardewValley.Locations.FishShop | Willy's shop. |
BathHouse_Entry | StardewValley.GameLocation | The entrance room in the spa, leading to the men's and women's locker rooms. |
BathHouse_MensLocker | StardewValley.GameLocation | The men's locker room in the spa. |
BathHouse_WomensLocker | StardewValley.GameLocation | The women's locker room in the spa. |
BathHouse_Pool | StardewValley.Locations.BathHousePool | The bathhouse pool in the spa. |
CommunityCenter | StardewValley.Locations.CommunityCenter | The inside of the Community Center. |
JojaMart | StardewValley.Locations.JojaMart | The inside of Pelican Town's JojaMart. |
Greenhouse | StardewValley.GameLocation | The Greenhouse on the player's farm. |
SkullCave | StardewValley.GameLocation | The entrance of the Skull Cavern in Calico desert. |
Backwoods | StardewValley.GameLocation | The backwoods area north of the farm/west of the bus stop, leading to the bus tunnel or to the mountains. |
Tunnel | StardewValley.GameLocation | The dark bus tunnel to the west of the bus stop. |
Trailer_Big | StardewValley.GameLocation | The inside of Pam/Penny's house after the Community Upgrade. |
Cellar | StardewValley.Locations.Cellar | |
Cellar2 | StardewValley.Locations.Cellar | |
Cellar3 | StardewValley.Locations.Cellar | |
Cellar4 | StardewValley.Locations.Cellar | |
BeachNightMarket | StardewValley.Locations.BeachNightMarket | The beach south of Pelican Town during the Night Market. |
MermaidHouse | StardewValley.Locations.MermaidHouse | The interior of the mermaid boat at the Night Market. |
Submarine | StardewValley.Locations.Submarine | The interior of the fishing submarine during the Night Market. |
AbandonedJojaMart | StardewValley.Locations.AbandonedJojaMart | The small interior of the abandoned JojaMart where the Missing Bundle is. |
MovieTheater | StardewValley.Locations.MovieTheater | The interior of the Movie Theater that replaces JojaMart. |
Sunroom | StardewValley.GameLocation | Caroline's sunroom inside Pierre's General Store. |
BoatTunnel | StardewValley.Locations.BoatTunnel | Where Willy's Boat is, in back of the fish shop. |
IslandSouth | StardewValley.Locations.IslandSouth | Ginger Island, the docks where the player first lands and where the beach resort is. |
IslandSouthEast | StardewValley.Locations.IslandSouthEast | Ginger Island, where the mermaid and pirate cove are. |
IslandSouthEastCave | StardewValley.Locations.IslandSouthEastCave | The pirate cove. |
IslandEast | StardewValley.Locations.IslandEast | Ginger Island jungle, where Leo's hut is. |
IslandWest | StardewValley.Locations.IslandWest | Ginger Island, Island West, where the farm and Birdie's Shack are. |
IslandNorth | StardewValley.Locations.IslandNorth | Ginger Island, Island North, where the volcano and Professor Snail's tent are. |
IslandHut | StardewValley.Locations.IslandHut | The interior of Leo's hut on Ginger Island. |
IslandWestCave1 | StardewValley.Locations.IslandWestCave1 | The Ginger Island cave where the colored crystals puzzle can be found. |
IslandNorthCave1 | StardewValley.Locations.IslandLocation | The mushroom cave on Ginger Island where Professor Snail is initially blocked in by a boulder. |
IslandFieldOffice | StardewValley.Locations.IslandFieldOffice | The interior of Professor Snail's Island Field Office tent. |
IslandFarmHouse | StardewValley.Locations.IslandFarmHouse | The interior of the farm house on Ginger Island. |
CaptainRoom | StardewValley.Locations.IslandLocation | The interior of the shipwreck on Ginger Island West. |
IslandShrine | StardewValley.Locations.IslandShrine | The area East of the jungle on Ginger Island. |
IslandFarmCave | StardewValley.Locations.IslandFarmCave | The interior of Gourmand Frog's cave on Ginger Island. |
Caldera | StardewValley.Locations.Caldera | The volcano caldera on Ginger Island at the end of the volcano dungeon. |
LeoTreeHouse | StardewValley.GameLocation | Leo's tree house home. |
QiNutRoom | StardewValley.Locations.IslandLocation | Mr. Qi's Walnut Room |