stardew-valley-data 0.19.0 → 0.20.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 +11 -0
- package/dist/index.d.mts +20 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.js +24 -3
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +24 -3
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,17 @@ 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.20.0] - 2026-03-21
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- `willyBackRoomInvitation: boolean` field added to `SavePlayer` — checks for
|
|
13
|
+
`"willyBackRoomInvitation"` mail flag in save file
|
|
14
|
+
- `parseCommunityCenter()` parser added — new `communityCenter` field on `SaveData` tracking unlock
|
|
15
|
+
status, bundle activation, completion, ceremony attendance, Joja route, and individual room
|
|
16
|
+
completions (boilerRoom, craftsRoom, pantry, fishTank, vault, bulletin)
|
|
17
|
+
- `SaveCommunityCenter` and `SaveCommunityCenterRooms` interfaces added to save file types
|
|
18
|
+
|
|
8
19
|
## [0.19.0] - 2026-03-21
|
|
9
20
|
|
|
10
21
|
### Fix
|
package/dist/index.d.mts
CHANGED
|
@@ -2655,6 +2655,7 @@ interface SaveData {
|
|
|
2655
2655
|
raccoons: SaveRaccoons;
|
|
2656
2656
|
perfection: SavePerfection;
|
|
2657
2657
|
mineProgress: SaveMineProgress;
|
|
2658
|
+
communityCenter: SaveCommunityCenter;
|
|
2658
2659
|
}
|
|
2659
2660
|
/** Core player profile including name, money, skills, and mastery progress. */
|
|
2660
2661
|
interface SavePlayer {
|
|
@@ -2673,6 +2674,7 @@ interface SavePlayer {
|
|
|
2673
2674
|
skills: SaveSkills;
|
|
2674
2675
|
mastery: SaveMastery;
|
|
2675
2676
|
toolLevels: SaveToolLevels;
|
|
2677
|
+
willyBackRoomInvitation: boolean;
|
|
2676
2678
|
gameVersion: string;
|
|
2677
2679
|
millisecondsPlayed: number;
|
|
2678
2680
|
}
|
|
@@ -2916,6 +2918,24 @@ interface SavePerfection {
|
|
|
2916
2918
|
hasGoldClock: boolean;
|
|
2917
2919
|
obelisks: string[];
|
|
2918
2920
|
}
|
|
2921
|
+
/** Community Center completion status including individual room progress. */
|
|
2922
|
+
interface SaveCommunityCenterRooms {
|
|
2923
|
+
boilerRoom: boolean;
|
|
2924
|
+
craftsRoom: boolean;
|
|
2925
|
+
pantry: boolean;
|
|
2926
|
+
fishTank: boolean;
|
|
2927
|
+
vault: boolean;
|
|
2928
|
+
bulletin: boolean;
|
|
2929
|
+
}
|
|
2930
|
+
/** Community Center unlock, completion, and Joja route status. */
|
|
2931
|
+
interface SaveCommunityCenter {
|
|
2932
|
+
unlocked: boolean;
|
|
2933
|
+
bundlesActive: boolean;
|
|
2934
|
+
completed: boolean;
|
|
2935
|
+
ceremonyAttended: boolean;
|
|
2936
|
+
jojaAbandoned: boolean;
|
|
2937
|
+
rooms: SaveCommunityCenterRooms;
|
|
2938
|
+
}
|
|
2919
2939
|
/** Mine and Skull Cavern progress including deepest levels reached and key ownership. */
|
|
2920
2940
|
interface SaveMineProgress {
|
|
2921
2941
|
deepestMineLevel: number;
|
package/dist/index.d.ts
CHANGED
|
@@ -2655,6 +2655,7 @@ interface SaveData {
|
|
|
2655
2655
|
raccoons: SaveRaccoons;
|
|
2656
2656
|
perfection: SavePerfection;
|
|
2657
2657
|
mineProgress: SaveMineProgress;
|
|
2658
|
+
communityCenter: SaveCommunityCenter;
|
|
2658
2659
|
}
|
|
2659
2660
|
/** Core player profile including name, money, skills, and mastery progress. */
|
|
2660
2661
|
interface SavePlayer {
|
|
@@ -2673,6 +2674,7 @@ interface SavePlayer {
|
|
|
2673
2674
|
skills: SaveSkills;
|
|
2674
2675
|
mastery: SaveMastery;
|
|
2675
2676
|
toolLevels: SaveToolLevels;
|
|
2677
|
+
willyBackRoomInvitation: boolean;
|
|
2676
2678
|
gameVersion: string;
|
|
2677
2679
|
millisecondsPlayed: number;
|
|
2678
2680
|
}
|
|
@@ -2916,6 +2918,24 @@ interface SavePerfection {
|
|
|
2916
2918
|
hasGoldClock: boolean;
|
|
2917
2919
|
obelisks: string[];
|
|
2918
2920
|
}
|
|
2921
|
+
/** Community Center completion status including individual room progress. */
|
|
2922
|
+
interface SaveCommunityCenterRooms {
|
|
2923
|
+
boilerRoom: boolean;
|
|
2924
|
+
craftsRoom: boolean;
|
|
2925
|
+
pantry: boolean;
|
|
2926
|
+
fishTank: boolean;
|
|
2927
|
+
vault: boolean;
|
|
2928
|
+
bulletin: boolean;
|
|
2929
|
+
}
|
|
2930
|
+
/** Community Center unlock, completion, and Joja route status. */
|
|
2931
|
+
interface SaveCommunityCenter {
|
|
2932
|
+
unlocked: boolean;
|
|
2933
|
+
bundlesActive: boolean;
|
|
2934
|
+
completed: boolean;
|
|
2935
|
+
ceremonyAttended: boolean;
|
|
2936
|
+
jojaAbandoned: boolean;
|
|
2937
|
+
rooms: SaveCommunityCenterRooms;
|
|
2938
|
+
}
|
|
2919
2939
|
/** Mine and Skull Cavern progress including deepest levels reached and key ownership. */
|
|
2920
2940
|
interface SaveMineProgress {
|
|
2921
2941
|
deepestMineLevel: number;
|
package/dist/index.js
CHANGED
|
@@ -40885,6 +40885,25 @@ function parseBundles(root, mail) {
|
|
|
40885
40885
|
return { rooms, isJojaRoute, isCCComplete };
|
|
40886
40886
|
}
|
|
40887
40887
|
|
|
40888
|
+
// src/save-file/parsers/v1/community-center.ts
|
|
40889
|
+
function parseCommunityCenter(mail, events2) {
|
|
40890
|
+
return {
|
|
40891
|
+
unlocked: mail.has("ccDoorUnlock"),
|
|
40892
|
+
bundlesActive: mail.has("wizardJunimoNote"),
|
|
40893
|
+
completed: mail.has("ccIsComplete"),
|
|
40894
|
+
ceremonyAttended: events2.has("191393"),
|
|
40895
|
+
jojaAbandoned: mail.has("abandonedJojaMartAccessible"),
|
|
40896
|
+
rooms: {
|
|
40897
|
+
boilerRoom: mail.has("ccBoilerRoom"),
|
|
40898
|
+
craftsRoom: mail.has("ccCraftsRoom"),
|
|
40899
|
+
pantry: mail.has("ccPantry"),
|
|
40900
|
+
fishTank: mail.has("ccFishTank"),
|
|
40901
|
+
vault: mail.has("ccVault"),
|
|
40902
|
+
bulletin: mail.has("ccBulletin")
|
|
40903
|
+
}
|
|
40904
|
+
};
|
|
40905
|
+
}
|
|
40906
|
+
|
|
40888
40907
|
// src/save-file/parsers/v1/date.ts
|
|
40889
40908
|
function getStatDaysPlayed(player) {
|
|
40890
40909
|
const stats = player.stats;
|
|
@@ -41280,7 +41299,7 @@ function parseToolLevels(player, root) {
|
|
|
41280
41299
|
}
|
|
41281
41300
|
return levels;
|
|
41282
41301
|
}
|
|
41283
|
-
function parsePlayer(player, root) {
|
|
41302
|
+
function parsePlayer(player, root, mail) {
|
|
41284
41303
|
return {
|
|
41285
41304
|
name: str(player.name),
|
|
41286
41305
|
farmName: str(player.farmName),
|
|
@@ -41297,6 +41316,7 @@ function parsePlayer(player, root) {
|
|
|
41297
41316
|
skills: parseSkills(player.experiencePoints?.int),
|
|
41298
41317
|
mastery: parseMastery(player.stats),
|
|
41299
41318
|
toolLevels: parseToolLevels(player, root),
|
|
41319
|
+
willyBackRoomInvitation: mail.has("willyBackRoomInvitation"),
|
|
41300
41320
|
gameVersion: str(root.gameVersion),
|
|
41301
41321
|
millisecondsPlayed: num(player.millisecondsPlayed)
|
|
41302
41322
|
};
|
|
@@ -41492,7 +41512,7 @@ function parseWalnuts(root) {
|
|
|
41492
41512
|
|
|
41493
41513
|
// src/save-file/parser-registry.ts
|
|
41494
41514
|
var v1 = (ctx) => ({
|
|
41495
|
-
player: parsePlayer(ctx.player, ctx.root),
|
|
41515
|
+
player: parsePlayer(ctx.player, ctx.root, ctx.mailSet),
|
|
41496
41516
|
farm: { type: ctx.root.whichFarm, name: ctx.player.farmName },
|
|
41497
41517
|
date: parseDate(ctx.player, ctx.root),
|
|
41498
41518
|
inventory: parseInventory(ctx.player.items),
|
|
@@ -41523,7 +41543,8 @@ var v1 = (ctx) => ({
|
|
|
41523
41543
|
powers: parsePowers(ctx.mailSet, ctx.eventsSet),
|
|
41524
41544
|
raccoons: parseRaccoons(ctx.root, ctx.mailSet),
|
|
41525
41545
|
perfection: parsePerfection(ctx.root),
|
|
41526
|
-
mineProgress: parseMineProgress(ctx.player, ctx.root, ctx.mailSet)
|
|
41546
|
+
mineProgress: parseMineProgress(ctx.player, ctx.root, ctx.mailSet),
|
|
41547
|
+
communityCenter: parseCommunityCenter(ctx.mailSet, ctx.eventsSet)
|
|
41527
41548
|
});
|
|
41528
41549
|
var PARSER_SETS = {
|
|
41529
41550
|
1: v1
|