npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

nw-datasheet-analyzer

v1.0.1

Published

This tool allows analysis of the data files of New World. It is built to work on the converted data files produced by [Kattor's Data Sheet Reader](https://github.com/Kattoor/nw-datasheet-reader), which it can retrieve automatically.

Readme

New World Data File Analyzer

This tool allows analysis of the data files of New World. It is built to work on the converted data files produced by Kattor's Data Sheet Reader, which it can retrieve automatically.

Some samples:

Installation

This tool is available on npm. If you want to just use the command-line tool, install it globally:

npm install -g nw-datasheet-analyzer

If you want to use it in your own application or write custom scripts, install it into your dependencies:

npm install nw-datasheet-analyzer

Using the command line tool

You can run a basic analysis using the command line script nw-datasheet-analyzer. After you cloned the project, run npm start to run the script. By default, it will download Kattoor's data files into the folder data and prints the result to the standard output. You can see more options by running npm start -- --help.

To analyze the data (e.g filter for certain loot tables), use the command line options --parsedQuery (working on the parsed data) or --query (working on the analyzed data). Both commands use JSONPath syntax, consult the documentation to see your options. The data types on which you are querying are Loot (parsed data) and AnalyzedLootTable[] (analyzed data).

Using the library

For more powerful analysis, you can run your own analysis. This is done in multiple steps. For an example, check out the command line script.

Load the data files

The raw data files are already in a JSON format which could be easily loaded, but the content has a structure which do not lend themselves well to analysis. Therefor the first step is to load and parse the data files into something which resembles a useful format.

import { DataLoader } from 'nw-analyzer'

let loader = new DataLoader(downloadSource, dataFolder);
if (!loader.dataFilesExist()) {
    await loader.download();
}
let dataTables = loader.parse();

If you already have the data sheets available locally (e.g. because you parsed the game yourself), you can point the data loader to the folder containing the sheets and use them directly. If you want to use a different table that is shared online, you can point the data loader at the download URL. Note that the file names and folder layout must match the output of the Data Sheet Reader when run for JSON files.

The resulting data is still in a raw format and not interpreted in any way, except for the restructuring of the contents. Check out the API documentation for details on the data format.

Analyze the data files

The parsed data files still have cross-references between loot tables and use a hard-to-read probability format. This can be made more understandable by running the analyzer.

import { Analyzer } from 'nw-analyzer'

let analyzer = new Analyzer(dataTables);
let analyzedTables = analyzer.analyze();

The analyzed tables resolve all cross-references and normalizes probability. The probability will now be in a range between 0 (impossible) and 1 (100%, guaranteed). Again, check the API documentation for more information.

Output

For a quick and simple output of analyzed tables, use the Formatter class.

import { DataLoader } from 'nw-analyzer'

let output = new Formatter(analyzedTables).html();

Ideas for future versions

  • Consider luck ratings in the probability calculation
  • Compare versions and luck settings
  • More analysis options? Create an issue if you have ideas.

Legal

New World is trademarked by Amazone Game Studios. This project has no affiliation with Amazon or Amazon Game Studios.