Skip to content

StileDevs/grow-items

Repository files navigation

grow-items

A standalone items.dat parser for Growtopia. This library allows you to read, modify and write Growtopia's items.dat files.

Features

  • Read/parse items.dat file
  • Modify item properties (e.g. names, attributes)
  • Encode modified data back to items.dat format
  • Support for item metadata like version and item count

Installation

Node.js

npm install grow-items

Browser via CDN

<!-- Global build -->
<script src="https://unpkg.com/grow-items@latest/dist/index.global.js"></script>

<!-- ES Module -->
<script type="module">
  import { ItemsDat } from "https://unpkg.com/grow-items@latest/dist/index.mjs";
</script>

Usage

Node.js Example

import { ItemsDat } from "grow-items";
import { readFileSync } from "fs";

// Read items.dat file
const file = readFileSync("./items.dat");
const fileArr = [...file];

// Create ItemsDat instance
const itemsDat = new ItemsDat(fileArr);

// Decode the data
await itemsDat.decode();

// Access metadata
console.log("Version:", itemsDat.meta.version);
console.log("Item Count:", itemsDat.meta.itemCount);

// Modify an item
const dirt = itemsDat.meta.items[2];
dirt.name = "Super Dirt";

// Encode modified data
await itemsDat.encode();

Browser Example

// Raw Data
const fileArr = Array.from(new Uint8Array([1, 0, 0, 0]));

// Create ItemsDat instance
const itemsDat = new growItems.ItemsDat(fileArr);

// Decode the data
await itemsDat.decode();

// Access metadata
console.log("Version:", itemsDat.meta.version);
console.log("Item Count:", itemsDat.meta.itemCount);

// Modify an item
const dirt = itemsDat.meta.items[2];
dirt.name = "Super Dirt";

// Encode modified data
await itemsDat.encode();

API

ItemsDat

Main class for handling items.dat files.

Constructor

  • new ItemsDat(fileArray) - Creates new instance with file data

Methods

  • decode() - Parses the items.dat file data
  • encode() - Converts modified data back to items.dat format

Properties

  • meta.version - items.dat version number
  • meta.itemCount - Total number of items
  • meta.items - Array of item objects that can be modified

Module Formats

The library is available in multiple formats:

  • CommonJS (Node.js) - require('grow-items')
  • ES Modules - import { ItemsDat } from 'grow-items'
  • Browser Global - window.growItems

License

MIT

About

A standalone items.dat parser for Growtopia

Resources

License

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

No packages published

Contributors 2

  •  
  •