This tool extracts information about all of your items in Stardew Valley and displays it in a table. The table shows the items’ names, locations, and prices.
This tool requires your save file. Your save file is
named Name_123456789
, where Name
is your player’s name and
123456789
is a random 9-digit number. The save file can be found in one of the following folders:
%appdata%\StardewValley\Saves
~/.config/StardewValley/Saves
You can sort the table by clicking on the headers, and you can download
the table as a TSV
file to use in Excel. You can also click on an item name to view its description from the Stardew Valley Wiki.
This tool runs entirely inside the browser. Your save file is never sent across the network.
Source code repository located at https://github.com/gucci-on-fleek/Stardew-Valley-Item-Finder. Inspired by the Stardew Fair Helper.
For support, feedback, and general questions, please submit an issue on GitHub.
Advanced users can convert their save files to TSV
on the command
line. First, you’ll need to download the xslt
files from the source
code
repository.
Then, using xsltproc
:
xsltproc items.xslt Name_123456789 | xsltproc items-to-tsv.xslt - > items.tsv
The filter fully supports Regular Expressions. For most users, the
most important part is that you can search for multiple items at a time
by separating them with a pipe (|
). For example, to show all carrots
and potatoes, you would type carrot|potato
.
This tool fully supports offline usage. After the first load, no internet access is required.
This webapp is divided into two main components: processing and display. These elements are fairly independent of each other and can each be easily repurposed for other uses. In fact, feel free to repurpose any of components for your own use.
All of the data is processed using XML Stylesheet Transformations (XSLT
). There are two separate steps: the first conversion of the save file to an intermediate XML
file, and a second conversion from the intermediate XML
file to a final TSV
file.
For developers, the first step is likely of the greatest interest. This first step (found in items.xslt
) can convert any Stardew Valley save into a more basic XML
file that is easy to parse. You can see how this works by running the transforms from the command-line as demonstrated above or by viewing items.xsd
and items.xslt
. These files are lacking in documentation, but they should be fairly self-explanatory if you have a bit of XML
experience.
After the save file has been transformed to TSV
, the rest of the webapp is essentially just a fancy TSV
display. Seriously, most of the functions in item-finder.js
are general-purpose; the only function specific to Stardew Valley is replace_icon()
. All of the JavaScript is extensively documented, although some of the CSS
is missing comments.
The tool does not need to be build to be run. You can run your own copy of the tool with any simple webserver, like python -m http.server
.
If you want to minify the files, you'll need to run ./build.sh
. If you are on Ubuntu/Debian, you can install the dependencies using ./build.sh install_dependencies
. Otherwise, you'll need to install the packages some other way. Once the dependencies are installed, just run ./build.sh minify
and you'll be good to go!
The non-standard @effects
tag is used to indicate if a function has side effects.
See licence.md
.