Combat

Trinkets

Access every trinket in Stardew Valley with filters for source type and forge compatibility.

Quick Start

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

// Get all trinkets
const allTrinkets = trinkets().get()

// Find a specific trinket
const parrotEgg = trinkets().findByName('Parrot Egg')

// Get forgeable trinkets from combat drops
const forgeableCombat = trinkets().bySource('combat-drop').forgeable().get()

Type Definition

The Trinket type represents a single trinket item.

FieldTypeDescription
idstringUnique identifier
namestringDisplay name
effectstringDescription of the trinket's effect
sourceTrinketSourceWhere the trinket is obtained
forgeablebooleanWhether the trinket can be re-forged at the Forge
sellPricenumberSell price in gold
imagestringRelative path to the trinket image

TrinketSource

type TrinketSource = 'combat-drop' | 'desert-festival'

Query Methods

Create a query with the trinkets() function. Every filter and sort method returns a new TrinketQuery, so you can chain calls in any order.

Filter Methods

MethodSignatureDescription
bySourcebySource(source: TrinketSource): TrinketQueryFilter to trinkets from the given source ('combat-drop' or 'desert-festival').
forgeableforgeable(): TrinketQueryFilter to trinkets that can be re-forged at the Forge.

Sort Methods

MethodSignatureDescription
sortByNamesortByName(order?: 'asc' | 'desc'): TrinketQuerySort alphabetically by name. Default: 'asc'.

Terminal Methods

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

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

Examples

List all combat-drop trinkets

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

const combatTrinkets = trinkets().bySource('combat-drop').sortByName().get()
combatTrinkets.forEach((t) => console.log(`${t.name}: ${t.effect}`))

Find all forgeable trinkets

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

const forgeable = trinkets().forgeable().get()
forgeable.forEach((t) => console.log(`${t.name} (${t.source})`))

Get Desert Festival trinkets

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

const festivalTrinkets = trinkets().bySource('desert-festival').get()
festivalTrinkets.forEach((t) =>
  console.log(`${t.name}: ${t.effect} — Sells for ${t.sellPrice}g`),
)

Count trinkets by source

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

console.log(`Total trinkets: ${trinkets().count()}`)
console.log(`Combat drops: ${trinkets().bySource('combat-drop').count()}`)
console.log(
  `Desert Festival: ${trinkets().bySource('desert-festival').count()}`,
)
Previous
Rings
Next
Tools