Line 295: |
Line 295: |
| With the {{nexus mod|3101|Console Code}} mod installed, you can run this command in the SMAPI console to see a list of objects by category: | | With the {{nexus mod|3101|Console Code}} mod installed, you can run this command in the SMAPI console to see a list of objects by category: |
| | | |
− | <pre>cs return string.Join(`\n`, Game1.objectInformation.Keys.Select(key => new StardewValley.Object(key, 1)).GroupBy(item => item.Category, item => item.Name).OrderByDescending(p => p.Key).Select(p => $`{p.Key}: {string.Join(`, `, p.OrderBy(name => name))}`));</pre> | + | <pre>cs return string.Join(`\n`, Game1.objectData.Keys.Select(key => new StardewValley.Object(key, 1)).GroupBy(item => item.Category, item => item.Name).OrderByDescending(p => p.Key).Select(p => $`{p.Key}: {string.Join(`, `, p.OrderBy(name => name))}`));</pre> |
| }} | | }} |
| | | |
Line 513: |
Line 513: |
| |- | | |- |
| | <samp>Type</samp> | | | <samp>Type</samp> |
− | | The item's general type, like <c>Arch</c> (artifact) or <c>Minerals</c>. | + | | The item's general type, like <samp>Arch</samp> (artifact) or <samp>Minerals</samp>. The vanilla types are: Litter, Basic, Minerals, Quest, asdf, Crafting, Arch, fish, Cooking, Seeds, Ring, interactive |
| |- | | |- |
| | <samp>Category</samp> | | | <samp>Category</samp> |
Line 972: |
Line 972: |
| </syntaxhighlight> | | </syntaxhighlight> |
| | | |
− | For each entry in the data asset, the key is the item's <samp>ParentSheetIndex</samp> and the value is a slash-delimited string with these fields: | + | Hats from the base game use the hat's <samp>ParentSheetIndex</samp> as its item ID. |
| + | For each entry in the data asset, the key is the hat's item ID, and the value is a slash-delimited string with these fields: |
| | | |
| {| class="wikitable" | | {| class="wikitable" |
Line 982: |
Line 983: |
| | 0 | | | 0 |
| | name | | | name |
− | | The internal item name (and display name in English). | + | | The internal item name. |
| |- | | |- |
| | 1 | | | 1 |
Line 997: |
Line 998: |
| |- | | |- |
| | 4 | | | 4 |
| + | | tags |
| + | | A space-separated list of "tags". These are separate from context tags, and used to contain miscellaneous information. Currently, the only tag used by the game is <samp>Prismatic</samp>, which marks a hat as prismatic and causes it to cycle through colors. |
| + | |- |
| + | | 5 |
| | display name | | | display name |
− | | The translated item name shown in-game (for non-English assets only). | + | | The translated item name shown in-game. |
| + | |- |
| + | | 6 |
| + | | sprite index |
| + | | The index in the hat spritesheet used to display this hat. |
| + | |- |
| + | | 7 |
| + | | texture name |
| + | | The name of the game texture to use for the hat. If empty, the game will use the default hat sheet <samp>Characters/Farmer/hats</samp> |
| |} | | |} |
| | | |
− | Hats have a hard-coded category of -95 (<samp>Hats.cs::Load</samp>) | + | Hats have a hard-coded category of -95 (<samp>HatDataDefinition.cs::GetData</samp>) |
| | | |
| ==Tools== | | ==Tools== |
Line 1,170: |
Line 1,183: |
| {{History|1.6|Objects are now stored in <samp>Data/Objects</samp> rather than <samp>Data/ObjectInformation</samp> and have a new format.}} | | {{History|1.6|Objects are now stored in <samp>Data/Objects</samp> rather than <samp>Data/ObjectInformation</samp> and have a new format.}} |
| {{History|1.6|Field 4 of hats is now used for tags, rather than displayName.}} | | {{History|1.6|Field 4 of hats is now used for tags, rather than displayName.}} |
| + | {{History|1.6|Display name field is now used for all languages.}} |
| + | {{History|1.6|Added Texture & texture index fields to all object data.}} |
| + | {{History|1.6|All types of items now use string IDs.}} |