A standalone items.dat parser for Growtopia. This library allows you to read, modify and write Growtopia's items.dat files.
- 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
npm install grow-items<!-- 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>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();// 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();Main class for handling items.dat files.
new ItemsDat(fileArray)- Creates new instance with file data
decode()- Parses the items.dat file dataencode()- Converts modified data back to items.dat format
meta.version- items.dat version numbermeta.itemCount- Total number of itemsmeta.items- Array of item objects that can be modified
The library is available in multiple formats:
- CommonJS (Node.js) -
require('grow-items') - ES Modules -
import { ItemsDat } from 'grow-items' - Browser Global -
window.growItems
MIT