Changes

Updated the Feed map property, as it appears to be outdated
Line 45: Line 45:     
[[File:Modding - creating an XNB mod - tile coordinates.png]]
 
[[File:Modding - creating an XNB mod - tile coordinates.png]]
 +
 +
You can use the {{Nexus mod|679|Debug Mode}} mod to see tile coordinates in-game.
    
===Map formats===
 
===Map formats===
Line 289: Line 291:  
==Known map properties==
 
==Known map properties==
 
¹
 
¹
 +
====Building construction====
 +
{| class="wikitable"
 +
|-
 +
! property
 +
! explanation
 +
|-
 +
| <samp>CanBuildHere T</samp><br />''(valid in any outdoor location)''
 +
| Whether to allow constructing buildings in this location. The game will adjust automatically to account for it (e.g. Robin will let you choose where to build).
 +
|-
 +
| <samp>BuildConditions {{t|query}}</samp><br />''(valid in any outdoor location)''
 +
| If <samp>CanBuildHere</samp> is set, an optional [[Modding:Game state queries|game state query]] which indicates whether building is allowed currently.
 +
|-
 +
| <samp>LooserBuildRestrictions T</samp><br />''(valid in any outdoor location)''
 +
| If set, tiles don't need to be marked <samp>Buildable T</samp> or <samp>Diggable T</samp> in their properties. Tiles can be blocked with <samp>Buildable F</samp> instead. The other restrictions still apply.
 +
|-
 +
| <samp>ValidBuildRect {{t|x}} {{t|y}} {{t|width}} {{t|height}}</samp><br />''(valid in any outdoor location)''
 +
| The tile area within the map where buildings may be placed. If omitted, buildings may be placed in any open space in the map.
 +
|}
 +
 +
