Shops

Volcano Dungeon Shop

Access the complete stock list for the Volcano Dungeon Dwarf shop with currency and category filtering using the chainable VolcanoShopQuery API.

Quick Start

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

// Get all volcano shop items
const all = volcanoShop().get()

// Get items purchasable with Cinder Shards
const cinderItems = volcanoShop().cinderShardItems().get()

// Get consumables sorted by price
const consumables = volcanoShop().consumables().sortByPrice().get()

// Get gold-priced items
const goldItems = volcanoShop().goldItems().get()

Type Definition

Each item conforms to the VolcanoShopItem interface:

FieldTypeDescription
idstringUnique identifier.
namestringDisplay name of the item.
pricenumberPurchase price in the specified currency.
currencyVolcanoShopCurrencyCurrency used for purchase.
descriptionstringIn-game description text.
imagestringPath to the item's image.
categoryVolcanoShopCategoryItem category.
availabilitystring | undefinedSpecial availability condition, if any.

VolcanoShopCurrency

type VolcanoShopCurrency = 'gold' | 'cinder-shard' | 'diamond'

VolcanoShopCategory

type VolcanoShopCategory = 'footwear' | 'book' | 'consumable' | 'hat' | 'food'

Query Methods

VolcanoShopQuery extends QueryBase and inherits five terminal methods:

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

Filter Methods

MethodReturnsDescription
byCurrency(currency)VolcanoShopQueryFilter to items purchased with the specified currency.
goldItems()VolcanoShopQueryFilter to items purchased with gold.
cinderShardItems()VolcanoShopQueryFilter to items purchased with Cinder Shards.
diamondItems()VolcanoShopQueryFilter to items purchased with Diamonds.
byCategory(category)VolcanoShopQueryFilter by item category.
consumables()VolcanoShopQueryFilter to consumable items only.
food()VolcanoShopQueryFilter to food items only.
alwaysAvailable()VolcanoShopQueryFilter to items with no special availability condition.

Sort Methods

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

Examples

List items grouped by currency

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

const currencies = ['gold', 'cinder-shard', 'diamond']

currencies.forEach((currency) => {
  const items = volcanoShop().byCurrency(currency).sortByPrice().get()
  console.log(`\n${currency.toUpperCase()} (${items.length}):`)
  items.forEach((item) => console.log(`  ${item.name} - ${item.price}`))
})

Find the cheapest Cinder Shard item

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

const cheapest = volcanoShop().cinderShardItems().sortByPrice().first()

if (cheapest) {
  console.log(`${cheapest.name} costs ${cheapest.price} Cinder Shards`)
}

List all footwear

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

const footwear = volcanoShop().byCategory('footwear').sortByName().get()

footwear.forEach((item) => {
  console.log(`${item.name} - ${item.price} ${item.currency}`)
})
Previous
Saloon