diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/SMAPI.Mods.ConsoleCommands/Framework/ItemRepository.cs | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/src/SMAPI.Mods.ConsoleCommands/Framework/ItemRepository.cs b/src/SMAPI.Mods.ConsoleCommands/Framework/ItemRepository.cs index a96a842c..5884d28a 100644 --- a/src/SMAPI.Mods.ConsoleCommands/Framework/ItemRepository.cs +++ b/src/SMAPI.Mods.ConsoleCommands/Framework/ItemRepository.cs @@ -61,8 +61,25 @@ namespace StardewModdingAPI.Mods.ConsoleCommands.Framework yield return this.TryCreate(ItemType.Tool, this.CustomIDOffset + 3, _ => new Wand()); // clothing - foreach (int id in Game1.clothingInformation.Keys) - yield return this.TryCreate(ItemType.Clothing, id, p => new Clothing(p.ID)); + { + // items + HashSet<int> clothingIds = new HashSet<int>(); + foreach (int id in Game1.clothingInformation.Keys) + { + if (id < 0) + continue; // placeholder data for character customization clothing below + + clothingIds.Add(id); + yield return this.TryCreate(ItemType.Clothing, id, p => new Clothing(p.ID)); + } + + // character customization shirts (some shirts in this range have no data, but game has special logic to handle them) + for (int id = 1000; id <= 1111; id++) + { + if (!clothingIds.Contains(id)) + yield return this.TryCreate(ItemType.Clothing, id, p => new Clothing(p.ID)); + } + } // wallpapers for (int id = 0; id < 112; id++) |