Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

objecttonbt

Covert an object to a the Named Binary Tag file format.

This is a way to store data in a compressed way instead of useing json.

This implements what is said here!

Usage

First you must import the function to your code.

For Javascript

import { objectToNbt } from 'objecttonbt';

To convert an object just run the function with an object as an input.

const test = {};
objectToNbt(test);

It will always return a Buffer instance.

const test = {};
objectToNbt(test); // Should return Buffer <10, 0, 0, 0>

const test2 = {
    value: 10;
};
objectToNbt(test2); // Should return Buffer <10, 0, 0, 3, 5, 0, 118, 97, 108, 117, 101, 10, 0, 0, 0, 0>

Types

You can specify what type tag the value is going to be.

You can do this by making it a string an puting a specific character at the end.

Byte

const byte = {
    b: '10b';
}
objectToNbt(byte);

Short

const short = {
    s: '20s';
}
objectToNbt(short);

Int

const int = {
    i: 30; // Do not put an i at the end just a number value
}
objectToNbt(int);

Long

const long1 = {
    l: '40l';
}
objectToNbt(long1);
const long2 = {
    l: 40n; // You can use BigInts for longs
}
objectToNbt(long2);

Float

const float1 = {
    f: '50.1f';
}
objectToNbt(float1);
const float2 = {
    f: 60.2; // Number values that are floats will be converted to floats
}
objectToNbt(float2);

Double

const double = {
    d: '70.3d',
};
objectToNbt(double);

Arrays

If there are diffent types in an array it will cause an error.

Always make sure ever element in an array is the same type.

Byte Array

const byteArray = {
    ba: new Int8Array([35, -43, 76]),
};
objectToNbt(byteArray);

Int Array

const intArray = {
    ia: new Int32Array([-3214, 543, 7654]),
};
objectToNbt(intArray);

Long Array

const longArray = {
    la: new BigInt64Array([423n, -54645120n, 53453130n]),
};
objectToNbt(longArray);

Other

The data can only be long as the max buffer length.

Functions, Symbols, null, and undefined will default to an empty nameless int.

About

Covert an object to Nbt.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Used by

Contributors

Languages