Modding:Achievement data

From Stardew Valley Wiki
Revision as of 23:15, 5 October 2017 by Margotbean (talk | contribs) (parsing info)
Jump to navigation Jump to search

Index

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

Raw data

Objects are stored in Content\Data\Achievements.xnb, which can be unpacked using XNB Extract. Here's the raw data (as of v1.2) for reference:

content:  #!Dictionary<Int32,String>
    0: "Greenhorn (15k)^Earn 15,000g^true^-1^18" #!String
    1: "Cowpoke (50k)^Earn 50,000g^true^0^21" #!String
    2: "Homesteader (250k)^Earn 250,000g^true^1^20" #!String
    3: "Millionaire (1mil)^Earn 1,000,000g^true^2^1" #!String
    4: "Legend (10mil)^Earn 10,000,000g^false^-1^3" #!String
    5: "A Complete Collection^Complete the museum collection.^true^28^0" #!String
    6: "A New Friend^Reach a 5-heart friend level with someone.^true^-1^14" #!String
    7: "Best Friends^Reach a 10-heart friend level with someone.^true^6^31" #!String
    9: "The Beloved Farmer^Reach a 10-heart friend level with 8 people.^true^7^32" #!String
    11: "Cliques^Reach a 5-heart friend level with 4 people.^true^6^26" #!String
    12: "Networking^Reach a 5-heart friend level with 10 people.^true^11^25" #!String
    13: "Popular^Reach a 5-heart friend level with 20 people.^true^12^11" #!String
    15: "Cook^Cook 10 different recipes.^true^18^12" #!String
    16: "Sous Chef^Cook 25 different recipes.^true^15^7" #!String
    17: "Gourmet Chef^Cook every recipe.^true^16^35" #!String
    18: "Moving Up^Upgrade your house.^true^-1^13" #!String
    19: "Living Large^Upgrade your house to the maximum size.^true^18^15" #!String
    20: "D.I.Y.^Craft 15 different items.^true^-1^29" #!String
    21: "Artisan^Craft 30 different items.^true^20^16" #!String
    22: "Craft Master^Craft every item.^true^21^23" #!String
    24: "Fisherman^Catch 10 different fish.^true^-1^28" #!String
    25: "Ol' Mariner^Catch 24 different fish.^true^24^5" #!String
    26: "Master Angler^Catch every fish.^true^25^24" #!String
    27: "Mother Catch^Catch 100 fish.^true^64^30" #!String
    28: "Treasure Trove^Donate 40 different items to the museum.^true^-1^6" #!String
    29: "Gofer^Complete 10 'Help Wanted' requests.^true^-1^22" #!String
    30: "A Big Help^Complete 40 'Help Wanted' requests.^true^29^10" #!String
    31: "Polyculture^Ship 15 of each crop.^true^-1^34" #!String
    32: "Monoculture^Ship 300 of one crop.^true^-1^33" #!String
    34: "Full Shipment^Ship every item.^true^-1^9" #!String

Format

Index Field Example Value
0 name Moving Up
1 description Upgrade your house.
2 display achievement on collections tab before it's earned true
3 prerequisite achievement -1
4 hat earned (index from hats.xnb) 13

If index 2 is "true" and index 3 is "-1" then the achievement star will be displayed on the collections tab (greyed out if not yet achieved). Otherwise, index 3 shows the number of the achievement that must be earned before the achievement will be displayed on the Collections tab. (Example: you must earn achievement 28 "Treasure Trove" before achievement 5 "A Complete Collection" will be displayed.)

The only achievement with a value of "false" in index 2 is the secret achievement that doesn't display until it's earned.

For a list of hats, see Hat data.