Shops

Stardrop Saloon

Access the complete stock list for the Stardrop Saloon with category-based filtering using the chainable SaloonQuery API.

Quick Start

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

// Get all saloon items
const all = saloon().get()

// Get food items sorted by price
const food = saloon().food().sortByPrice().get()

// Get cooking recipes
const recipes = saloon().recipes().get()

// Find a specific item
const item = saloon().findByName('Pizza')

Type Definition

Each item conforms to the SaloonItem interface:

FieldTypeDescription
idstringUnique identifier.
namestringDisplay name of the item.
pricenumberPurchase price in gold.
descriptionstringIn-game description text.
imagestringPath to the item's image.
categorySaloonCategoryItem category.
availabilitystring | undefinedSpecial purchase condition, if any.

SaloonCategory

type SaloonCategory = 'food' | 'recipe'

Query Methods

SaloonQuery extends QueryBase and inherits five terminal methods:

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

Filter Methods

MethodReturnsDescription
food()SaloonQueryFilter to food and drink items only.
recipes()SaloonQueryFilter to cooking recipe items only.
byCategory(category)SaloonQueryFilter by category.
alwaysAvailable()SaloonQueryFilter to items with no special purchase condition.

Sort Methods

MethodReturnsDescription
sortByPrice(order?)SaloonQuerySort by price. Pass 'asc' (default) or 'desc'.
sortByName(order?)SaloonQuerySort alphabetically by name. Pass 'asc' (default) or 'desc'.

Examples

List all food items sorted by price

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

const food = saloon().food().sortByPrice().get()

food.forEach((item) => {
  console.log(`${item.name} - ${item.price}g`)
})

List all cooking recipes

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

const recipes = saloon().recipes().sortByName().get()

recipes.forEach((r) => {
  console.log(`${r.name} - ${r.price}g`)
})

Find items with special availability conditions

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

const special = saloon()
  .get()
  .filter((item) => item.availability !== undefined)

special.forEach((item) => {
  console.log(`${item.name} - requires: ${item.availability}`)
})
Previous
Qi's walnut room