Difference between revisions of "Modding:Furniture data"

From Stardew Valley Wiki
Jump to navigation Jump to search
(→‎Raw data: update)
(→‎Raw data: update)
Line 4: Line 4:
  
 
==Raw data==
 
==Raw data==
Furniture is stored in <tt>Content\Data\Furniture.xnb</tt>, which can be [[Modding:Editing XNB files#unpacking|unpacked into a text file]]. Here's the raw data as of {{version|1.3.33}} for reference:
+
Furniture is stored in <tt>Content\Data\Furniture.xnb</tt>, which can be [[Modding:Editing XNB files#unpacking|unpacked for editing]]. Here's the raw data as of {{version|1.3.36}} for reference:
{{collapse|Code|content=<source lang="json">
+
 
 +
{{collapse|Data|content=<source lang="json">
 
{
 
{
 
   "0": "Oak Chair/chair/-1/-1/4/350",
 
   "0": "Oak Chair/chair/-1/-1/4/350",
Line 17: Line 18:
 
   "24": "Pink Office Chair/chair/-1/-1/4/500",
 
   "24": "Pink Office Chair/chair/-1/-1/4/500",
 
   "27": "Purple Office Chair/chair/-1/-1/4/500",
 
   "27": "Purple Office Chair/chair/-1/-1/4/500",
   "30": "Green Office Stool/chair/-1/-1/4/350",
+
   "30": "Green Office Stool/chair/-1/-1/1/350",
   "31": "Orange Office Stool/chair/-1/-1/4/350",
+
   "31": "Orange Office Stool/chair/-1/-1/1/350",
 
   "64": "Dark Throne/chair/-1/-1/4/2000",
 
   "64": "Dark Throne/chair/-1/-1/4/2000",
 
   "67": "Dining Chair/chair/-1/-1/4/1200",
 
   "67": "Dining Chair/chair/-1/-1/4/1200",
Line 29: Line 30:
 
   "88": "Stump Seat/chair/-1/-1/4/2000",
 
   "88": "Stump Seat/chair/-1/-1/4/2000",
 
   "91": "Metal Chair/chair/-1/-1/4/800",
 
   "91": "Metal Chair/chair/-1/-1/4/800",
   "94": "Green Stool/chair/-1/-1/4/350",
+
   "94": "Green Stool/chair/-1/-1/1/350",
   "95": "Blue Stool/chair/-1/-1/4/350",
+
   "95": "Blue Stool/chair/-1/-1/1/350",
 
   "128": "King Chair/chair/-1/-1/4/3000",
 
   "128": "King Chair/chair/-1/-1/4/3000",
 
   "131": "Crystal Chair/chair/-1/-1/4/3000",
 
   "131": "Crystal Chair/chair/-1/-1/4/3000",
Line 179: Line 180:
 
   "1664": "Mystic Rug/rug/-1/-1/2/1250",
 
   "1664": "Mystic Rug/rug/-1/-1/2/1250",
 
   "1669": "Lg. Futan Bear/decor/2 2/2 1/1/4000",
 
   "1669": "Lg. Futan Bear/decor/2 2/2 1/1/4000",
 +
  "1733": "Junimo Plush/decor/2 2/2 1/1/4000",
 
   "1671": "Bear Statue/decor/2 4/2 1/1/4000",
 
   "1671": "Bear Statue/decor/2 4/2 1/1/4000",
 
   "1673": "Porthole/window/-1/-1/1/700",
 
   "1673": "Porthole/window/-1/-1/1/700",
Line 186: Line 188:
 
   "1680": "Floor TV/decor/2 2/2 1/1/700",
 
   "1680": "Floor TV/decor/2 2/2 1/1/700",
 
   "1682": "Carved Window/window/-1/-1/1/900",
 
   "1682": "Carved Window/window/-1/-1/1/900",
  "1733": "Junimo Plush/decor/2 2/2 1/1/4000",
 
 
   "1737": "Nautical Rug/rug/-1/-1/2/1250",
 
   "1737": "Nautical Rug/rug/-1/-1/2/1250",
 
   "1742": "Burlap Rug/rug/2 2/2 2/1/350",
 
   "1742": "Burlap Rug/rug/2 2/2 2/1/350",
Line 199: Line 200:
 
   "1758": "Ornate Lamp/lamp/-1/-1/1/1050",
 
   "1758": "Ornate Lamp/lamp/-1/-1/1/1050",
 
   "1777": "Woodcut Rug/rug/2 2/2 2/1/800",
 
   "1777": "Woodcut Rug/rug/2 2/2 2/1/800",
  "1792": "Brick Fireplace/fireplace/-1/-1/1/1000",
 
  "1794": "Stone Fireplace/fireplace/-1/-1/1/1500",
 
  "1796": "Iridium Fireplace/fireplace/-1/-1/1/15000",
 
  "1798": "Stove Fireplace/fireplace/-1/-1/1/3000",
 
  "1800": "Monster Fireplace/fireplace/-1/-1/1/25000",
 
 
   "1811": "Hanging Shield/painting/1 1/1 1/1/500",
 
   "1811": "Hanging Shield/painting/1 1/1 1/1/500",
 
   "1812": "Monster Danglers/painting/2 1/2 1/1/1000",
 
   "1812": "Monster Danglers/painting/2 1/2 1/1/1000",
Line 215: Line 211:
 
   "1850": "'The Serpent'/painting/-1/-1/1/1000",
 
   "1850": "'The Serpent'/painting/-1/-1/1/1000",
 
   "1852": "'Tropical Fish #173'/painting/-1/-1/1/1000",
 
   "1852": "'Tropical Fish #173'/painting/-1/-1/1/1000",
   "1854": "'Land Of Clay'/painting/-1/-1/1/1000"
+
   "1854": "'Land Of Clay'/painting/-1/-1/1/1000",
 +
  "1792": "Brick Fireplace/fireplace/-1/-1/1/1000",
 +
  "1794": "Stone Fireplace/fireplace/-1/-1/1/1500",
 +
  "1796": "Iridium Fireplace/fireplace/-1/-1/1/15000",
 +
  "1798": "Stove Fireplace/fireplace/-1/-1/1/3000",
 +
  "1800": "Monster Fireplace/fireplace/-1/-1/1/25000"
 
}
 
}
</source>
+
</source>}}
}}
 
  
 
==Format==
 
==Format==

Revision as of 04:33, 4 October 2019

Index

This page explains how the game stores and parses Furniture data. This is an advanced guide for mod developers.

Raw data

Furniture is stored in Content\Data\Furniture.xnb, which can be unpacked for editing. Here's the raw data as of 1.3.36 for reference:

Data 
{
  "0": "Oak Chair/chair/-1/-1/4/350",
  "3": "Walnut Chair/chair/-1/-1/4/350",
  "6": "Birch Chair/chair/-1/-1/4/350",
  "9": "Mahogany Chair/chair/-1/-1/4/1000",
  "12": "Red Diner Chair/chair/-1/-1/4/750",
  "15": "Blue Diner Chair/chair/-1/-1/4/750",
  "18": "Country Chair/chair/-1/-1/4/750",
  "21": "Breakfast Chair/chair/-1/-1/4/750",
  "24": "Pink Office Chair/chair/-1/-1/4/500",
  "27": "Purple Office Chair/chair/-1/-1/4/500",
  "30": "Green Office Stool/chair/-1/-1/1/350",
  "31": "Orange Office Stool/chair/-1/-1/1/350",
  "64": "Dark Throne/chair/-1/-1/4/2000",
  "67": "Dining Chair/chair/-1/-1/4/1200",
  "70": "Dining Chair/chair/-1/-1/4/1200",
  "73": "Green Plush Seat/chair/-1/-1/4/750",
  "76": "Pink Plush Seat/chair/-1/-1/4/750",
  "79": "Winter Chair/chair/-1/-1/4/750",
  "82": "Groovy Chair/chair/-1/-1/4/750",
  "85": "Cute Chair/chair/-1/-1/4/1200",
  "88": "Stump Seat/chair/-1/-1/4/2000",
  "91": "Metal Chair/chair/-1/-1/4/800",
  "94": "Green Stool/chair/-1/-1/1/350",
  "95": "Blue Stool/chair/-1/-1/1/350",
  "128": "King Chair/chair/-1/-1/4/3000",
  "131": "Crystal Chair/chair/-1/-1/4/3000",
  "192": "Oak Bench/bench/-1/-1/4/750",
  "197": "Walnut Bench/bench/-1/-1/4/750",
  "202": "Birch Bench/bench/-1/-1/4/750",
  "207": "Mahogany Bench/bench/-1/-1/4/2000",
  "212": "Modern Bench/bench/-1/-1/4/2000",
  "288": "Blue Armchair/armchair/-1/-1/4/1000",
  "294": "Red Armchair/armchair/-1/-1/4/1000",
  "300": "Green Armchair/armchair/-1/-1/4/1000",
  "306": "Yellow Armchair/armchair/-1/-1/4/1000",
  "312": "Brown Armchair/armchair/-1/-1/4/1000",
  "416": "Blue Couch/couch/-1/-1/4/1750",
  "424": "Red Couch/couch/-1/-1/4/1750",
  "432": "Green Couch/couch/-1/-1/4/1750",
  "440": "Yellow Couch/couch/-1/-1/4/1750",
  "512": "Brown Couch/couch/-1/-1/4/1750",
  "520": "Dark Couch/couch/-1/-1/4/2500",
  "528": "Wizard Couch/couch/-1/-1/4/4000",
  "536": "Woodsy Couch/couch/-1/-1/4/3000",
  "704": "Oak Dresser/dresser/-1/-1/4/1000",
  "709": "Walnut Dresser/dresser/-1/-1/4/1000",
  "714": "Birch Dresser/dresser/-1/-1/4/1000",
  "719": "Mahogany Dresser/dresser/-1/-1/4/2000",
  "724": "Coffee Table/table/2 2/2 1/2/1250",
  "727": "Stone Slab/table/2 2/2 1/2/1000",
  "800": "Winter Dining Table/long table/-1/-1/2/3500",
  "807": "Festive Dining Table/long table/-1/-1/2/3500",
  "814": "Mahogany Dining Table/long table/-1/-1/2/3000",
  "821": "Modern Dining Table/long table/-1/-1/2/2700",
  "1120": "Oak Table/table/-1/-1/1/750",
  "1122": "Walnut Table/table/-1/-1/1/750",
  "1124": "Birch Table/table/-1/-1/1/750",
  "1126": "Mahogany Table/table/-1/-1/1/1500",
  "1128": "Sun Table/table/-1/-1/1/2500",
  "1130": "Moon Table/table/-1/-1/1/2500",
  "1132": "Modern Table/table/-1/-1/1/1250",
  "1134": "Pub Table/table/-1/-1/1/800",
  "1136": "Luxury Table/table/-1/-1/1/2000",
  "1138": "Diviner Table/table/-1/-1/1/2250",
  "1140": "Neolithic Table/table/-1/-1/1/1800",
  "1142": "Puzzle Table/table/-1/-1/1/1500",
  "1144": "Winter Table/table/-1/-1/1/1250",
  "1146": "Candy Table/table/-1/-1/1/1000",
  "1148": "Luau Table/table/-1/-1/1/1000",
  "1150": "Dark Table/table/-1/-1/1/2000",
  "1216": "Oak Tea-Table/table/2 2/-1/1/750",
  "1218": "Walnut Tea-Table/table/2 2/-1/1/750",
  "1220": "Birch Tea-Table/table/2 2/-1/1/750",
  "1222": "Mahogany Tea-Table/table/2 2/-1/1/1500",
  "1224": "Modern Tea-Table/table/2 2/-1/1/1000",
  "1226": "Furniture Catalogue/table/2 2/-1/1/200000",
  "1280": "China Cabinet/other/3 3/3 1/1/6000",
  "1283": "Artist Bookcase/bookcase/-1/-1/1/1200",
  "1285": "Luxury Bookcase/bookcase/-1/-1/1/2000",
  "1287": "Modern Bookcase/bookcase/-1/-1/1/1600",
  "1289": "Dark Bookcase/bookcase/-1/-1/1/2000",
  "1291": "Ceramic Pillar/decor/1 3/1 1/1/250",
  "1292": "Gold Pillar/decor/1 3/1 1/1/450",
  "1293": "Industrial Pipe/decor/1 3/1 1/1/300",
  "1294": "Indoor Palm/decor/1 3/1 1/1/600",
  "1295": "Totem Pole/decor/1 3/1 1/1/750",
  "1296": "Manicured Pine/decor/1 3/1 1/1/500",
  "1297": "Topiary Tree/decor/1 3/1 1/1/500",
  "1298": "Standing Geode/decor/1 2/1 1/1/500",
  "1299": "Obsidian Vase/decor/1 2/1 1/1/500",
  "1300": "Singing Stone/decor/1 2/1 1/1/500",
  "1301": "Sloth Skeleton L/decor/1 2/1 1/1/500",
  "1302": "Sloth Skeleton M/decor/1 2/1 1/1/500",
  "1303": "Sloth Skeleton R/decor/1 2/1 1/1/500",
  "1304": "Skeleton/decor/1 2/1 1/1/500",
  "1305": "Chicken Statue/decor/1 2/1 1/1/500",
  "1306": "Leah's Sculpture/decor/1 2/1 1/1/500",
  "1307": "Dried Sunflowers/decor/1 2/1 1/1/500",
  "1308": "Catalogue/decor/1 2/1 1/1/30000",
  "1362": "Small Plant/decor/1 1/1 1/1/250",
  "1363": "Table Plant/decor/1 1/1 1/1/250",
  "1364": "Decorative Bowl/decor/1 1/1 1/1/250",
  "1365": "Futan Bear/decor/1 1/1 1/1/1500",
  "1366": "Globe/decor/1 1/1 1/1/750",
  "1367": "Model Ship/decor/1 1/1 1/1/750",
  "1368": "Small Crystal/decor/1 1/1 1/1/750",
  "1369": "Decorative Lantern/decor/1 1/1 1/1/500",
  "1376": "House Plant/decor/1 2/1 1/1/250",
  "1377": "House Plant/decor/1 2/1 1/1/250",
  "1378": "House Plant/decor/1 2/1 1/1/250",
  "1379": "House Plant/decor/1 2/1 1/1/250",
  "1380": "House Plant/decor/1 2/1 1/1/250",
  "1381": "House Plant/decor/1 2/1 1/1/250",
  "1382": "House Plant/decor/1 2/1 1/1/250",
  "1383": "House Plant/decor/1 2/1 1/1/250",
  "1384": "House Plant/decor/1 2/1 1/1/250",
  "1385": "House Plant/decor/1 2/1 1/1/250",
  "1386": "House Plant/decor/1 2/1 1/1/250",
  "1387": "House Plant/decor/1 2/1 1/1/250",
  "1388": "House Plant/decor/1 2/1 1/1/250",
  "1389": "House Plant/decor/1 2/1 1/1/250",
  "1390": "House Plant/decor/1 2/1 1/1/250",
  "1391": "Oak End Table/table/1 2/1 1/2/500",
  "1393": "Walnut End Table/table/1 2/1 1/2/500",
  "1395": "Birch End Table/table/1 2/1 1/2/500",
  "1397": "Mahogany End Table/table/1 2/1 1/2/1000",
  "1399": "Modern End Table/table/1 2/1 1/1/800",
  "1400": "Grandmother End Table/table/1 2/1 1/1/1000",
  "1401": "Winter End Table/table/1 2/1 1/1/800",
  "1402": "Calendar/painting/1 2/1 2/1/2000",
  "1440": "Tree of the Winter Star/decor/3 5/3 2/1/5000",
  "1443": "Country Lamp/lamp/-1/-1/1/500",
  "1445": "Box Lamp/lamp/-1/-1/1/750",
  "1447": "Modern Lamp/lamp/-1/-1/1/750",
  "1449": "Classic Lamp/lamp/-1/-1/1/1000",
  "1451": "Red Rug/rug/-1/-1/2/1000",
  "1456": "Patchwork Rug/rug/-1/-1/2/800",
  "1461": "Dark Rug/rug/-1/-1/2/2000",
  "1466": "Budget TV/decor/2 3/2 2/1/750",
  "1468": "Plasma TV/decor/3 3/3 1/1/4500",
  "1539": "'The Muzzamaroo'/painting/-1/-1/1/1000",
  "1541": "'A Night On Eco-Hill'/painting/-1/-1/1/1000",
  "1543": "'Pathways'/painting/-1/-1/1/750",
  "1545": "'Burnt Offering'/painting/-1/-1/1/1000",
  "1547": "'Queen of the Gem Sea'/painting/3 2/3 2/1/1200",
  "1550": "'Vanilla Villa'/painting/-1/-1/1/500",
  "1552": "'Primal Motion'/painting/-1/-1/1/1500",
  "1554": "'Jade Hills'/painting/3 2/3 2/1/1750",
  "1557": "'Sun #44'/painting/-1/-1/1/800",
  "1559": "Wallflower Pal/painting/-1/-1/1/500",
  "1561": "'Spires'/painting/-1/-1/1/800",
  "1563": "'Highway 89'/painting/-1/-1/1/800",
  "1565": "Calico Falls/painting/-1/-1/1/750",
  "1567": "Needlepoint Flower/painting/1 2/1 2/1/500",
  "1600": "Skull Poster/painting/1 2/1 2/1/500",
  "1601": "'Sun #45'/painting/1 2/1 2/1/350",
  "1602": "'Little Tree'/painting/1 2/1 2/1/350",
  "1603": "'Blueberries'/painting/1 2/1 2/1/250",
  "1604": "'Blue City'/painting/1 2/1 2/1/250",
  "1605": "Little Photos/painting/1 2/1 2/1/250",
  "1606": "'Dancing Grass'/painting/1 2/1 2/1/400",
  "1607": "'VGA Paradise'/painting/2 2/2 2/1/1200",
  "1609": "J. Cola Light/painting/3 2/3 2/1/1000",
  "1612": "'Kitemaster '95'/painting/-1/-1/1/600",
  "1614": "Basic Window/window/-1/-1/1/300",
  "1616": "Small Window/window/-1/-1/1/300",
  "1618": "Red Cottage Rug/rug/-1/-1/2/750",
  "1623": "Green Cottage Rug/rug/-1/-1/2/750",
  "1628": "Monster Rug/rug/2 2/2 2/1/1250",
  "1630": "Boarded Window/painting/1 2/1 2/1/400",
  "1664": "Mystic Rug/rug/-1/-1/2/1250",
  "1669": "Lg. Futan Bear/decor/2 2/2 1/1/4000",
  "1733": "Junimo Plush/decor/2 2/2 1/1/4000",
  "1671": "Bear Statue/decor/2 4/2 1/1/4000",
  "1673": "Porthole/window/-1/-1/1/700",
  "1675": "Anchor/painting/1 2/1 2/1/750",
  "1676": "World Map/painting/-1/-1/1/500",
  "1678": "Ornate Window/window/-1/-1/1/900",
  "1680": "Floor TV/decor/2 2/2 1/1/700",
  "1682": "Carved Window/window/-1/-1/1/900",
  "1737": "Nautical Rug/rug/-1/-1/2/1250",
  "1742": "Burlap Rug/rug/2 2/2 2/1/350",
  "1744": "Tree Column/decor/1 3/1 1/1/1000",
  "1745": "L. Light String/painting/2 1/2 1/1/400",
  "1747": "S. Pine/decor/1 2/1 1/1/500",
  "1748": "Bonsai Tree/decor/1 2/1 1/1/800",
  "1749": "Metal Window/window/-1/-1/1/800",
  "1751": "Candle Lamp/lamp/-1/-1/1/1000",
  "1753": "Miner's Crest/painting/2 2/2 2/1/1000",
  "1755": "Bamboo Mat/rug/2 1/2 1/2/250",
  "1758": "Ornate Lamp/lamp/-1/-1/1/1050",
  "1777": "Woodcut Rug/rug/2 2/2 2/1/800",
  "1811": "Hanging Shield/painting/1 1/1 1/1/500",
  "1812": "Monster Danglers/painting/2 1/2 1/1/1000",
  "1814": "Ceiling Flags/painting/1 1/1 1/1/50",
  "1838": "'Red Eagle'/painting/-1/-1/1/1000",
  "1840": "'Portrait Of A Mermaid'/painting/-1/-1/1/1000",
  "1842": "'Solar Kingdom'/painting/-1/-1/1/1000",
  "1844": "'Clouds'/painting/-1/-1/1/1000",
  "1846": "'1000 Years From Now'/painting/-1/-1/1/1000",
  "1848": "'Three Trees'/painting/-1/-1/1/1000",
  "1850": "'The Serpent'/painting/-1/-1/1/1000",
  "1852": "'Tropical Fish #173'/painting/-1/-1/1/1000",
  "1854": "'Land Of Clay'/painting/-1/-1/1/1000",
  "1792": "Brick Fireplace/fireplace/-1/-1/1/1000",
  "1794": "Stone Fireplace/fireplace/-1/-1/1/1500",
  "1796": "Iridium Fireplace/fireplace/-1/-1/1/15000",
  "1798": "Stove Fireplace/fireplace/-1/-1/1/3000",
  "1800": "Monster Fireplace/fireplace/-1/-1/1/25000"
}

Format

Index Field Example Value
0 Name S. Pine
1 Type decor
2 source rectangle (width × height) 1 2
3 Bounding Box (width × height) 1 1
4 Rotations 1
5 Price 500
6 Name (in language files other than English) Minipino

Values of "-1" in the Source Rectangle and Bounding Box fields correspond to the default values for the furniture type, calculated in Furniture.cs::getDefaultSourceRectForType() and Furniture.cs::getDefaultBoundingBoxForType(). These functions use numbers that correspond to furniture type, also defined in Furniture.cs:

  • chair = 0
  • bench = 1
  • couch = 2
  • armchair = 3
  • dresser = 4
  • longTable = 5
  • painting = 6
  • lamp = 7
  • decor = 8
  • other = 9
  • bookcase = 10
  • table = 11
  • rug = 12
  • window = 13