This folder contains all the data needed for a Stardew Valley helper app that tracks:
- Upcoming birthdays
- Upcoming festivals/events
- Last day to plant crops
Contains all 34 giftable villagers with:
id- unique identifiername- display namebirthday-{ season, day }objectmarriageable- booleanimage- path to character portraitlovedGifts- array of{ name, image }objectslikedGifts- array of{ name, image }objectsavailableYear- (optional) for characters like Kent who appear in Year 2+roommateEligible- (optional) for Krobus
Also includes:
universalLoves- gifts loved by almost everyonegiftMechanics- friendship point values and multipliers
Contains all 12 annual festivals with:
id- unique identifiername- display nameseason- spring/summer/fall/winterday- day number (orstartDay/endDayfor multi-day events)multiDay- boolean for multi-day eventstime-{ start, end }objectlocation- where the event takes placedescription- brief summaryactivities- array of things to dorewards- prizes for winning/participatingshopItems- items available for purchasetips- helpful hints
Also includes:
seasonalOverview- quick lookup of all events per season
Contains all plantable crops organized by season with:
id- unique identifiername- display namegrowthDays- number of days to maturelastDayToPlant- last day in season to plant and still harvestregrows- booleanregrowDays- (optional) days between harvestsmultiSeason- (optional) array of seasons it grows inimage- path to crop imagenotes- special information
Also includes:
seasonInfo- explains the 28-day season systemlastDayQuickReference- crops organized by their last planting day
/images
/characters - 34 character portraits (64x64 or 128x128 PNG)
/items - Gift item sprites
/crops - Crop sprites
Allow user to enter:
- Season (Spring/Summer/Fall/Winter)
- Day (1-28)
- Year (1+)
Query characters.json and show:
- Characters with birthdays in the next 7-14 days
- Sort by nearest date
- Show portrait, name, and top loved gifts
Query events.json and show:
- Events in the next 7-14 days
- Include multi-day event start dates
- Show event name, date, location, and key tips
Query crops.json and show:
- Crops where
lastDayToPlant >= currentDay - Sort by deadline (most urgent first)
- Show crop name, days remaining, and whether it regrows
const today = { season: 'summer', day: 10 };
const upcoming = villagers.filter(v => {
if (v.birthday.season === today.season) {
return v.birthday.day >= today.day;
}
// Also check next season
return false;
}).sort((a, b) => a.birthday.day - b.birthday.day);const crops = summerCrops.map(c => ({
...c,
daysRemaining: c.lastDayToPlant - today.day
})).filter(c => c.daysRemaining >= 0)
.sort((a, b) => a.daysRemaining - b.daysRemaining);All data sourced from:
- Stardew Valley Wiki
- Accurate as of Stardew Valley version 1.6
For calculating "next birthday/event":
- Spring (Days 1-28)
- Summer (Days 1-28)
- Fall (Days 1-28)
- Winter (Days 1-28)
Each year has 112 days total (4 seasons x 28 days).