summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/SMAPI.Mods.ConsoleCommands/Framework/ItemRepository.cs21
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++)