stardew-valley-data 0.8.0 → 0.10.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 +110 -4
- package/data/animals.json +44 -22
- package/data/artisan-goods.json +210 -28
- package/data/crafting.json +1 -1
- package/data/crops.json +2219 -489
- package/data/fish.json +2214 -77
- package/data/forageables.json +690 -56
- package/data/trees.json +448 -94
- package/dist/index.d.mts +149 -67
- package/dist/index.d.ts +149 -67
- package/dist/index.js +5961 -775
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +5959 -775
- package/dist/index.mjs.map +1 -1
- package/images/crops/tea-leaves/harvest.png +0 -0
- package/images/crops/tea-leaves/stage-1.png +0 -0
- package/images/crops/tea-leaves/stage-2.png +0 -0
- package/images/crops/tea-leaves/stage-3.png +0 -0
- package/images/forageables/Sturgeon Roe.png +0 -0
- package/images/misc/Energy.png +0 -0
- package/images/misc/Health.png +0 -0
- package/images/misc/Poison.png +0 -0
- package/package.json +1 -1
- /package/images/{forageables/Tea Leaves.png → crops/tea-leaves/crop.png} +0 -0
- /package/images/{craftable/seeds/Tea Sapling.png → crops/tea-leaves/seed.png} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,112 @@ 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
|
+
## [0.10.0] - 2026-03-19
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- `Sturgeon Roe` entry added to `data/forageables.json` with id `"812S"` — a Sturgeon-specific
|
|
13
|
+
variant of Roe; sell price 130g (`30 + floor(200/2)`), image
|
|
14
|
+
`images/forageables/Sturgeon Roe.png`, locations "Fish Ponds (Sturgeon)", all seasons, same
|
|
15
|
+
energy/health as Roe (50/22)
|
|
16
|
+
|
|
17
|
+
### Fixed
|
|
18
|
+
|
|
19
|
+
- Caviar ingredient in `data/artisan-goods.json` corrected from `id: "723"` (Oyster — wrong) to
|
|
20
|
+
`id: "812S"` (Sturgeon Roe); Sturgeon Roe has no unique game object id — the game dynamically
|
|
21
|
+
renames Roe (id `812`) to "Sturgeon Roe" when produced by a Sturgeon pond
|
|
22
|
+
|
|
23
|
+
## [0.9.0] - 2026-03-19
|
|
24
|
+
|
|
25
|
+
### Added
|
|
26
|
+
|
|
27
|
+
- `ArtisanCalculator` class and `artisanCalculator()` factory added to the `calculator` module —
|
|
28
|
+
covers Roe, Aged Roe, Honey, Wine, Juice, Pickles, Jelly, Dried Mushrooms, Dried Fruit, and Smoked
|
|
29
|
+
Fish; returns sell price and (where applicable) energy/health values
|
|
30
|
+
- `ArtisanResult` and `ArtisanEnergyResult` types added to `src/types/calculator.ts`
|
|
31
|
+
- `ArtisanUses` interface added to `src/types/common.ts` —
|
|
32
|
+
`{ honey, wine, juice, pickles, jelly, driedMushrooms, driedFruit: boolean }`
|
|
33
|
+
- `artisanUses: ArtisanUses` field added to all crops (`data/crops.json`, `Crop` type), all
|
|
34
|
+
forageables (`data/forageables.json`, `Forageable` type), and all fruit tree produce
|
|
35
|
+
(`data/trees.json`, `FruitTreeProduce` type)
|
|
36
|
+
- `canSmoke: boolean` field added to all 77 fish in `data/fish.json` and `Fish` type — `true` for
|
|
37
|
+
all rod-caught fish except Seaweed, Green Algae, and White Algae
|
|
38
|
+
- `roe: FishRoe | null` field added to all 77 fish — `'roe'` for 68 standard roe producers,
|
|
39
|
+
`'caviar'` for Sturgeon (roe → Caviar in Preserves Jar), `null` for Squid/Midnight Squid (Squid
|
|
40
|
+
Ink) and non-pond items
|
|
41
|
+
- `fishPond: FishPond | null` field added to all 77 fish — `null` for non-pond items (algae,
|
|
42
|
+
jellies); all 71 pond-eligible fish include a `produce` array of `{ product, minPopulation }`
|
|
43
|
+
entries sourced from the wiki Fish Pond produce table
|
|
44
|
+
- `FishRoe`, `FishPond`, and `FishPondProduce` types added to `src/types/fish.ts`
|
|
45
|
+
- `.smokeable()`, `.byRoe(type)`, and `.pondEligible()` filter methods added to `FishQuery`
|
|
46
|
+
- `byArtisanUse(use: keyof ArtisanUses)` filter method added to `CropQuery`, `ForageableQuery`, and
|
|
47
|
+
`TreeQuery`
|
|
48
|
+
- `sample/artisan-uses/` — new cross-module sample showing all items grouped by artisan use across
|
|
49
|
+
crops, forageables, and fruit trees
|
|
50
|
+
- Cactus Fruit added to `data/forageables.json` (id `90`; fruit — wine, jelly, driedFruit)
|
|
51
|
+
- Tea Leaves moved from `data/forageables.json` to `data/crops.json` — vegetable,
|
|
52
|
+
spring/summer/fall, 20-day grow / 1-day regrow, juice and pickles artisan uses; growth stage
|
|
53
|
+
images added to `images/crops/tea-leaves/`
|
|
54
|
+
- Added `Energy.png`, `Health.png`, and `Poison.png` icon images (20×20) to `images/misc/`
|
|
55
|
+
- `maxQuality` field (`ItemQuality`) added to all farm animal produce and deluxe produce in
|
|
56
|
+
`data/animals.json` and `AnimalProduce` type
|
|
57
|
+
- `maxQuality` field added to all artisan goods in `data/artisan-goods.json` and `ArtisanGood` type
|
|
58
|
+
— `'iridium'` for cask-ageable goods, `'base'` for all others
|
|
59
|
+
- `maxQuality` field added to all forageables in `data/forageables.json` and `Forageable` type —
|
|
60
|
+
`'iridium'` for foraged items, `'base'` for resources (Wood, Stone, Sap, etc.)
|
|
61
|
+
- `maxQuality` field added to all crops in `data/crops.json` and `Crop` type — `'iridium'` for all
|
|
62
|
+
crops except Fiber (`'base'`)
|
|
63
|
+
- `ItemQuality` shared type (`'base' | 'silver' | 'gold' | 'iridium'`) added to
|
|
64
|
+
`src/types/common.ts`; used across `AnimalProduce`, `ArtisanGood`, `Crop`, `Forageable`, and
|
|
65
|
+
`Fish` types
|
|
66
|
+
- `data/fish.json` — `maxQuality` field added to all fish entries (already typed, now present in
|
|
67
|
+
data)
|
|
68
|
+
|
|
69
|
+
### Changed
|
|
70
|
+
|
|
71
|
+
- Tea Leaves removed from `data/forageables.json`; consolidated to `data/crops.json`
|
|
72
|
+
- `images/forageables/Tea Leaves.png` and `images/craftable/seeds/Tea Sapling.png` removed —
|
|
73
|
+
replaced by unified images under `images/crops/tea-leaves/`; `data/crafting.json` reference
|
|
74
|
+
updated accordingly
|
|
75
|
+
- `FishQuality` type removed from `src/types/fish.ts`; `maxQuality` now uses the shared
|
|
76
|
+
`ItemQuality` type
|
|
77
|
+
- `tsconfig.json` — enabled `noUnusedLocals` and `noUnusedParameters` for stricter compile-time
|
|
78
|
+
checks
|
|
79
|
+
|
|
80
|
+
### Documentation
|
|
81
|
+
|
|
82
|
+
- `src/modules/calculator/README.md` — added `ArtisanCalculator` methods, formulas, and examples
|
|
83
|
+
- `src/modules/crops/README.md` — added `byArtisanUse` filter and `artisanUses` fields table rows
|
|
84
|
+
- `src/modules/forageables/README.md` — added `byArtisanUse` filter and `artisanUses` fields table
|
|
85
|
+
rows
|
|
86
|
+
- `src/modules/trees/README.md` — added `byArtisanUse` filter and `produce.artisanUses` fields table
|
|
87
|
+
rows; added example usage
|
|
88
|
+
- `src/modules/fish/README.md` — added `canSmoke` row to fish fields table
|
|
89
|
+
- `src/modules/animals/README.md` — added `produce.maxQuality` and `deluxeProduce.maxQuality` rows
|
|
90
|
+
to farm animal fields table
|
|
91
|
+
- `src/modules/artisan-goods/README.md` — added `energyHealth` and `maxQuality` rows to fields table
|
|
92
|
+
- `src/modules/crops/README.md` — added `maxQuality` row to crop fields table
|
|
93
|
+
- `src/modules/fish/README.md` — added `energyHealth` and `maxQuality` rows to fish fields table
|
|
94
|
+
- `src/modules/forageables/README.md` — added `energyHealth` and `maxQuality` rows to forageable
|
|
95
|
+
fields table
|
|
96
|
+
|
|
97
|
+
### Chore
|
|
98
|
+
|
|
99
|
+
- Renamed internal data constants from `all*Data` to `*Data` pattern across 7 modules (`fish`,
|
|
100
|
+
`forageables`, `cooking`, `bait`, `footwear`, `tackle`, `pierre-shop`) per naming conventions
|
|
101
|
+
- Fixed sort methods in `bait`, `tackle`, and `cooking` modules to use inline
|
|
102
|
+
`return new XxxQuery([...this.data].sort(...))` style for consistency
|
|
103
|
+
- Moved filter methods before sort methods in `cooking` module to match ordering convention
|
|
104
|
+
- Added JSDoc to filter/sort methods in `hats`, `footwear`, `weather`, `maps`, `weapon-stats`,
|
|
105
|
+
`bait`, and `tackle` modules
|
|
106
|
+
- Added `DayOfWeek` and `TraderShopItem` shared types to `src/types/common.ts`; five duplicate
|
|
107
|
+
day-of-week unions (`CarpenterDay`, `DesertTraderDay`, `IslandTraderDay`, `OasisDay`,
|
|
108
|
+
`LocationDay`) are now type aliases
|
|
109
|
+
- `DesertTraderItem` and `IslandTraderItem` are now aliases for the shared `TraderShopItem` type,
|
|
110
|
+
removing an identical 11-field interface duplicated across two files
|
|
111
|
+
- `CraftingIngredient` is now a type alias for the existing `Ingredient` type in `common.ts`,
|
|
112
|
+
removing a structurally identical duplicate interface
|
|
113
|
+
|
|
8
114
|
## [0.8.0] - 2026-03-18
|
|
9
115
|
|
|
10
116
|
### Fix
|
|
@@ -29,7 +135,7 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
29
135
|
|
|
30
136
|
- Fix Typo in Wild Seed names to use abbreviated name over full
|
|
31
137
|
|
|
32
|
-
## [
|
|
138
|
+
## [0.5.0] - 2026-03-18
|
|
33
139
|
|
|
34
140
|
### Breaking Changes
|
|
35
141
|
|
|
@@ -50,19 +156,19 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
50
156
|
|
|
51
157
|
- Bump Dependencies
|
|
52
158
|
|
|
53
|
-
## [
|
|
159
|
+
## [0.4.0] - 2026-03-15
|
|
54
160
|
|
|
55
161
|
### Breaking Changes
|
|
56
162
|
|
|
57
163
|
- Change many of the output modules for parsing the file.
|
|
58
164
|
|
|
59
|
-
## [
|
|
165
|
+
## [0.3.0] - 2026-03-15
|
|
60
166
|
|
|
61
167
|
### Fix
|
|
62
168
|
|
|
63
169
|
- Add missing Villager Events
|
|
64
170
|
|
|
65
|
-
## [
|
|
171
|
+
## [0.2.0] - 2026-03-10
|
|
66
172
|
|
|
67
173
|
### Added
|
|
68
174
|
|
package/data/animals.json
CHANGED
|
@@ -105,13 +105,15 @@
|
|
|
105
105
|
"id": "176",
|
|
106
106
|
"name": "Egg",
|
|
107
107
|
"sellPrice": 50,
|
|
108
|
-
"image": "images/animals/produce/Egg.png"
|
|
108
|
+
"image": "images/animals/produce/Egg.png",
|
|
109
|
+
"maxQuality": "iridium"
|
|
109
110
|
},
|
|
110
111
|
"deluxeProduce": {
|
|
111
112
|
"id": "174",
|
|
112
113
|
"name": "Large Egg",
|
|
113
114
|
"sellPrice": 95,
|
|
114
|
-
"image": "images/animals/produce/Large Egg.png"
|
|
115
|
+
"image": "images/animals/produce/Large Egg.png",
|
|
116
|
+
"maxQuality": "iridium"
|
|
115
117
|
},
|
|
116
118
|
"image": "images/animals/White Chicken.png"
|
|
117
119
|
},
|
|
@@ -131,13 +133,15 @@
|
|
|
131
133
|
"id": "180",
|
|
132
134
|
"name": "Brown Egg",
|
|
133
135
|
"sellPrice": 50,
|
|
134
|
-
"image": "images/animals/produce/Brown Egg.png"
|
|
136
|
+
"image": "images/animals/produce/Brown Egg.png",
|
|
137
|
+
"maxQuality": "iridium"
|
|
135
138
|
},
|
|
136
139
|
"deluxeProduce": {
|
|
137
140
|
"id": "182",
|
|
138
141
|
"name": "Large Brown Egg",
|
|
139
142
|
"sellPrice": 95,
|
|
140
|
-
"image": "images/animals/produce/Large Brown Egg.png"
|
|
143
|
+
"image": "images/animals/produce/Large Brown Egg.png",
|
|
144
|
+
"maxQuality": "iridium"
|
|
141
145
|
},
|
|
142
146
|
"image": "images/animals/Brown Chicken.png"
|
|
143
147
|
},
|
|
@@ -157,13 +161,15 @@
|
|
|
157
161
|
"id": "176",
|
|
158
162
|
"name": "Egg",
|
|
159
163
|
"sellPrice": 50,
|
|
160
|
-
"image": "images/animals/produce/Egg.png"
|
|
164
|
+
"image": "images/animals/produce/Egg.png",
|
|
165
|
+
"maxQuality": "iridium"
|
|
161
166
|
},
|
|
162
167
|
"deluxeProduce": {
|
|
163
168
|
"id": "174",
|
|
164
169
|
"name": "Large Egg",
|
|
165
170
|
"sellPrice": 95,
|
|
166
|
-
"image": "images/animals/produce/Large Egg.png"
|
|
171
|
+
"image": "images/animals/produce/Large Egg.png",
|
|
172
|
+
"maxQuality": "iridium"
|
|
167
173
|
},
|
|
168
174
|
"image": "images/animals/Blue Chicken.png"
|
|
169
175
|
},
|
|
@@ -183,7 +189,8 @@
|
|
|
183
189
|
"id": "305",
|
|
184
190
|
"name": "Void Egg",
|
|
185
191
|
"sellPrice": 65,
|
|
186
|
-
"image": "images/animals/produce/Void Egg.png"
|
|
192
|
+
"image": "images/animals/produce/Void Egg.png",
|
|
193
|
+
"maxQuality": "iridium"
|
|
187
194
|
},
|
|
188
195
|
"deluxeProduce": null,
|
|
189
196
|
"image": "images/animals/Void Chicken.png"
|
|
@@ -204,7 +211,8 @@
|
|
|
204
211
|
"id": "928",
|
|
205
212
|
"name": "Golden Egg",
|
|
206
213
|
"sellPrice": 500,
|
|
207
|
-
"image": "images/animals/produce/Golden Egg.png"
|
|
214
|
+
"image": "images/animals/produce/Golden Egg.png",
|
|
215
|
+
"maxQuality": "iridium"
|
|
208
216
|
},
|
|
209
217
|
"deluxeProduce": null,
|
|
210
218
|
"image": "images/animals/Golden Chicken.png"
|
|
@@ -225,13 +233,15 @@
|
|
|
225
233
|
"id": "442",
|
|
226
234
|
"name": "Duck Egg",
|
|
227
235
|
"sellPrice": 95,
|
|
228
|
-
"image": "images/animals/produce/Duck Egg.png"
|
|
236
|
+
"image": "images/animals/produce/Duck Egg.png",
|
|
237
|
+
"maxQuality": "iridium"
|
|
229
238
|
},
|
|
230
239
|
"deluxeProduce": {
|
|
231
240
|
"id": "444",
|
|
232
241
|
"name": "Duck Feather",
|
|
233
242
|
"sellPrice": 250,
|
|
234
|
-
"image": "images/animals/produce/Duck Feather.png"
|
|
243
|
+
"image": "images/animals/produce/Duck Feather.png",
|
|
244
|
+
"maxQuality": "iridium"
|
|
235
245
|
},
|
|
236
246
|
"image": "images/animals/Duck.png"
|
|
237
247
|
},
|
|
@@ -251,13 +261,15 @@
|
|
|
251
261
|
"id": "440",
|
|
252
262
|
"name": "Wool",
|
|
253
263
|
"sellPrice": 340,
|
|
254
|
-
"image": "images/animals/produce/Wool.png"
|
|
264
|
+
"image": "images/animals/produce/Wool.png",
|
|
265
|
+
"maxQuality": "iridium"
|
|
255
266
|
},
|
|
256
267
|
"deluxeProduce": {
|
|
257
268
|
"id": "446",
|
|
258
269
|
"name": "Rabbit's Foot",
|
|
259
270
|
"sellPrice": 565,
|
|
260
|
-
"image": "images/animals/produce/Rabbit's Foot.png"
|
|
271
|
+
"image": "images/animals/produce/Rabbit's Foot.png",
|
|
272
|
+
"maxQuality": "iridium"
|
|
261
273
|
},
|
|
262
274
|
"image": "images/animals/Rabbit.png"
|
|
263
275
|
},
|
|
@@ -277,7 +289,8 @@
|
|
|
277
289
|
"id": "107",
|
|
278
290
|
"name": "Dinosaur Egg",
|
|
279
291
|
"sellPrice": 350,
|
|
280
|
-
"image": "images/animals/produce/Dinosaur Egg.png"
|
|
292
|
+
"image": "images/animals/produce/Dinosaur Egg.png",
|
|
293
|
+
"maxQuality": "iridium"
|
|
281
294
|
},
|
|
282
295
|
"deluxeProduce": null,
|
|
283
296
|
"image": "images/animals/Dinosaur.png"
|
|
@@ -298,13 +311,15 @@
|
|
|
298
311
|
"id": "184",
|
|
299
312
|
"name": "Milk",
|
|
300
313
|
"sellPrice": 125,
|
|
301
|
-
"image": "images/animals/produce/Milk.png"
|
|
314
|
+
"image": "images/animals/produce/Milk.png",
|
|
315
|
+
"maxQuality": "iridium"
|
|
302
316
|
},
|
|
303
317
|
"deluxeProduce": {
|
|
304
318
|
"id": "186",
|
|
305
319
|
"name": "Large Milk",
|
|
306
320
|
"sellPrice": 190,
|
|
307
|
-
"image": "images/animals/produce/Large Milk.png"
|
|
321
|
+
"image": "images/animals/produce/Large Milk.png",
|
|
322
|
+
"maxQuality": "iridium"
|
|
308
323
|
},
|
|
309
324
|
"image": "images/animals/White Cow.png"
|
|
310
325
|
},
|
|
@@ -324,13 +339,15 @@
|
|
|
324
339
|
"id": "184",
|
|
325
340
|
"name": "Milk",
|
|
326
341
|
"sellPrice": 125,
|
|
327
|
-
"image": "images/animals/produce/Milk.png"
|
|
342
|
+
"image": "images/animals/produce/Milk.png",
|
|
343
|
+
"maxQuality": "iridium"
|
|
328
344
|
},
|
|
329
345
|
"deluxeProduce": {
|
|
330
346
|
"id": "186",
|
|
331
347
|
"name": "Large Milk",
|
|
332
348
|
"sellPrice": 190,
|
|
333
|
-
"image": "images/animals/produce/Large Milk.png"
|
|
349
|
+
"image": "images/animals/produce/Large Milk.png",
|
|
350
|
+
"maxQuality": "iridium"
|
|
334
351
|
},
|
|
335
352
|
"image": "images/animals/Brown Cow.png"
|
|
336
353
|
},
|
|
@@ -350,13 +367,15 @@
|
|
|
350
367
|
"id": "436",
|
|
351
368
|
"name": "Goat Milk",
|
|
352
369
|
"sellPrice": 225,
|
|
353
|
-
"image": "images/animals/produce/Goat Milk.png"
|
|
370
|
+
"image": "images/animals/produce/Goat Milk.png",
|
|
371
|
+
"maxQuality": "iridium"
|
|
354
372
|
},
|
|
355
373
|
"deluxeProduce": {
|
|
356
374
|
"id": "438",
|
|
357
375
|
"name": "Large Goat Milk",
|
|
358
376
|
"sellPrice": 345,
|
|
359
|
-
"image": "images/animals/produce/Large Goat Milk.png"
|
|
377
|
+
"image": "images/animals/produce/Large Goat Milk.png",
|
|
378
|
+
"maxQuality": "iridium"
|
|
360
379
|
},
|
|
361
380
|
"image": "images/animals/Goat.png"
|
|
362
381
|
},
|
|
@@ -376,7 +395,8 @@
|
|
|
376
395
|
"id": "440",
|
|
377
396
|
"name": "Wool",
|
|
378
397
|
"sellPrice": 340,
|
|
379
|
-
"image": "images/animals/produce/Wool.png"
|
|
398
|
+
"image": "images/animals/produce/Wool.png",
|
|
399
|
+
"maxQuality": "iridium"
|
|
380
400
|
},
|
|
381
401
|
"deluxeProduce": null,
|
|
382
402
|
"image": "images/animals/Sheep.png"
|
|
@@ -397,7 +417,8 @@
|
|
|
397
417
|
"id": "430",
|
|
398
418
|
"name": "Truffle",
|
|
399
419
|
"sellPrice": 625,
|
|
400
|
-
"image": "images/animals/produce/Truffle.png"
|
|
420
|
+
"image": "images/animals/produce/Truffle.png",
|
|
421
|
+
"maxQuality": "iridium"
|
|
401
422
|
},
|
|
402
423
|
"deluxeProduce": null,
|
|
403
424
|
"image": "images/animals/Pig.png"
|
|
@@ -418,7 +439,8 @@
|
|
|
418
439
|
"id": "289",
|
|
419
440
|
"name": "Ostrich Egg",
|
|
420
441
|
"sellPrice": 600,
|
|
421
|
-
"image": "images/animals/produce/Ostrich Egg.png"
|
|
442
|
+
"image": "images/animals/produce/Ostrich Egg.png",
|
|
443
|
+
"maxQuality": "iridium"
|
|
422
444
|
},
|
|
423
445
|
"deluxeProduce": null,
|
|
424
446
|
"image": "images/animals/Ostrich.png"
|