====Crops====
 +
{| class="wikitable"
 +
|-
 +
! property
 +
! explanation
 +
|-
 +
| <samp>AllowGiantCrops T</samp>
 +
| If set with any non-blank value, [[Crops#Giant Crops|giant crops]] can grow in this location (if crops are also allowed per the [[Modding:Migrate to Stardew Valley 1.6#Custom crops|crop data]] or [[Modding:Migrate to Stardew Valley 1.6#Custom location contexts|<samp>PlantableLocations</samp> context field]]).
 +
|-
 +
| <samp>DirtDecayChance {{t|chance}}</samp>
 +
| The probability that each dirt tile will disappear overnight if it doesn't contain a crop, as a value between 0 (never) and 1 (always). Defaults to 0 (greenhouses), 0.1 (farms), and 1 (anywhere else).
 +
|}
    
===Plants, forage, & item spawning===
 
===Plants, forage, & item spawning===
Line 309: Line 342:  
|-
 
|-
 
| <samp>Feed {{t|int x}} {{t|int y}}</samp><br />''(valid in coops and barns)''
 
| <samp>Feed {{t|int x}} {{t|int y}}</samp><br />''(valid in coops and barns)''
| Sets the spawn location of the [[Hay Hopper]] in a coop or barn.<br />''Example: <samp>Feed 3 2</samp>.''
+
| <s>Sets the spawn location of the [[Hay Hopper]] in a coop or barn.<br />''Example: <samp>Feed 3 2</samp>.''</s><br />The Feed map property has been deprecated with 1.6. The FeedHopper is now being defined in Data/Buildings as a IndoorItems entry "(BC)99"
 
|-
 
|-
 
| <samp>ForceAllowTreePlanting T</samp>²<br />''(valid in any location)''
 
| <samp>ForceAllowTreePlanting T</samp>²<br />''(valid in any location)''
Line 338: Line 371:  
| Spawns grass at random positions when a new year starts (subject to its usual spawn rules). See also <samp>SpawnGrassFromPathsOnNewYear</samp>.
 
| Spawns grass at random positions when a new year starts (subject to its usual spawn rules). See also <samp>SpawnGrassFromPathsOnNewYear</samp>.
 
|-
 
|-
| <samp>Stumps [{{t|int x}} {{t|int y}} {{t|unused}}]+</samp><br />''(valid in [[Secret Woods]])''
+
| <samp>Stumps [{{t|int x}} {{t|int y}} {{t|unused}}]+</samp><br />''(valid in any location)''
 
| Adds stumps to the Secret Woods map daily. The third field for each stump appears to be unused.<br />''Example: <samp>Stumps 24 6 3 29 7 3 26 10 3 46 6 3 34 26 3 41 26 3</samp>.''
 
| Adds stumps to the Secret Woods map daily. The third field for each stump appears to be unused.<br />''Example: <samp>Stumps 24 6 3 29 7 3 26 10 3 46 6 3 34 26 3 41 26 3</samp>.''
 
|-
 
|-
Line 353: Line 386:  
! property
 
! property
 
! explanation
 
! explanation
 +
|-
 +
| <samp>AllowWakeUpWithoutBed {{t|allow}}</samp>
 +
| Whether the player can wake up in this location without a bed, similar to the island farmhouse. This is typically used with <samp>PassOutLocations</samp> in [[Modding:Migrate to Stardew Valley 1.6#Custom location contexts|<samp>Data/LocationContexts</samp>]].
 
|-
 
|-
 
| <samp>BackwoodsEntry [{{t|int x}} {{t|int y}}]</samp><br />''(valid in farm)''
 
| <samp>BackwoodsEntry [{{t|int x}} {{t|int y}}]</samp><br />''(valid in farm)''
Line 359: Line 395:  
| <samp>BusStopEntry [{{t|int x}} {{t|int y}}]</samp><br />''(valid in farm)''
 
| <samp>BusStopEntry [{{t|int x}} {{t|int y}}]</samp><br />''(valid in farm)''
 
| The position the player is warped to when entering the farm from the Bus Stop.
 
| The position the player is warped to when entering the farm from the Bus Stop.
 +
|-
 +
| <samp>DefaultWarpLocation {{t|x}} {{t|y}}</samp><br />''(valid in any location)''
 +
| The default arrival tile, used when a player or NPC is added to the location without a target tile (e.g. using [[Modding:Console commands|debug commands]] like <samp>debug warp</samp> or <samp>debug eventbyid</samp>).
 
|-
 
|-
 
| <samp>EntryLocation {{t|tile X}} {{t|tile Y}}</samp><br />''(valid in farmhouse)''
 
| <samp>EntryLocation {{t|tile X}} {{t|tile Y}}</samp><br />''(valid in farmhouse)''
Line 386: Line 425:  
| <samp>NPCWarp [{{t|int fromX}} {{t|int fromY}} {{t|string toArea}} {{t|int toX}} {{t|int toY}}]+</samp><br />''(valid in any location)''
 
| <samp>NPCWarp [{{t|int fromX}} {{t|int fromY}} {{t|string toArea}} {{t|int toX}} {{t|int toY}}]+</samp><br />''(valid in any location)''
 
| Equivalent to <samp>Warp</samp>, but only usable by npcs.
 
| Equivalent to <samp>Warp</samp>, but only usable by npcs.
 +
|-
 +
| <samp>PetBowlLocation {{t|x}} {{t|y}}</samp><br />''(valid in the farm)''
 +
| The default position of the pet bowl
 
|-
 
|-
 
| <samp>ShippingBinLocation [{{t|int x}} {{t|int y}}]</samp><br />''(valid in farm)''
 
| <samp>ShippingBinLocation [{{t|int x}} {{t|int y}}]</samp><br />''(valid in farm)''
Line 392: Line 434:  
| <samp>SpouseAreaLocation [{{t|int x}} {{t|int y}}]</samp><br />''(valid in farm)''
 
| <samp>SpouseAreaLocation [{{t|int x}} {{t|int y}}]</samp><br />''(valid in farm)''
 
| The position of the the 4x4 outdoor spouse area. Corresponds to the upper left corner.[[File:SpouseArea.png|upright=0.5|right|thumb]]
 
| The position of the the 4x4 outdoor spouse area. Corresponds to the upper left corner.[[File:SpouseArea.png|upright=0.5|right|thumb]]
 +
|-
 +
| <samp>SpouseRoomPosition {{t|x}} {{t|y}}</samp><br />''(valid in farmhouse)''
 +
| The top-left position at which to place the [[Marriage#Spouse Rooms|spouse room]].
 +
|-
 +
| <samp>TravelingCartPosition {{t|x}} {{t|y}}</samp><br />''(valid in the forest)''
 +
| The top-left position at which to place the [[Traveling Cart]]. This is the top-left corner of the collision box, so the roof will extend two tiles above this tile.
 
|-
 
|-
 
| <samp>Warp [{{t|int fromX}} {{t|int fromY}} {{t|string toArea}} {{t|int toX}} {{t|int toY}}]+</samp><br />''(valid in any location)''
 
| <samp>Warp [{{t|int fromX}} {{t|int fromY}} {{t|string toArea}} {{t|int toX}} {{t|int toY}}]+</samp><br />''(valid in any location)''
Line 414: Line 462:  
|-
 
|-
 
| <samp>Music {{t|string name}}</samp><br />''(valid in any location)''
 
| <samp>Music {{t|string name}}</samp><br />''(valid in any location)''
| Sets the music that plays when the player enters, where {{t|name}} is the cue name in the audio files.<br />''Example: <samp>Music MarlonsTheme</samp>.''
+
| Sets the music that plays when the player enters, where {{t|name}} is the cue name in the audio files.<br />''Example: <samp>Music MarlonsTheme</samp>.'' (Deprecated; use the music fields in [[Modding:Location data#Music|<samp>Data/Locations</samp>]] instead. This property is only applied if the location has no music in <samp>Data/Locations</samp>.)
 
|-
 
|-
 
| <samp>Music {{t|int start}} {{t|int end}} {{t|string name}}</samp><br />''(valid in any location)''
 
| <samp>Music {{t|int start}} {{t|int end}} {{t|string name}}</samp><br />''(valid in any location)''
| Sets the music that plays when the player enters, where {{t|name}} is the cue name in the audio files, music will only play if the time is between {{t|int start}} (inclusive) and {{t|int end}} (exclusive).<br />''Example: <samp>Music 800 1200 MarlonsTheme</samp>.''
+
| Sets the music that plays when the player enters, where {{t|name}} is the cue name in the audio files, music will only play if the time is between {{t|int start}} (inclusive) and {{t|int end}} (exclusive).<br />''Example: <samp>Music 800 1200 MarlonsTheme</samp>.'' (Deprecated; use the music fields in [[Modding:Location data#Music|<samp>Data/Locations</samp>]] instead. This property is only applied if the location has no music in <samp>Data/Locations</samp>.)
 
|}
 
|}
   Line 461: Line 509:  
| <samp>DayTiles [{{t|string layerName}} {{t|int x}} {{t|int y}} {{t|int tilesheetIndex}}]+</samp><br />''(valid in any location)''
 
| <samp>DayTiles [{{t|string layerName}} {{t|int x}} {{t|int y}} {{t|int tilesheetIndex}}]+</samp><br />''(valid in any location)''
 
| Sets tiles to appear between 6AM to 7PM. Anytime before 7pm, this finds the tile at position ({{t|x}}, {{t|y}}) on the map layer matching {{t|layerName}}, changes its tilesheet index to the specified {{t|tilesheetIndex}}, and adds a glow to simulate daylight. The glow will only be added if the location is indoors and the {{t|tilesheetIndex}} is 256, 288, 405, 469, or 1224. The parameters can be repeated to affect multiple tiles.<br />''Example: <samp>DayTiles Front 3 1 256 Front 3 2 288</samp>.''
 
| Sets tiles to appear between 6AM to 7PM. Anytime before 7pm, this finds the tile at position ({{t|x}}, {{t|y}}) on the map layer matching {{t|layerName}}, changes its tilesheet index to the specified {{t|tilesheetIndex}}, and adds a glow to simulate daylight. The glow will only be added if the location is indoors and the {{t|tilesheetIndex}} is 256, 288, 405, 469, or 1224. The parameters can be repeated to affect multiple tiles.<br />''Example: <samp>DayTiles Front 3 1 256 Front 3 2 288</samp>.''
 +
|-
 +
| <samp>NightTiles [{{t|string layerName}} {{t|int x}} {{t|int y}} {{t|int tilesheetIndex}}]+</samp><br />''(valid in any location)''
 +
| Changes the tile after 7pm. Outside, it works along <samp>DayTiles</samp>: set a <samp>DayTiles</samp> tile for the map to load between 6am to 7pm, then a <samp>NightTiles</samp> to load between 7pm to the end of the day. It is mostly used for lamps in the game. Note that night time starts at different times depending on season ([[Day Cycle#Darkness|Day Cycle]]).
 
|-
 
|-
 
| <samp>Doors [{{t|int x}} {{t|int y}} {{t|string sheetID}} {{t|int tileID}}]+</samp><br />''(valid in indoor locations)''
 
| <samp>Doors [{{t|int x}} {{t|int y}} {{t|string sheetID}} {{t|int tileID}}]+</samp><br />''(valid in indoor locations)''
 
| Adds functionality to interior doors. Used with <samp>Action Door</samp> tile properties. The {{t|x}} {{t|y}} fields are the tile coordinates, {{t|sheetID}} is the name of the sheet containing the door sprite, and {{t|tileID}} is the tile index in the spritesheet.
 
| Adds functionality to interior doors. Used with <samp>Action Door</samp> tile properties. The {{t|x}} {{t|y}} fields are the tile coordinates, {{t|sheetID}} is the name of the sheet containing the door sprite, and {{t|tileID}} is the tile index in the spritesheet.
|-
  −
| <samp>NightTiles [{{t|string layerName}} {{t|int x}} {{t|int y}} {{t|int tilesheetIndex}}]+</samp><br />''(valid in any location)''
  −
| Changes the tile after 7pm. Outside, it works along <samp>DayTiles</samp>: set a <samp>DayTiles</samp> tile for the map to load between 6am to 7pm, then a <samp>NightTiles</samp> to load between 7pm to the end of the day. It is mostly used for lamps in the game.
   
|}
 
|}
   Line 489: Line 537:  
|-
 
|-
 
| <samp>FarmHouseFlooring {{t|flooring id}}</samp><br />''(valid in farm)''
 
| <samp>FarmHouseFlooring {{t|flooring id}}</samp><br />''(valid in farm)''
| Sets the initial farmhouse floor to the given ID when creating a new save. These are mapped to the 4x4 tile areas in the <samp>Maps/walls_and_floors</samp> tilesheet starting at tile index 336 (where index 0 is mapped to the top-left square).<br />This is only enabled if <samp>FarmHouseFurniture</samp> is set.
+
| Sets the initial farmhouse floor to the given ID when creating a new save. These are mapped to the 4x4 tile areas in the <samp>Maps/walls_and_floors</samp> tilesheet starting at tile index 336 (where index 0 is mapped to the top-left square).
 
|-
 
|-
 
| <samp>FarmHouseFurniture [{{t|furniture ID}} {{t|tile X}} {{t|tile Y}} {{t|rotations}}]+</samp><br />''(valid in farm)''
 
| <samp>FarmHouseFurniture [{{t|furniture ID}} {{t|tile X}} {{t|tile Y}} {{t|rotations}}]+</samp><br />''(valid in farm)''
| Spawns initial furniture in the farmhouse when creating a new save. If you add multiple furniture to the same tile, the first one will be placed on the ground and the last one will be placed on the first one.<br />This is also required to enable the <samp>FarmHouseWallpaper</samp>, <samp>FarmHouseFlooring</samp>, and <samp>FarmHouseStarterSeedsPosition</samp> properties. You can enable it without spawning any furniture with <samp>FarmHouseFurniture -1 0 0 0</samp>.
+
| Spawns initial furniture in the farmhouse when creating a new save. If you add multiple furniture to the same tile, the first one will be placed on the ground and the last one will be placed on the first one.<br />
 +
|-
 +
| <samp>FarmHouseStarterGift [{{t|id}} {{o|count}}]+</samp>
 +
| The items that should appear in the initial gift box placed in the farmhouse when the save is created. This consists of one or more pairs of item ID (which can be qualified or unqualified) and count. The count is optional on the last entry.
 +
 
 +
For example, this will add 10 pufferfish (object 128) and a blobfish mask (hat 56):
 +
<pre>FarmHouseStarterGift (O)128 10 (H)56 1</pre>
 +
 
 +
If omitted, the default items (usually a 15 parsnip seeds) are added instead.
 
|-
 
|-
 
| <samp>FarmHouseStarterSeedsPosition {{t|tile X}} {{t|tile Y}}</samp><br />''(valid in farm)''
 
| <samp>FarmHouseStarterSeedsPosition {{t|tile X}} {{t|tile Y}}</samp><br />''(valid in farm)''
| Sets the tile position in the farmhouse where the seed package is placed when creating a new save.<br />This is only enabled if <samp>FarmHouseFurniture</samp> is set.
+
| Sets the tile position in the farmhouse where the seed package is placed when creating a new save.
 
|-
 
|-
 
| <samp>FarmHouseWallpaper {{t|wallpaper id}}</samp><br />''(valid in farm)''
 
| <samp>FarmHouseWallpaper {{t|wallpaper id}}</samp><br />''(valid in farm)''
| Sets the initial farmhouse wallpaper to the given ID when creating a new save. These are mapped to the 1x4 tile areas in the <samp>Maps/walls_and_floors</samp> tilesheet starting from the top-left.<br />This is only enabled if <samp>FarmHouseFurniture</samp> is set.
+
| Sets the initial farmhouse wallpaper to the given ID when creating a new save. These are mapped to the 1x4 tile areas in the <samp>Maps/walls_and_floors</samp> tilesheet starting from the top-left.
 
|}
 
|}
   Line 541: Line 597:  
|-
 
|-
 
| <samp>UniquePortrait [{{t|str name}}]+</samp><br />''(valid in any location)''
 
| <samp>UniquePortrait [{{t|str name}}]+</samp><br />''(valid in any location)''
| Switches the portraits for the named NPCs to the unique variants for the location. An NPC <samp>Jane</samp> in location <samp>Room</samp> will switch to portrait <samp>Portraits/Jane_Room</samp>.<br />''Example: <samp>UniquePortrait Maru</samp>.''
+
| Switches the portraits for the named NPCs to the unique variants for the location. An NPC <samp>Jane</samp> in location <samp>Room</samp> will switch to portrait <samp>Portraits/Jane_Room</samp>.<br />''Example: <samp>UniquePortrait Maru</samp>.'' (Deprecated; use [[Modding:Migrate to Stardew Valley 1.6#Custom NPC appearance|custom NPC appearances]] instead. These properties will override NPC appearances.)
 
|-
 
|-
 
| <samp>UniqueSprite [{{t|str name}}]+</samp><br />''(valid in any location)''
 
| <samp>UniqueSprite [{{t|str name}}]+</samp><br />''(valid in any location)''
| Switches the spritesheets for the named NPCs to the unique variants for the location. An NPC <samp>Jane</samp> in location <samp>Room</samp> will switch to spritesheet <samp>Characters/Jane_Room</samp>.<br />''Example: <samp>UniqueSprite Maru</samp>.''
+
| Switches the spritesheets for the named NPCs to the unique variants for the location. An NPC <samp>Jane</samp> in location <samp>Room</samp> will switch to spritesheet <samp>Characters/Jane_Room</samp>.<br />''Example: <samp>UniqueSprite Maru</samp>.'' (Deprecated; use [[Modding:Migrate to Stardew Valley 1.6#Custom NPC appearance|custom NPC appearances]] instead. These properties will override NPC appearances.)
 
|-
 
|-
 
| <samp>ViewportFollowPlayer T</samp>²<br />''(valid in any location)''
 
| <samp>ViewportFollowPlayer T</samp>²<br />''(valid in any location)''
Line 550: Line 606:  
|}
 
|}
   −
The following properties are used but apparently have no effect: <samp>Arch</samp>, <samp>Debris</samp>, <samp>Spouse</samp>, and <samp>Fish</samp>.
      
<small>¹ Map properties are primarily handled in various methods of the <samp>GameLocation</samp> class, particularly <samp>resetLocalState</samp>.</small><br />
 
<small>¹ Map properties are primarily handled in various methods of the <samp>GameLocation</samp> class, particularly <samp>resetLocalState</samp>.</small><br />
Line 604: Line 659:  
| <samp>NoSpawn All</samp><br /><samp>NoSpawn True</samp>
 
| <samp>NoSpawn All</samp><br /><samp>NoSpawn True</samp>
 
| Combines <samp>NoSpawn Grass</samp> and <samp>NoSpawn Tree</samp>.
 
| Combines <samp>NoSpawn Grass</samp> and <samp>NoSpawn Tree</samp>.
 +
|-
 +
| <samp>Back</samp>
 +
| <samp>NoSpawn False</samp>
 +
| Disables any previous <samp>NoSpawn</samp> property on the tile. For example, this can be used to enable spawning on a tile which has a <samp>NoSpawn</samp> tile index property.
 
|-
 
|-
 
| <samp>Back</samp>
 
| <samp>Back</samp>
Line 665: Line 724:  
| <samp>Order {{T|I}}</samp>
 
| <samp>Order {{T|I}}</samp>
 
| To place on index 29 and 30 of the Paths tilsheet. Set the order the cabins will spawn at the creation of a Multiplayer save.
 
| To place on index 29 and 30 of the Paths tilsheet. Set the order the cabins will spawn at the creation of a Multiplayer save.
 +
|-
 +
| <samp>Paths</samp>
 +
| <samp>SpawnTree {{t|type}} {{t|ID}} {{o|stage on spawn}} {{o|stage on regrow}}</samp>
 +
| Spawns a tree when the map is created, where:
 +
* {{t|type}} is <samp>wild</samp> (spawn a [[trees|wild tree]]) or <samp>fruit</samp> (spawn a [[Fruit Trees|fruit tree]]).
 +
* {{t|ID}} is the tree's key in <samp>Data/FruitTrees</samp> or <samp>Data/WildTrees</samp>.
 +
* {{o|stage on spawn}} is the preferred tree growth stage when first populating the save (if applicable).
 +
* {{o|stage on regrow}} is the preferred tree growth stage when regrowing trees on day update (if applicable).
 +
 +
The tile must have [[#Paths layer|<samp>Paths</samp> tile index]] 34.
 
|}
 
|}
   Line 675: Line 744:  
! property
 
! property
 
! explanation
 
! explanation
|-
  −
| <samp>Back</samp>
  −
| <samp>TouchAction Bus</samp>
  −
| Starts the Bus Ride to the Desert mini-cutscene, works in conjunction with Action BusTicket.
   
|-
 
|-
 
| <samp>Back</samp>
 
| <samp>Back</samp>
Line 690: Line 755:  
| <samp>Back</samp>
 
| <samp>Back</samp>
 
| <samp>TouchAction DesertBus</samp>
 
| <samp>TouchAction DesertBus</samp>
| Lets you ride the bus back to the Bus Stop..
+
| Lets you ride the bus back to the Bus Stop.
 
|-
 
|-
 
| <samp>Back</samp>
 
| <samp>Back</samp>
Line 707: Line 772:  
| <samp>TouchAction MagicWarp {{t|string area}} {{t|int x}} {{t|int y}} {{o|string prerequisite}}</samp>
 
| <samp>TouchAction MagicWarp {{t|string area}} {{t|int x}} {{t|int y}} {{o|string prerequisite}}</samp>
 
| Warps the player to the {{t|x}} {{t|y}} tile coordinates in the given {{t|area}} with a magic sound and effects. If the {{o|prerequisite}} field is specified, only occurs if that flag is set via <samp>Game1.player.mailReceived</samp>.
 
| Warps the player to the {{t|x}} {{t|y}} tile coordinates in the given {{t|area}} with a magic sound and effects. If the {{o|prerequisite}} field is specified, only occurs if that flag is set via <samp>Game1.player.mailReceived</samp>.
 +
|-
 +
| <samp>Back</samp>
 +
| <samp>TouchAction PlayEvent {{t|event id}} {{o|check preconditions}} {{o|skip if seen}} {{o|fallback action}}</samp>
 +
| Equivalent to <samp>Action PlayEvent</samp>, but activated on touch. Note that {{o|fallback action}} is an <samp>Action</samp> tile property, ''not'' a <samp>TouchAction</samp> tile property.
 
|-
 
|-
 
| <samp>Back</samp>
 
| <samp>Back</samp>
Line 763: Line 832:  
|-
 
|-
 
| <samp>Buildings</samp>
 
| <samp>Buildings</samp>
| <samp>Action BusTicket</samp>
+
| <samp>Action BuildingSilo</samp>
| Offers to let you go to the Calico Desert if the Bus has been repaired. Works in conjunction with TouchAction Bus.
+
| If a building covers this tile, enables [[silo]] interactions on this tile subject to the building's <samp>HayCapacity</samp> field in <samp>Data/Buildings</samp>.
 +
|-
 +
| <samp>Buildings</samp>
 +
| <samp>Action BuildingToggleAnimalDoor</samp>
 +
| If a building covers this tile, opens or closes its animal door.
 
|-
 
|-
 
| <samp>Buildings</samp>
 
| <samp>Buildings</samp>
Line 814: Line 887:  
| <samp>Action Door {{t|npcName}} {{o|npcName}}</samp>
 
| <samp>Action Door {{t|npcName}} {{o|npcName}}</samp>
 
| Sets up an interior door that cannot be opened unless the player has two or more hearts of friendship with any of the named NPC(s). Placed on the lower of the two door tiles. See [[Modding:Dialogue|dialogue format]].<br />''Example: Action Door Abigail''
 
| Sets up an interior door that cannot be opened unless the player has two or more hearts of friendship with any of the named NPC(s). Placed on the lower of the two door tiles. See [[Modding:Dialogue|dialogue format]].<br />''Example: Action Door Abigail''
 +
|-
 +
| <samp>Buildings</samp>
 +
| <samp>Action DropBox {{t|ID}}</samp>
 +
| A location that allows the player to drop off items when a [[Modding:Special orders|special order]] with the given {{t|ID}} is active.
 
|-
 
|-
 
| <samp>Buildings</samp>
 
| <samp>Buildings</samp>
Line 838: Line 915:  
| <samp>Action EvilShrineRight</samp>
 
| <samp>Action EvilShrineRight</samp>
 
| Toggles monster spawning for your farm.
 
| Toggles monster spawning for your farm.
 +
|-
 +
| <samp>Buildings</samp>
 +
| <samp>Action Forge</samp>
 +
| Opens the [[Forge]] menu.
 
|-
 
|-
 
| <samp>Buildings</samp>
 
| <samp>Buildings</samp>
Line 864: Line 945:  
|-
 
|-
 
| <samp>Buildings</samp>
 
| <samp>Buildings</samp>
| <samp>Action kitchen</samp>
+
| <samp>Action kitchen</samp><br />''(valid in any location)''
| Shows the cooking menu, if you're in the Farmhouse or IslandFarmHouse <!-- 1.6 makes it global -->
+
| Shows the cooking menu.
 
|-
 
|-
 
| <samp>Buildings</samp>
 
| <samp>Buildings</samp>
Line 886: Line 967:  
| <samp>Action Mailbox</samp>
 
| <samp>Action Mailbox</samp>
 
| Shows the next letter from the player's mailbox (if any).
 
| Shows the next letter from the player's mailbox (if any).
|-
  −
| <samp>Buildings</samp>
  −
| <samp>Action Material</samp>
  −
| Shows a summary of the player's stockpiled wood and stone. {{upcoming|1.6.0|This action no longer exists.}}
   
|-
 
|-
 
| <samp>Buildings</samp>
 
| <samp>Buildings</samp>
Line 918: Line 995:  
| <samp>Action NextMineLevel</samp>
 
| <samp>Action NextMineLevel</samp>
 
| Warps the player to the next mine level (or level 1 if they're not in the mine).
 
| Warps the player to the next mine level (or level 1 if they're not in the mine).
 +
|-
 +
| <samp>Buildings</samp>
 +
| <samp>Action None</samp>
 +
| Does nothing. This is used to mark the tile interactive if the click will be handled separately.
 
|-
 
|-
 
| <samp>Buildings</samp>
 
| <samp>Buildings</samp>
Line 926: Line 1,007:  
| <samp>Action NPCMessage {{t|str name}} "{{t|str dialogueKey}}"</samp>
 
| <samp>Action NPCMessage {{t|str name}} "{{t|str dialogueKey}}"</samp>
 
| If the named NPC is within 14 tiles of the player, reads dialogue with the given key from the string files and displays a dialogue box. See [[Modding:Dialogue|dialogue format]].<br />''Example: Action NPCMessage Abigail "Strings\\StringsFromCSFiles:Event.cs.1022"''
 
| If the named NPC is within 14 tiles of the player, reads dialogue with the given key from the string files and displays a dialogue box. See [[Modding:Dialogue|dialogue format]].<br />''Example: Action NPCMessage Abigail "Strings\\StringsFromCSFiles:Event.cs.1022"''
 +
|-
 +
| <samp>Buildings</samp>
 +
| <samp>Action ObeliskWarp {{t|location name}} {{t|x}} {{t|y}} {{o|whether to dismount}}</samp>
 +
| Warps the player to the specified location name and position with the [[Warp Totem|Obelisk]] animation/sound effects.
 +
|-
 +
| <samp>Buildings</samp>
 +
| <samp>Action OpenShop {{t|shop id}} {{o|from direction}} {{o|open time}} {{o|close time}} {{o|owner tile area}}</samp>
 +
| Open the [[Modding:Shops|shop]] with the given {{t|shop id}}. All arguments besides the ID are optional:
 +
* {{o|from direction}}: if specified, the player must be standing in this direction relative to the shop (one of <samp>down</samp>, <samp>up</samp>, <samp>left</samp>, <samp>right</samp>, or <samp>none</samp>). Setting this to <samp>none</samp> disables the requirement. The default for most vanilla shops is <samp>down</samp>.
 +
* {{o|open time}} and {{o|close time}}: the start & end times in 26-hour format when the shop is available. Interacting with the tile outside those times does nothing.
 +
* {{o|owner tile area}}: if specified, the tile area which must contain one of the shop owners for the shop to be available. For a custom shop, these are defined by its <samp>Owners</samp> field. This can be specified in two forms: <samp>{{t|x}} {{t|y}}</samp> for a single tile, or <samp>{{t|x}} {{t|y}} {{t|width}} {{t|height}}</samp> for a multi-tile area.
 +
|-
 +
| <samp>Buildings</samp>
 +
| <samp>Action PlayEvent {{t|event id}} {{o|check preconditions}} {{o|skip if seen}} {{o|fallback action}}</samp>
 +
| Immediately start an [[Modding:Event data|event]], subject to the conditions:
 +
* {{o|check preconditions}}: whether to ignore the action if the [[Modding:Event data#Event preconditions|event's preconditions]] don't match (one of <samp>true</samp> or <samp>false</samp>). Default true.
 +
* {{o|skip if seen}}: whether to ignore the action if the player has already seen the given event. Default true.
 +
 +
If the event doesn't start for any reason (including the preceding conditions):
 +
* If {{o|fallback action}} is specified, it'll be run as an action. This can be any <samp>Action</samp> tile property (without the "Action " prefix), like <code>Action PlayEvent 60367 true true PlayEvent 520702 false false</code> to play a different event.
 +
* Otherwise the action is silently ignored.
 +
 +
For example, <code>Action PlayEvent 60367 false false</code> will replay the bus arrival event from the start of the game.
 
|-
 
|-
 
| <samp>Buildings</samp>
 
| <samp>Buildings</samp>
Line 995: Line 1,099:  
|-
 
|-
 
| 0–6
 
| 0–6
| Unused. NPCs automatically path to their schedule points, with routes influenced by tile type.
+
| Unused. NPCs automatically path to their schedule points, with routes influenced by tile type. These tiles depicted directional arrows before they were erased in update 1.6.
 
|
 
|
 
|-  
 
|-  
Line 1,007: Line 1,111:  
|-
 
|-
 
| 9–12
 
| 9–12
| Spawn a [[trees|tree]] when the location is created. Outside the farm, 50% chance to respawn each day. (See also 31–32.)<br />Available trees: oak (9), maple (10), pine (11), and palm 1 (12).
+
| Spawn a [[trees|tree]] when the location is created. Trees have a 50% chance to respawn each day outside the farm. (See also 31–32.)<br />Available trees: oak (9), maple (10), pine (11), and palm 1 (12).
 
| Outdoors only.
 
| Outdoors only.
 
|-
 
|-
Line 1,019: Line 1,123:  
|-
 
|-
 
| 20
 
| 20
| Spawn a [[boulder]] the farm is created, with the top-left corner on this tile..
+
| Spawn a [[boulder]] when the farm is created, with the top-left corner on this tile.
 
| Farm only.
 
| Farm only.
 
|-
 
|-
Line 1,051: Line 1,155:  
|-
 
|-
 
| 31–32
 
| 31–32
| Spawn a [[trees|tree]] when the location is created. Outside the farm, 50% chance to respawn each day. (See also 9–12.)<br />Available trees: palm 2 (31), mahogany (32).
+
| Spawn a [[trees|tree]] when the location is created. Trees have a 50% chance to respawn each day outside the farm. (See also 9–12.)<br />Available trees: palm 2 (31), mahogany (32).
 
| Outdoors only.
 
| Outdoors only.
 
|-
 
|-
 
| 33
 
| 33
 
| Spawn a [[Golden Walnut|golden walnut]] bush when the location is created.
 
| Spawn a [[Golden Walnut|golden walnut]] bush when the location is created.
 +
| Outdoors only.
 +
|-
 +
| 34
 +
| Enables the <samp>SpawnTree</samp> [[Modding:Maps#Known tile properties|tile property]] on this tile, which lets you spawn/regrow wild or fruit trees.
 +
| Outdoors only.
 +
|-
 +
| 35
 +
| Has no effect in-game. This is just a visual indicator you can use when editing maps (e.g. to keep track of where you set tile properties).
 +
|
 +
|-
 +
| 36
 +
| Spawn blue [[grass]] when the location is created, or randomly afterwards.
 
| Outdoors only.
 
| Outdoors only.
 
|}
 
|}
16

edits