Modding:Furniture: Difference between revisions
Appearance
imported>Pathoschild unmerge from Modding:Items; new attribution: User:Pathoschild (main author), User:Violetlizabet (added 'placement restrictions' field), User:Glymr (updated field order for 1.6 and removed old note), User:BarleyZP (copied info from 1.6 migration guide with main content by Pathoschild and formatting fixes by BarleyZP), User:Falseroku (updated 'type' field values) |
imported>Pathoschild update link |
||
| Line 132: | Line 132: | ||
| 11 | | 11 | ||
| context tags | | context tags | ||
| ''(Optional)'' A space-delimited list of [[Modding: | | ''(Optional)'' A space-delimited list of [[Modding:Context tags|context tags]] which apply to this furniture. Default none. | ||
|} | |} | ||
[[Category:Modding]] | [[Category:Modding]] | ||
Revision as of 19:12, 15 December 2024
← Items
Furniture
Furniture are decorative items which can be placed in the world, including chairs which the player can sit on.
They have their data in Data/Furniture, their in-game sprites in TileSheets/furniture, translations in Strings/Furniture, and their code in StardewValley.Objects.Furniture.
Data format
The furniture data in Data/Furniture consists of an integer→string dictionary with entries like this:
"18": "Country Chair/chair/-1/-1/4/750"
For each entry in the data asset, the key is the item's ParentSheetIndex and the value is a slash-delimited string with these fields:
| index | field | effect | |||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | name | The internal item name (and display name in English). | |||||||||||||||||||||||
| 1 | type | The furniture type. Possible values:
| |||||||||||||||||||||||
| 2 | tilesheet size | The furniture sprite size on the tilesheet, measured in tiles. This can be <width> <height> (e.g. 1 2), or -1 to use the default size for the type.
| |||||||||||||||||||||||
| 3 | bounding box size | The size of the hitbox when the furniture is placed in-game, measured in tiles. The bounding box will be anchored to the bottom-left corner and extend upwards and rightwards. This can be <width> <height> (e.g. 1 2), or -1 to use the default size for the type.
| |||||||||||||||||||||||
| 4 | rotations | The number of rotations possible (1, 2, or 4). | |||||||||||||||||||||||
| 5 | price | The price when purchased from a shop. | |||||||||||||||||||||||
| 6 | placement restriction | Where the furniture can be placed.
| |||||||||||||||||||||||
| 7 | display name | The translated furniture name, which allows tokenizable strings. | |||||||||||||||||||||||
| 8 | sprite index | The sprite index within the spritesheet texture to draw. | |||||||||||||||||||||||
| 9 | texture | (Optional) The asset name of the texture to draw. Defaults to TileSheets/furniture. | |||||||||||||||||||||||
| 10 | off limits for random sale | (Optional) Whether to prevent this furniture from appearing in randomly generated shop stocks and the furniture catalogue. Default false. | |||||||||||||||||||||||
| 11 | context tags | (Optional) A space-delimited list of context tags which apply to this furniture. Default none. |