Skip to content

joninmoz/stardew-helper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Stardew Valley Helper App Data

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

Data Structure

/data/characters.json

Contains all 34 giftable villagers with:

  • id - unique identifier
  • name - display name
  • birthday - { season, day } object
  • marriageable - boolean
  • image - path to character portrait
  • lovedGifts - array of { name, image } objects
  • likedGifts - array of { name, image } objects
  • availableYear - (optional) for characters like Kent who appear in Year 2+
  • roommateEligible - (optional) for Krobus

Also includes:

  • universalLoves - gifts loved by almost everyone
  • giftMechanics - friendship point values and multipliers

/data/events.json

Contains all 12 annual festivals with:

  • id - unique identifier
  • name - display name
  • season - spring/summer/fall/winter
  • day - day number (or startDay/endDay for multi-day events)
  • multiDay - boolean for multi-day events
  • time - { start, end } object
  • location - where the event takes place
  • description - brief summary
  • activities - array of things to do
  • rewards - prizes for winning/participating
  • shopItems - items available for purchase
  • tips - helpful hints

Also includes:

  • seasonalOverview - quick lookup of all events per season

/data/crops.json

Contains all plantable crops organized by season with:

  • id - unique identifier
  • name - display name
  • growthDays - number of days to mature
  • lastDayToPlant - last day in season to plant and still harvest
  • regrows - boolean
  • regrowDays - (optional) days between harvests
  • multiSeason - (optional) array of seasons it grows in
  • image - path to crop image
  • notes - special information

Also includes:

  • seasonInfo - explains the 28-day season system
  • lastDayQuickReference - crops organized by their last planting day

Image Directories

/images
  /characters     - 34 character portraits (64x64 or 128x128 PNG)
  /items          - Gift item sprites
  /crops          - Crop sprites

App Features to Implement

1. Date Input

Allow user to enter:

  • Season (Spring/Summer/Fall/Winter)
  • Day (1-28)
  • Year (1+)

2. Upcoming Birthdays

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

3. Upcoming Events

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

4. Planting Deadlines

Query crops.json and show:

  • Crops where lastDayToPlant >= currentDay
  • Sort by deadline (most urgent first)
  • Show crop name, days remaining, and whether it regrows

Example Queries

Get upcoming birthdays for Summer 10:

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);

Get remaining planting time for Summer 10:

const crops = summerCrops.map(c => ({
  ...c,
  daysRemaining: c.lastDayToPlant - today.day
})).filter(c => c.daysRemaining >= 0)
  .sort((a, b) => a.daysRemaining - b.daysRemaining);

Data Sources

All data sourced from:

Season Order

For calculating "next birthday/event":

  1. Spring (Days 1-28)
  2. Summer (Days 1-28)
  3. Fall (Days 1-28)
  4. Winter (Days 1-28)

Each year has 112 days total (4 seasons x 28 days).

About

Stardew Valley Helper - Track birthdays, events, crops, and mining

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors