Farming & Foraging

Mixed Seeds

Access mixed seed data with seasonal crop production mappings and purchase price information.

Quick Start

import { mixedSeeds } from 'stardew-valley-data'

// All mixed seeds
const all = mixedSeeds().get()

// Seeds that produce crops in spring
const springSeeds = mixedSeeds().byProduces('spring').get()

// Seeds that can be purchased
const buyable = mixedSeeds().withBuyPrices().get()

Type Definition

interface MixedSeed {
  id: string
  name: string
  sellPrice: number
  description: string
  image: string
  buyPrices: SeedBuyPrice[]
  produces: MixedSeedProduces
}

type MixedSeedProduces = Partial<Record<Season, string[]>>

Field Reference

FieldTypeDescription
idstringUnique identifier.
namestringDisplay name.
sellPricenumberBase sell price in gold.
descriptionstringIn-game description text.
imagestringPath to the image asset.
buyPricesSeedBuyPrice[]Array of { place, price } listing purchase locations and costs.
producesMixedSeedProducesMapping of season to crop names that the seed can produce. Keys are season strings; values are string arrays of crop names. Not all seasons may be present.

Supporting Types

interface SeedBuyPrice {
  place: string
  price: number
}

type Season = 'spring' | 'summer' | 'fall' | 'winter' | 'ginger island'

Query Methods

The mixedSeeds() function returns a MixedSeedQuery instance. All methods return a new MixedSeedQuery for chaining.

Inherited Methods

MethodReturnsDescription
.get()MixedSeed[]Return all results as an array.
.first()MixedSeed | undefinedReturn the first result.
.find(id)MixedSeed | undefinedFind by exact ID.
.findByName(name)MixedSeed | undefinedFind by name (case-insensitive).
.count()numberReturn the number of results.

Filter Methods

MethodSignatureDescription
byProducesbyProduces(season: Season)Filter to mixed seeds that can produce crops in the given season.
withBuyPriceswithBuyPrices()Filter to mixed seeds that have at least one purchase price listed.

Examples

What can mixed seeds grow in summer?

import { mixedSeeds } from 'stardew-valley-data'

const summerSeeds = mixedSeeds().byProduces('summer').get()

summerSeeds.forEach((seed) => {
  const crops = seed.produces.summer
  console.log(`${seed.name} can grow: ${crops?.join(', ')}`)
})

Purchasable mixed seeds

const buyable = mixedSeeds().withBuyPrices().get()

buyable.forEach((seed) => {
  seed.buyPrices.forEach((bp) => {
    console.log(`${seed.name} at ${bp.place}: ${bp.price}g`)
  })
})
Previous
Forageables