stardew-valley-data 0.32.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,22 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project
6
6
  adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.0.0] - 2026-04-05
9
+
10
+ ### Added
11
+
12
+ - `rarecrows` module — `RarecrowQuery` class and `rarecrows()` factory exposing all 8 rarecrows with
13
+ `number`, `name`, `image`, and `obtain` fields; `sortByNumber()` sort method
14
+ - `SaveData.rarecrows: SaveRarecrows` — parses all placed rarecrow item IDs from the save file,
15
+ including rarecrows stored inside chests and building interior objects
16
+ - `SaveRarecrows` interface (`placed: string[]`) exported from `save-file`
17
+
18
+ ## [0.33.0] - 2026-04-04
19
+
20
+ ### Added
21
+
22
+ - Prices now available on hats data when applicable.
23
+
8
24
  ## [0.32.0] - 2026-03-29
9
25
 
10
26
  ### Breaking Changes
package/README.md CHANGED
@@ -12,12 +12,6 @@
12
12
 
13
13
  ---
14
14
 
15
- > **Pre-1.0 Notice:** This package is under active development. Breaking changes to the save file
16
- > parser structure, data types, and other APIs may occur in any release before `1.0.0`. Pin your
17
- > version or review the [Change Log](CHANGELOG.md) before upgrading.
18
-
19
- ---
20
-
21
15
  ## 📦 Installation
22
16
 
