Modding:Furniture: Difference between revisions
Appearance
imported>Pathoschild update link |
imported>Pathoschild adjust page post-split, add some high-level info, update outdated info |
||
| Line 1: | Line 1: | ||
← [[Modding:Items|Items]] | ← [[Modding:Items|Items]] | ||
This page explains how the game stores and parses furniture-type item data. For items in general, see [[Modding:Items]]. | |||
==Overview== | |||
Furniture are decorative items which can be placed in the world. In some cases, players can sit on them or place items on them. | |||
They have their data in <samp>Data/Furniture</samp>, their sprites in <samp>TileSheets/furniture</samp> by default, their vanilla translations in <samp>Strings/Furniture</samp>, and their code in <samp>StardewValley.Objects.Furniture</samp>. | |||
< | ==Data format== | ||
The furniture data in <samp>Data/Furniture</samp> consists of an string → string lookup, where... | |||
</ | * The key is the [[Modding:Common data field types#Item ID|unqualified item ID]]. | ||
* The value is a slash-delimited strings with the fields listed below. | |||
{| class="wikitable" | {| class="wikitable" | ||
| Line 23: | Line 21: | ||
| 0 | | 0 | ||
| name | | name | ||
| The internal item name | | The internal item name. | ||
|- | |- | ||
| 1 | | 1 | ||
| type | | type | ||
| The furniture type. Possible values: | | The furniture type. Possible values: | ||
* <samp>chair</samp> | |||
* <samp>armchair</samp> | |||
* <samp>bed</samp> | |||
* <samp>bed child</samp> | |||
* <samp>bed double</samp> | |||
* <samp>bench</samp> | |||
* <samp>bookcase</samp> | |||
* <samp>couch</samp> | |||
* <samp>decor</samp> | |||
* <samp>dresser</samp> | |||
* <samp>fireplace</samp> | |||
* <samp>fishtank</samp> | |||
* <samp>lamp</samp> | |||
* <samp>long table</samp> | |||
* <samp>other</samp> | |||
* <samp>painting</samp> | |||
* <samp>randomized_plant</samp> | |||
* <samp>rug</samp> | |||
* <samp>sconce</samp> | |||
* <samp>table</samp> | |||
* <samp>torch</samp> | |||
* <samp>window</samp> | |||
|- | |- | ||
| 2 | | 2 | ||
| Line 95: | Line 67: | ||
| 6 | | 6 | ||
| placement restriction | | placement restriction | ||
| Where the furniture can be placed. | | Where the furniture can be placed. | ||
Possible values: | |||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
|- | |- | ||
! value | ! value | ||
! | ! effect | ||
|- | |- | ||
| -1 | | -1 | ||
| Line 134: | Line 108: | ||
| ''(Optional)'' A space-delimited list of [[Modding:Context tags|context tags]] which apply to this furniture. Default none. | | ''(Optional)'' A space-delimited list of [[Modding:Context tags|context tags]] which apply to this furniture. Default none. | ||
|} | |} | ||
==See also== | |||
* [[Modding:Items]] for item data in general | |||
[[Category:Modding]] | [[Category:Modding]] | ||
Revision as of 00:23, 16 December 2024
← Items
This page explains how the game stores and parses furniture-type item data. For items in general, see Modding:Items.
Overview
Furniture are decorative items which can be placed in the world. In some cases, players can sit on them or place items on them.
They have their data in Data/Furniture, their sprites in TileSheets/furniture by default, their vanilla translations in Strings/Furniture, and their code in StardewValley.Objects.Furniture.
Data format
The furniture data in Data/Furniture consists of an string → string lookup, where...
- The key is the unqualified item ID.
- The value is a slash-delimited strings with the fields listed below.
| index | field | effect | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | name | The internal item name. | ||||||||||
| 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.
Possible values:
| ||||||||||
| 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. |
See also
- Modding:Items for item data in general