Equipment & Items

Footwear

Access every piece of footwear in Stardew Valley with sorting by name, defense, or immunity.

Quick Start

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

// Get all footwear
const allFootwear = footwear().get()

// Find specific boots
const spaceBoots = footwear().findByName('Space Boots')

// Get footwear sorted by defense
const bestDefense = footwear().sortByDefense('desc').get()

Type Definition

The Footwear type represents a single pair of boots or shoes.

FieldTypeDescription
idstringUnique identifier
namestringDisplay name
descriptionstringIn-game description
defensenumberDefense stat bonus
immunitynumberImmunity stat bonus
obtainstringHow to obtain this footwear
imagestringRelative path to the footwear image

Query Methods

Create a query with the footwear() function. Every sort method returns a new FootwearQuery, so you can chain calls in any order.

Sort Methods

MethodSignatureDescription
sortByNamesortByName(order?: 'asc' | 'desc'): FootwearQuerySort alphabetically by name. Default: 'asc'.
sortByDefensesortByDefense(order?: 'asc' | 'desc'): FootwearQuerySort by defense stat. Default: 'desc' (highest defense first).
sortByImmunitysortByImmunity(order?: 'asc' | 'desc'): FootwearQuerySort by immunity stat. Default: 'desc' (highest immunity first).

Terminal Methods

These methods are inherited from the base query and return actual values instead of a new query.

MethodSignatureDescription
getget(): Footwear[]Return all results as an array.
firstfirst(): Footwear | undefinedReturn the first result, or undefined if empty.
findfind(id: string): Footwear | undefinedFind an item by its exact ID.
findByNamefindByName(name: string): Footwear | undefinedFind an item by name (case-insensitive exact match).
countcount(): numberReturn the number of results.

Examples

Get the top 5 defensive boots

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

const bestDefense = footwear().sortByDefense('desc').get().slice(0, 5)

bestDefense.forEach((f) =>
  console.log(`${f.name}: +${f.defense} Defense, +${f.immunity} Immunity`),
)

Find the best immunity footwear

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

const bestImmunity = footwear().sortByImmunity('desc').first()
if (bestImmunity) {
  console.log(`Best immunity: ${bestImmunity.name} (+${bestImmunity.immunity})`)
}

List all footwear alphabetically

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

const allBoots = footwear().sortByName().get()
allBoots.forEach((f) =>
  console.log(`${f.name}: DEF ${f.defense} / IMM ${f.immunity}${f.obtain}`),
)

Count total footwear

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

console.log(`There are ${footwear().count()} footwear items in the game`)
Previous
Tools
Next
Hats