23
17
  ```bash
package/data/hats.json CHANGED
@@ -18,7 +18,8 @@
18
18
  "name": "Archer's Cap",
19
19
  "description": "Fashionable whether you're an archer or not.",
20
20
  "obtain": "Cook every recipe (Gourmet Chef achievement)",
21
- "image": "images/hats/Archer's Cap.png"
21
+ "image": "images/hats/Archer's Cap.png",
22
+ "price": 4000
22
23
  },
23
24
  {
24
25
  "id": "53",
@@ -39,7 +40,8 @@
39
40
  "name": "Blue Bonnet",
40
41
  "description": "Harken back to simpler times with this prairie bonnet.",
41
42
  "obtain": "Donate 40 items to Museum (Treasure Trove achievement)",
42
- "image": "images/hats/Blue Bonnet.png"
43
+ "image": "images/hats/Blue Bonnet.png",
44
+ "price": 1000
43
45
  },
44
46
  {
45
47
  "id": "BlueBow",
@@ -60,7 +62,8 @@
60
62
  "name": "Blue Ribbon",
61
63
  "description": "A lovely ribbon that sits behind the head.",
62
64
  "obtain": "Get 1st place at Stardew Valley Fair competition",
63
- "image": "images/hats/Blue Ribbon.png"
65
+ "image": "images/hats/Blue Ribbon.png",
66
+ "price": 1000
64
67
  },
65
68
  {
66
69
  "id": "80",
@@ -74,7 +77,8 @@
74
77
  "name": "Bowler Hat",
75
78
  "description": "Made from smooth felt.",
76
79
  "obtain": "Earn 1,000,000g (Millionaire achievement)",
77
- "image": "images/hats/Bowler Hat.png"
80
+ "image": "images/hats/Bowler Hat.png",
81
+ "price": 10000
78
82
  },
79
83
  {
80
84
  "id": "69",
@@ -95,28 +99,32 @@
95
99
  "name": "Butterfly Bow",
96
100
  "description": "This one is very soft.",
97
101
  "obtain": "Reach 5-heart friendship level with someone (A New Friend achievement)",
98
- "image": "images/hats/Butterfly Bow.png"
102
+ "image": "images/hats/Butterfly Bow.png",
103
+ "price": 1000
99
104
  },
100
105
  {
101
106
  "id": "32",
102
107
  "name": "Cat Ears",
103
108
  "description": "Whiskers included.",
104
109
  "obtain": "Reach 10-heart friendship with 8 people (The Beloved Farmer achievement)",
105
- "image": "images/hats/Cat Ears.png"
110
+ "image": "images/hats/Cat Ears.png",
111
+ "price": 5000
106
112
  },
107
113
  {
108
114
  "id": "61",
109
115
  "name": "Chef Hat",
110
116
  "description": "The traditional hat worn by a head chef.",
111
117
  "obtain": "Cook every recipe (Gourmet Chef achievement)",
112
- "image": "images/hats/Chef Hat.png"
118
+ "image": "images/hats/Chef Hat.png",
119
+ "price": 10000
113
120
  },
114
121
  {
115
122
  "id": "10",
116
123
  "name": "Chicken Mask",
117
124
  "description": "You'll be sure to get them grinning with this one.",
118
125
  "obtain": "Complete 40 Help Wanted requests (A Big Help achievement)",
119
- "image": "images/hats/Chicken Mask.png"
126
+ "image": "images/hats/Chicken Mask.png",
127
+ "price": 2000
120
128
  },
121
129
  {
122
130
  "id": "concerned-ape-hat",
@@ -137,7 +145,8 @@
137
145
  "name": "Cool Cap",
138
146
  "description": "It looks really faded, but it used to be a vibrant blue.",
139
147
  "obtain": "Earn 250,000g (Homesteader achievement)",
140
- "image": "images/hats/Cool Cap.png"
148
+ "image": "images/hats/Cool Cap.png",
149
+ "price": 5000
141
150
  },
142
151
  {
143
152
  "id": "copper-pan-hat",
@@ -151,28 +160,32 @@
151
160
  "name": "Cowboy Hat",
152
161
  "description": "The leather is old and cracked, but surprisingly supple. It smells musty.",
153
162
  "obtain": "Complete museum collection (A Complete Collection achievement)",
154
- "image": "images/hats/Cowboy Hat.png"
163
+ "image": "images/hats/Cowboy Hat.png",
164
+ "price": 10000
155
165
  },
156
166
  {
157
167
  "id": "33",
158
168
  "name": "Cowgal Hat",
159
169
  "description": "The band is studded with fake diamonds.",
160
170
  "obtain": "Ship 300 of one crop (Monoculture achievement)",
161
- "image": "images/hats/Cowgal Hat.png"
171
+ "image": "images/hats/Cowgal Hat.png",
172
+ "price": 5000
162
173
  },
163
174
  {
164
175
  "id": "34",
165
176
  "name": "Cowpoke Hat",
166
177
  "description": "For dairy experts.",
167
178
  "obtain": "Ship 15 of each crop (Polyculture achievement)",
168
- "image": "images/hats/Cowpoke Hat.png"
179
+ "image": "images/hats/Cowpoke Hat.png",
180
+ "price": 5000
169
181
  },
170
182
  {
171
183
  "id": "29",
172
184
  "name": "Daisy",
173
185
  "description": "A fresh spring daisy to put in your hair.",
174
186
  "obtain": "Craft 15 different items (D.I.Y. achievement)",
175
- "image": "images/hats/Daisy.png"
187
+ "image": "images/hats/Daisy.png",
188
+ "price": 1000
176
189
  },
177
190
  {
178
191
  "id": "DarkBallcap",
@@ -200,7 +213,8 @@
200
213
  "name": "Delicate Bow",
201
214
  "description": "Little pink jewels glisten as you examine it.",
202
215
  "obtain": "Cook 10 different recipes (Cook achievement)",
203
- "image": "images/hats/Delicate Bow.png"
216
+ "image": "images/hats/Delicate Bow.png",
217
+ "price": 1000
204
218
  },
205
219
  {
206
220
  "id": "81",
@@ -228,14 +242,16 @@
228
242
  "name": "Earmuffs",
229
243
  "description": "Keep your ears toasty. Lined with artisanal velvet from Castle Village.",
230
244
  "obtain": "Reach 5-heart friendship with 20 people (Popular achievement)",
231
- "image": "images/hats/Earmuffs.png"
245
+ "image": "images/hats/Earmuffs.png",
246
+ "price": 4000
232
247
  },
233
248
  {
234
249
  "id": "64",
235
250
  "name": "Elegant Turban",
236
251
  "description": "A fine black silk turban with gold trim.",
237
252
  "obtain": "Earn all other achievements",
238
- "image": "images/hats/Elegant Turban.png"
253
+ "image": "images/hats/Elegant Turban.png",
254
+ "price": 50000
239
255
  },
240
256
  {
241
257
  "id": "41",
@@ -249,7 +265,8 @@
249
265
  "name": "Eye Patch",
250
266
  "description": "You can't tell if it's real or just from a costume shop.",
251
267
  "obtain": "Catch every fish (Master Angler achievement)",
252
- "image": "images/hats/Eye Patch.png"
268
+ "image": "images/hats/Eye Patch.png",
269
+ "price": 5000
253
270
  },
254
271
  {
255
272
  "id": "47",
@@ -319,14 +336,16 @@
319
336
  "name": "Gnome's Cap",
320
337
  "description": "This gnome had a very large head.",
321
338
  "obtain": "Craft every item (Craft Master achievement)",
322
- "image": "images/hats/Gnome's Cap.png"
339
+ "image": "images/hats/Gnome's Cap.png",
340
+ "price": 5000
323
341
  },
324
342
  {
325
343
  "id": "9",
326
344
  "name": "Goblin Mask",
327
345
  "description": "Freak out the neighborhood with this creepy mask. Rubber ear joints for effect.",
328
346
  "obtain": "Ship every item (Full Shipment achievement)",
329
- "image": "images/hats/Goblin Mask.png"
347
+ "image": "images/hats/Goblin Mask.png",
348
+ "price": 10000
330
349
  },
331
350
  {
332
351
  "id": "89",
@@ -361,14 +380,16 @@
361
380
  "name": "Good Ol' Cap",
362
381
  "description": "A floppy old topper with a creased bill. Looks like it's been through a lot.",
363
382
  "obtain": "Earn 15,000g (Greenhorn achievement)",
364
- "image": "images/hats/Good Ol' Cap.png"
383
+ "image": "images/hats/Good Ol' Cap.png",
384
+ "price": 1000
365
385
  },
366
386
  {
367
387
  "id": "GovernorsHat",
368
388
  "name": "Governor's Hat",
369
389
  "description": "A replica of the Governor's iconic hat.",
370
390
  "obtain": "Delight the Governor at Luau (An Unforgettable Soup achievement)",
371
- "image": "images/hats/Governor's Hat.png"
391
+ "image": "images/hats/Governor's Hat.png",
392
+ "price": 5000
372
393
  },
373
394
  {
374
395
  "id": "72",
@@ -396,14 +417,16 @@
396
417
  "name": "Hunter's Cap",
397
418
  "description": "The wool lining should stay warm deep into the forest.",
398
419
  "obtain": "Upgrade house to maximum size (Living Large achievement)",
399
- "image": "images/hats/Hunter's Cap.png"
420
+ "image": "images/hats/Hunter's Cap.png",
421
+ "price": 5000
400
422
  },
401
423
  {
402
424
  "id": "InfinityCrown",
403
425
  "name": "Infinity Crown",
404
426
  "description": "It's made from an exotic metal you've never seen before.",
405
427
  "obtain": "Obtain most powerful weapon (Infinite Power achievement)",
406
- "image": "images/hats/Infinity Crown.png"
428
+ "image": "images/hats/Infinity Crown.png",
429
+ "price": 20000
407
430
  },
408
431
  {
409
432
  "id": "iridium-pan-hat",
@@ -417,7 +440,8 @@
417
440
  "name": "Jester Hat",
418
441
  "description": "Put your inner clown on display.",
419
442
  "obtain": "See a movie (Two Thumbs Up achievement)",
420
- "image": "images/hats/Jester Hat.png"
443
+ "image": "images/hats/Jester Hat.png",
444
+ "price": 25000
421
445
  },
422
446
  {
423
447
  "id": "JojaCap",
@@ -431,7 +455,8 @@
431
455
  "name": "Junimo Hat",
432
456
  "description": "To honor our little buddies...",
433
457
  "obtain": "Reach Perfection and visit the Summit",
434
- "image": "images/hats/Junimo Hat.png"
458
+ "image": "images/hats/Junimo Hat.png",
459
+ "price": 25000
435
460
  },
436
461
  {
437
462
  "id": "50",
@@ -473,7 +498,8 @@
473
498
  "name": "Lucky Bow",
474
499
  "description": "The middle is made of solid gold.",
475
500
  "obtain": "Earn 50,000g (Cowpoke achievement)",
476
- "image": "images/hats/Lucky Bow.png"
501
+ "image": "images/hats/Lucky Bow.png",
502
+ "price": 2000
477
503
  },
478
504
  {
479
505
  "id": "73",
@@ -494,7 +520,8 @@
494
520
  "name": "Mouse Ears",
495
521
  "description": "Made from synthetic fibers.",
496
522
  "obtain": "Reach 10-heart friendship with someone (Best Friends achievement)",
497
- "image": "images/hats/Mouse Ears.png"
523
+ "image": "images/hats/Mouse Ears.png",
524
+ "price": 2000
498
525
  },
499
526
  {
500
527
  "id": "82",
@@ -529,14 +556,16 @@
529
556
  "name": "Official Cap",
530
557
  "description": "Looks like it belonged to a postman or policeman. Either way, it's still very soft and smells okay.",
531
558
  "obtain": "Catch 24 different fish (Ol' Mariner achievement)",
532
- "image": "images/hats/Official Cap.png"
559
+ "image": "images/hats/Official Cap.png",
560
+ "price": 2000
533
561
  },
534
562
  {
535
563
  "id": "PageboyCap",
536
564
  "name": "Pageboy Cap",
537
565
  "description": "For some reason, it makes you want to sell newspapers.",
538
566
  "obtain": "Read every book (Well-Read achievement)",
539
- "image": "images/hats/Pageboy Cap.png"
567
+ "image": "images/hats/Pageboy Cap.png",
568
+ "price": 5000
540
569
  },
541
570
  {
542
571
  "id": "36",
@@ -550,7 +579,8 @@
550
579
  "name": "Paper Hat",
551
580
  "description": "It's made out of special paper that won't disintegrate in the rain.",
552
581
  "obtain": "Reach Ginger Island (A Distant Shore achievement)",
553
- "image": "images/hats/Paper Hat.png"
582
+ "image": "images/hats/Paper Hat.png",
583
+ "price": 10000
554
584
  },
555
585
  {
556
586
  "id": "party-hat-blue",
@@ -592,14 +622,16 @@
592
622
  "name": "Plum Chapeau",
593
623
  "description": "Looks alright.",
594
624
  "obtain": "Cook 25 different recipes (Sous Chef achievement)",
595
- "image": "images/hats/Plum Chapeau.png"
625
+ "image": "images/hats/Plum Chapeau.png",
626
+ "price": 2000
596
627
  },
597
628
  {
598
629
  "id": "22",
599
630
  "name": "Polka Bow",
600
631
  "description": "This one's sure to turn heads.",
601
632
  "obtain": "Complete 10 Help Wanted requests (Gofer achievement)",
602
- "image": "images/hats/Polka Bow.png"
633
+ "image": "images/hats/Polka Bow.png",
634
+ "price": 1000
603
635
  },
604
636
  {
605
637
  "id": "68",
@@ -655,14 +687,16 @@
655
687
  "name": "Sailor's Cap",
656
688
  "description": "It's fresh and starchy.",
657
689
  "obtain": "Win fishing competition at Festival of Ice",
658
- "image": "images/hats/Sailor's Cap.png"
690
+ "image": "images/hats/Sailor's Cap.png",
691
+ "price": 1000
659
692
  },
660
693
  {
661
694
  "id": "25",
662
695
  "name": "Santa Hat",
663
696
  "description": "Celebrate the magical season.",
664
697
  "obtain": "Reach 5-heart friendship with 10 people (Networking achievement)",
665
- "image": "images/hats/Santa Hat.png"
698
+ "image": "images/hats/Santa Hat.png",
699
+ "price": 2000
666
700
  },
667
701
  {
668
702
  "id": "8",
@@ -683,28 +717,32 @@
683
717
  "name": "Sombrero",
684
718
  "description": "A festively decorated hat made from woven straw.",
685
719
  "obtain": "Earn 10,000,000g (Legend achievement)",
686
- "image": "images/hats/Sombrero.png"
720
+ "image": "images/hats/Sombrero.png",
721
+ "price": 25000
687
722
  },
688
723
  {
689
724
  "id": "28",
690
725
  "name": "Sou'wester",
691
726
  "description": "The shape helps to keep sailors dry during storms.",
692
727
  "obtain": "Catch 10 different fish (Fisherman achievement)",
693
- "image": "images/hats/Sou'wester.png"
728
+ "image": "images/hats/Sou'wester.png",
729
+ "price": 1000
694
730
  },
695
731
  {
696
732
  "id": "SpaceHelmet",
697
733
  "name": "Space Helmet",
698
734
  "description": "Warning: This helmet has not actually been tested in outer space.",
699
735
  "obtain": "Reach bottom of dangerous mines (Danger In The Deep achievement)",
700
- "image": "images/hats/Space Helmet.png"
736
+ "image": "images/hats/Space Helmet.png",
737
+ "price": 20000
701
738
  },
702
739
  {
703
740
  "id": "SportsCap",
704
741
  "name": "Sports Cap",
705
742
  "description": "The cap has a vintage team logo on it.",
706
743
  "obtain": "Prize Machine at Mayor's Manor",
707
- "image": "images/hats/Sports Cap.png"
744
+ "image": "images/hats/Sports Cap.png",
745
+ "price": 1000
708
746
  },
709
747
  {
710
748
  "id": "52",
@@ -746,7 +784,8 @@
746
784
  "name": "Straw Hat",
747
785
  "description": "Light and cool, it's a farmer's delight.",
748
786
  "obtain": "Win egg hunt at Egg Festival",
749
- "image": "images/hats/Straw Hat.png"
787
+ "image": "images/hats/Straw Hat.png",
788
+ "price": 1000
750
789
  },
751
790
  {
752
791
  "id": "88",
@@ -767,7 +806,8 @@
767
806
  "name": "Tiara",
768
807
  "description": "This one has a big amethyst encircled by gold.",
769
808
  "obtain": "Reach 5-heart friendship with 4 people (Cliques achievement)",
770
- "image": "images/hats/Tiara.png"
809
+ "image": "images/hats/Tiara.png",
810
+ "price": 2000
771
811
  },
772
812
  {
773
813
  "id": "91",
@@ -802,14 +842,16 @@
802
842
  "name": "Tropiclip",
803
843
  "description": "It's shaped like a little palm tree.",
804
844
  "obtain": "Upgrade your house (Moving Up achievement)",
805
- "image": "images/hats/Tropiclip.png"
845
+ "image": "images/hats/Tropiclip.png",
846
+ "price": 1000
806
847
  },
807
848
  {
808
849
  "id": "16",
809
850
  "name": "Trucker Hat",
810
851
  "description": "Mesh in the back to keep your head cool.",
811
852
  "obtain": "Craft 30 different items (Artisan achievement)",
812
- "image": "images/hats/Trucker Hat.png"
853
+ "image": "images/hats/Trucker Hat.png",
854
+ "price": 2000
813
855
  },
814
856
  {
815
857
  "id": "93",
@@ -823,7 +865,8 @@
823
865
  "name": "Watermelon Band",
824
866
  "description": "The color scheme was inspired by the beloved summer melon.",
825
867
  "obtain": "Catch 100 fish (Mother Catch achievement)",
826
- "image": "images/hats/Watermelon Band.png"
868
+ "image": "images/hats/Watermelon Band.png",
869
+ "price": 1000
827
870
  },
828
871
  {
829
872
  "id": "46",
@@ -837,7 +880,8 @@
837
880
  "name": "White Bow",
838
881
  "description": "A bow as white as snow.",
839
882
  "obtain": "Help forest neighbors grow family (Good Neighbors achievement)",
840
- "image": "images/hats/White Bow.png"
883
+ "image": "images/hats/White Bow.png",
884
+ "price": 5000
841
885
  },
842
886
  {
843
887
  "id": "65",
@@ -0,0 +1,58 @@
1
+ [
2
+ {
3
+ "id": "110",
4
+ "number": 1,
5
+ "name": "Rarecrow 1",
6
+ "image": "images/scarecrows/Rarecrow 1.png",
7
+ "obtain": "Purchase at the Stardew Valley Fair for 800 Tokens."
8
+ },
9
+ {
10
+ "id": "113",
11
+ "number": 2,
12
+ "name": "Rarecrow 2",
13
+ "image": "images/scarecrows/Rarecrow 2.png",
14
+ "obtain": "Purchase at the Spirit's Eve festival for 5,000g."
15
+ },
16
+ {
17
+ "id": "126",
18
+ "number": 3,
19
+ "name": "Rarecrow 3",
20
+ "image": "images/scarecrows/Rarecrow 3.png",
21
+ "obtain": "Purchase at the Casino for 10,000 Qi Coins."
22
+ },
23
+ {
24
+ "id": "136",
25
+ "number": 4,
26
+ "name": "Rarecrow 4",
27
+ "image": "images/scarecrows/Rarecrow 4.png",
28
+ "obtain": "Purchase at the Traveling Cart randomly during fall or winter for 4,000g, or purchase at the Festival of Ice for 5,000g."
29
+ },
30
+ {
31
+ "id": "137",
32
+ "number": 5,
33
+ "name": "Rarecrow 5",
34
+ "image": "images/scarecrows/Rarecrow 5.png",
35
+ "obtain": "Purchase at the Flower Dance for 2,500g."
36
+ },
37
+ {
38
+ "id": "138",
39
+ "number": 6,
40
+ "name": "Rarecrow 6",
41
+ "image": "images/scarecrows/Rarecrow 6.png",
42
+ "obtain": "Purchase from the Dwarf for 2,500g."
43
+ },
44
+ {
45
+ "id": "139",
46
+ "number": 7,
47
+ "name": "Rarecrow 7",
48
+ "image": "images/scarecrows/Rarecrow 7.png",
49
+ "obtain": "Donate 20 Artifacts (not counting Minerals) to the Museum. Can be purchased from the Night Market once the first one is earned."
50
+ },
51
+ {
52
+ "id": "140",
53
+ "number": 8,
54
+ "name": "Rarecrow 8",
55
+ "image": "images/scarecrows/Rarecrow 8.png",
56
+ "obtain": "Donate 40 items to the Museum. Can be purchased from the Night Market once the first one is earned."
57
+ }
58
+ ]
package/dist/index.d.mts CHANGED
@@ -301,7 +301,7 @@ interface MonsterSlayerGoal {
301
301
  reward: SlayerReward;
302
302
  }
303
303
 
304
- type SearchResultKind = 'crop' | 'crop-seed' | 'fruit-tree' | 'fruit-tree-produce' | 'wild-tree' | 'wild-tree-seed' | 'wild-tree-tapper' | 'animal' | 'animal-produce' | 'artisan-good' | 'monster' | 'monster-loot' | 'ring' | 'tool' | 'weapon' | 'hat' | 'footwear' | 'forageable' | 'fish' | 'bait' | 'tackle' | 'cooked-dish' | 'artifact' | 'mineral' | 'geode' | 'mining-node' | 'mineral-resource' | 'crafting-recipe';
304
+ type SearchResultKind = 'crop' | 'crop-seed' | 'fruit-tree' | 'fruit-tree-produce' | 'wild-tree' | 'wild-tree-seed' | 'wild-tree-tapper' | 'animal' | 'animal-produce' | 'artisan-good' | 'monster' | 'monster-loot' | 'ring' | 'tool' | 'weapon' | 'hat' | 'footwear' | 'forageable' | 'fish' | 'bait' | 'tackle' | 'cooked-dish' | 'artifact' | 'mineral' | 'geode' | 'mining-node' | 'mineral-resource' | 'crafting-recipe' | 'rarecrow';
305
305
  interface SearchResult {
306
306
  kind: SearchResultKind;
307
307
  id: string;
@@ -581,6 +581,7 @@ interface Hat {
581
581
  description: string;
582
582
  obtain: string;
583
583
  image: string;
584
+ price?: number;
584
585
  }
585
586
 
586
587
  interface Footwear {
@@ -1254,6 +1255,14 @@ interface Building {
1254
1255
  image: string;
1255
1256
  }
1256
1257
 
1258
+ interface Rarecrow {
1259
+ id: string;
1260
+ number: number;
1261
+ name: string;
1262
+ image: string;
1263
+ obtain: string;
1264
+ }
1265
+
1257
1266
  /**
1258
1267
  * Abstract base class providing the five standard terminal methods shared by all query builders.
1259
1268
  * Subclasses hold a typed data array and implement domain-specific filter and sort methods.
@@ -2643,6 +2652,15 @@ declare class BuildingQuery extends QueryBase<Building> {
2643
2652
  /** Returns a BuildingQuery for all building data. Pass `source` to wrap a pre-filtered array. */
2644
2653
  declare function buildings(source?: Building[]): BuildingQuery;
2645
2654
 
2655
+ /** Query builder for rarecrow data. All sort methods return a new RarecrowQuery for chaining. */
2656
+ declare class RarecrowQuery extends QueryBase<Rarecrow> {
2657
+ constructor(data?: Rarecrow[]);
2658
+ /** Sort by rarecrow number. Default: `'asc'`. */
2659
+ sortByNumber(order?: 'asc' | 'desc'): RarecrowQuery;
2660
+ }
2661
+ /** Returns a RarecrowQuery for all rarecrow data. Pass `source` to wrap a pre-filtered array. */
2662
+ declare function rarecrows(source?: Rarecrow[]): RarecrowQuery;
2663
+
2646
2664
  /** Top-level parsed save file containing all extracted game data. */
2647
2665
  interface SaveData {
2648
2666
  apiVersion: number;
@@ -2678,6 +2696,7 @@ interface SaveData {
2678
2696
  horse: SaveHorse | null;
2679
2697
  powers: SavePowers;
2680
2698
  raccoons: SaveRaccoons;
2699
+ rarecrows: SaveRarecrows;
2681
2700
  perfection: SavePerfection;
2682
2701
  mineProgress: SaveMineProgress;
2683
2702
  communityCenter: SaveCommunityCenter;
@@ -2951,6 +2970,10 @@ interface SavePowerEntry {
2951
2970
  name: string;
2952
2971
  acquired: boolean;
2953
2972
  }
2973
+ /** Placed rarecrow item IDs found across all game locations. */
2974
+ interface SaveRarecrows {
2975
+ placed: string[];
2976
+ }
2954
2977
  /** Raccoon quest progress including times fed and unlock milestones. */
2955
2978
  interface SaveRaccoons {
2956
2979
  timesFed: number;
@@ -3044,4 +3067,4 @@ declare function resolveApiVersion(gameVersion: string): number;
3044
3067
  */
3045
3068
  declare function parseSaveFile(xml: string): SaveData;
3046
3069
 
3047
- export { type Achievement, AchievementQuery, type Animal, type AnimalProduce, AnimalQuery, type Artifact, ArtifactQuery, ArtisanCalculator, type ArtisanEnergyResult, type ArtisanGood, type ArtisanGoodBuff, ArtisanGoodQuery, type ArtisanIngredient, type ArtisanResult, type ArtisanUses, type Backpack, type Bait, BaitQuery, type BarItem, type BlacksmithItem, BlacksmithQuery, type BooksellerAvailability, type BooksellerItem, BooksellerItemQuery, type BooksellerTrade, BooksellerTradeQuery, type Buff, type Building, type BuildingBuilder, type BuildingMaterial, BuildingQuery, type Bundle, type BundleItem, BundleQuery, type BundleReward, type BundleRoom, type CarpenterCategory, type CarpenterDay, type CarpenterItem, CarpenterQuery, type CasinoCategory, type CasinoItem, CasinoQuery, type CaskAging, type ChoppedTreeProduce, type CollectionItem, CollectionItemQuery, CollectionsQuery, type Concession, ConcessionQuery, type ConcessionTag, type CookedDish, type CookingBuff, CookingQuery, type CraftingIngredient, type CraftingOutput, CraftingQuery, type CraftingRecipe, type Crop, CropQuery, type DayOfWeek, type DesertTraderDay, type DesertTraderItem, DesertTraderQuery, type DwarfShopCategory, type DwarfShopItem, DwarfShopQuery, type EnergyHealth, EventQuery, type FarmAnimal, type FarmMap, FarmMapQuery, type Festival, type FieldOfficeCollection, type FieldOfficeCollectionData, type FieldOfficeDonation, FieldOfficeDonationQuery, FieldOfficeQuery, type FieldOfficeReward, type Fish, type FishCatchType, type FishCategory, type FishPond, type FishPondProduce, FishQuery, type FishRoe, type FishWeather, type FishingRod, type FishingRodLevel, type Footwear, FootwearQuery, type Forageable, ForageableQuery, type FruitTree, type FruitTreeProduce, type GameEvent, type GameLocation, type GeodeContainer, type GeodeContent, type GiftPreferences, type GoldBundle, type GoldenWalnut, GoldenWalnutQuery, type GoldenWalnutTrackingType, type GrandpaCategory, GrandpaEvaluator, type GrandpaInput, type GrandpaResult, type GrandpaScoreEntry, type GuildCategory, type GuildItem, GuildQuery, type GuildWeaponType, type HarvestQuantity, type Hat, HatQuery, type HeartEvent, type HouseRenovation, HouseRenovationQuery, type HouseUpgrade, type HouseUpgradeMaterial, HouseUpgradeQuery, type Ingredient, type IslandTraderDay, type IslandTraderItem, IslandTraderQuery, type ItemBundle, type ItemQuality, type JojaBundle, type JojaItem, JojaParrotCalculator, JojaQuery, type KnowledgeBonus, KnowledgeCalculator, type KrobusDay, type KrobusItem, KrobusQuery, type KrobusStockType, LATEST_API_VERSION, type LocationCategory, type LocationDay, type LocationHours, LocationQuery, type LocationType, type LostBook, LostBookQuery, MASTERY_LEVELS, type MarnieCategory, type MarnieItem, MarnieQuery, type MasteryLevel, type MasterySkill, type MasteryUnlock, type MedicalSupply, MedicalSupplyQuery, type MeleeWeapon, type Mineral, type MineralItem, MineralQuery, type MixedSeed, type MixedSeedProduces, MixedSeedQuery, type Monster, type MonsterLoot, MonsterLootQuery, MonsterQuery, type MonsterSlayerGoal, MonsterSlayerGoalQuery, type MonsterVariant, type NodeDrop, type NodeItem, type OasisCategory, type OasisDay, type OasisItem, OasisQuery, type OreItem, type PerfectionCategory, PerfectionQuery, type Pet, type PierreCategory, type PierreItem, PierreQuery, type PriceFormula, type ProfessionBonus, ProfessionCalculator, type ProfessionData, ProfessionQuery, type ProfessionSkill, type QiCurrency, type QiStockItem, QiStockQuery, type Quality, QualityCalculator, type QualityEnergyHealth, type QualityPrice, type Quest, QuestQuery, type RecipeSource, type ResourceItem, type Ring, RingQuery, SKILL_TITLES, type SaloonCategory, type SaloonItem, SaloonQuery, type SaveAnimal, type SaveBuilding, type SaveBundleData, type SaveBundleItem, type SaveBundleReward, type SaveBundleRoom, type SaveBundleStatus, type SaveChild, type SaveCollectionEntry, type SaveData, type SaveDate, type SaveFarm, type SaveFishEntry, type SaveFriendship, type SaveIslandUpgrades, type SaveItem, type SaveMastery, type SaveMasteryPerk, type SaveMineProgress, type SaveMonsterKillEntry, type SaveMuseum, type SavePerfection, type SavePet, type SavePlayer, type SavePowerEntry, type SavePowers, type SaveProfession, type SaveQuest, type SaveRaccoons, type SaveRecipeEntry, type SaveSecretNotes, type SaveShippedEntry, type SaveSkillLevel, type SaveSkills, type SaveSpecialOrders, type SaveStardropEntry, type SaveStats, type SaveWalnuts, type SearchResult, type SearchResultKind, type Season, type SeasonData, SeasonQuery, type SecretNote, SecretNoteQuery, type SecretNoteType, type SeedBuyPrice, type SimpleTool, type Skill, type SkillLevel, type SkillLevelRecipes, type SkillMastery, SkillQuery, type SlayerReward, type Slingshot, type SmeltRecipe, type SpecialItem, SpecialItemQuery, type SpecialItemType, type SpecialOrderCategory, type SpecialOrderData, SpecialOrderQuery, type Stage, type StarDrop, StarDropQuery, type StarDropSource, type Tackle, TackleQuery, type TitleThreshold, type Tool, type ToolLevel, ToolQuery, type ToolType, type TraderShopItem, type Tree, TreeQuery, type Trinket, TrinketQuery, type TrinketSource, type UniversalGifts, type UpgradeLevel, type UpgradeableTool, type VersionRange, type Villager, VillagerQuery, type VolcanoShopCategory, type VolcanoShopCurrency, type VolcanoShopItem, VolcanoShopQuery, type Weapon, WeaponQuery, type WeaponStat, WeaponStatQuery, type WeaponType, type Weather, WeatherQuery, type WildTree, type WildTreeTapper, type WillyCategory, type WillyItem, WillyQuery, type WizardBuilding, type WizardBuildingMaterial, WizardQuery, achievements, animals, applyPriceFormula, artifacts, artisanCalculator, artisanGoods, bait, blacksmith, booksellerShop, booksellerTrades, buildings, bundles, calculateArtisanPrice, carpenter, casino, collections, concessions, cooking, crafting, crops, desertTrader, dwarfShop, events, fieldOffice, fieldOfficeDonations, findFestival, fish, footwear, forageables, getMasteryLevel, getProfessionOptions, getTitle, getTitleScore, goldenWalnuts, grandpaEvaluator, guild, hats, houseRenovations, houseUpgrades, isFarmAnimal, isPet, islandTrader, joja, jojaParrotCalculator, knowledgeCalculator, krobus, locations, lostBooks, maps, marnie, medicalSupplies, minerals, mixedSeeds, monsterLoot, monsterSlayerGoals, monsters, oasis, parseSaveFile, perfection, pierre, professionCalculator, professions, qiStock, qualityCalculator, quests, resolveApiVersion, rings, saloon, search, seasons, secretNotes, skills, specialItems, specialOrders, starDrops, tackle, tools, trees, trinkets, universalGifts, villagers, volcanoShop, weaponStats, weapons, weather, willy, wizard };
3070
+ export { type Achievement, AchievementQuery, type Animal, type AnimalProduce, AnimalQuery, type Artifact, ArtifactQuery, ArtisanCalculator, type ArtisanEnergyResult, type ArtisanGood, type ArtisanGoodBuff, ArtisanGoodQuery, type ArtisanIngredient, type ArtisanResult, type ArtisanUses, type Backpack, type Bait, BaitQuery, type BarItem, type BlacksmithItem, BlacksmithQuery, type BooksellerAvailability, type BooksellerItem, BooksellerItemQuery, type BooksellerTrade, BooksellerTradeQuery, type Buff, type Building, type BuildingBuilder, type BuildingMaterial, BuildingQuery, type Bundle, type BundleItem, BundleQuery, type BundleReward, type BundleRoom, type CarpenterCategory, type CarpenterDay, type CarpenterItem, CarpenterQuery, type CasinoCategory, type CasinoItem, CasinoQuery, type CaskAging, type ChoppedTreeProduce, type CollectionItem, CollectionItemQuery, CollectionsQuery, type Concession, ConcessionQuery, type ConcessionTag, type CookedDish, type CookingBuff, CookingQuery, type CraftingIngredient, type CraftingOutput, CraftingQuery, type CraftingRecipe, type Crop, CropQuery, type DayOfWeek, type DesertTraderDay, type DesertTraderItem, DesertTraderQuery, type DwarfShopCategory, type DwarfShopItem, DwarfShopQuery, type EnergyHealth, EventQuery, type FarmAnimal, type FarmMap, FarmMapQuery, type Festival, type FieldOfficeCollection, type FieldOfficeCollectionData, type FieldOfficeDonation, FieldOfficeDonationQuery, FieldOfficeQuery, type FieldOfficeReward, type Fish, type FishCatchType, type FishCategory, type FishPond, type FishPondProduce, FishQuery, type FishRoe, type FishWeather, type FishingRod, type FishingRodLevel, type Footwear, FootwearQuery, type Forageable, ForageableQuery, type FruitTree, type FruitTreeProduce, type GameEvent, type GameLocation, type GeodeContainer, type GeodeContent, type GiftPreferences, type GoldBundle, type GoldenWalnut, GoldenWalnutQuery, type GoldenWalnutTrackingType, type GrandpaCategory, GrandpaEvaluator, type GrandpaInput, type GrandpaResult, type GrandpaScoreEntry, type GuildCategory, type GuildItem, GuildQuery, type GuildWeaponType, type HarvestQuantity, type Hat, HatQuery, type HeartEvent, type HouseRenovation, HouseRenovationQuery, type HouseUpgrade, type HouseUpgradeMaterial, HouseUpgradeQuery, type Ingredient, type IslandTraderDay, type IslandTraderItem, IslandTraderQuery, type ItemBundle, type ItemQuality, type JojaBundle, type JojaItem, JojaParrotCalculator, JojaQuery, type KnowledgeBonus, KnowledgeCalculator, type KrobusDay, type KrobusItem, KrobusQuery, type KrobusStockType, LATEST_API_VERSION, type LocationCategory, type LocationDay, type LocationHours, LocationQuery, type LocationType, type LostBook, LostBookQuery, MASTERY_LEVELS, type MarnieCategory, type MarnieItem, MarnieQuery, type MasteryLevel, type MasterySkill, type MasteryUnlock, type MedicalSupply, MedicalSupplyQuery, type MeleeWeapon, type Mineral, type MineralItem, MineralQuery, type MixedSeed, type MixedSeedProduces, MixedSeedQuery, type Monster, type MonsterLoot, MonsterLootQuery, MonsterQuery, type MonsterSlayerGoal, MonsterSlayerGoalQuery, type MonsterVariant, type NodeDrop, type NodeItem, type OasisCategory, type OasisDay, type OasisItem, OasisQuery, type OreItem, type PerfectionCategory, PerfectionQuery, type Pet, type PierreCategory, type PierreItem, PierreQuery, type PriceFormula, type ProfessionBonus, ProfessionCalculator, type ProfessionData, ProfessionQuery, type ProfessionSkill, type QiCurrency, type QiStockItem, QiStockQuery, type Quality, QualityCalculator, type QualityEnergyHealth, type QualityPrice, type Quest, QuestQuery, type Rarecrow, RarecrowQuery, type RecipeSource, type ResourceItem, type Ring, RingQuery, SKILL_TITLES, type SaloonCategory, type SaloonItem, SaloonQuery, type SaveAnimal, type SaveBuilding, type SaveBundleData, type SaveBundleItem, type SaveBundleReward, type SaveBundleRoom, type SaveBundleStatus, type SaveChild, type SaveCollectionEntry, type SaveData, type SaveDate, type SaveFarm, type SaveFishEntry, type SaveFriendship, type SaveIslandUpgrades, type SaveItem, type SaveMastery, type SaveMasteryPerk, type SaveMineProgress, type SaveMonsterKillEntry, type SaveMuseum, type SavePerfection, type SavePet, type SavePlayer, type SavePowerEntry, type SavePowers, type SaveProfession, type SaveQuest, type SaveRaccoons, type SaveRarecrows, type SaveRecipeEntry, type SaveSecretNotes, type SaveShippedEntry, type SaveSkillLevel, type SaveSkills, type SaveSpecialOrders, type SaveStardropEntry, type SaveStats, type SaveWalnuts, type SearchResult, type SearchResultKind, type Season, type SeasonData, SeasonQuery, type SecretNote, SecretNoteQuery, type SecretNoteType, type SeedBuyPrice, type SimpleTool, type Skill, type SkillLevel, type SkillLevelRecipes, type SkillMastery, SkillQuery, type SlayerReward, type Slingshot, type SmeltRecipe, type SpecialItem, SpecialItemQuery, type SpecialItemType, type SpecialOrderCategory, type SpecialOrderData, SpecialOrderQuery, type Stage, type StarDrop, StarDropQuery, type StarDropSource, type Tackle, TackleQuery, type TitleThreshold, type Tool, type ToolLevel, ToolQuery, type ToolType, type TraderShopItem, type Tree, TreeQuery, type Trinket, TrinketQuery, type TrinketSource, type UniversalGifts, type UpgradeLevel, type UpgradeableTool, type VersionRange, type Villager, VillagerQuery, type VolcanoShopCategory, type VolcanoShopCurrency, type VolcanoShopItem, VolcanoShopQuery, type Weapon, WeaponQuery, type WeaponStat, WeaponStatQuery, type WeaponType, type Weather, WeatherQuery, type WildTree, type WildTreeTapper, type WillyCategory, type WillyItem, WillyQuery, type WizardBuilding, type WizardBuildingMaterial, WizardQuery, achievements, animals, applyPriceFormula, artifacts, artisanCalculator, artisanGoods, bait, blacksmith, booksellerShop, booksellerTrades, buildings, bundles, calculateArtisanPrice, carpenter, casino, collections, concessions, cooking, crafting, crops, desertTrader, dwarfShop, events, fieldOffice, fieldOfficeDonations, findFestival, fish, footwear, forageables, getMasteryLevel, getProfessionOptions, getTitle, getTitleScore, goldenWalnuts, grandpaEvaluator, guild, hats, houseRenovations, houseUpgrades, isFarmAnimal, isPet, islandTrader, joja, jojaParrotCalculator, knowledgeCalculator, krobus, locations, lostBooks, maps, marnie, medicalSupplies, minerals, mixedSeeds, monsterLoot, monsterSlayerGoals, monsters, oasis, parseSaveFile, perfection, pierre, professionCalculator, professions, qiStock, qualityCalculator, quests, rarecrows, resolveApiVersion, rings, saloon, search, seasons, secretNotes, skills, specialItems, specialOrders, starDrops, tackle, tools, trees, trinkets, universalGifts, villagers, volcanoShop, weaponStats, weapons, weather, willy, wizard };