struct2schem
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

struct2schem

This package is capable of converting Minecraft structures (.nbt) to Schematics (.schem). These schematics can then be placed into a Minecraft world using tools like WorldEdit.

Usage

Below is a simple example of how this library can be used.

import struct2schem from "struct2schem";

struct2schem(structBuffer)
  .then((schemBuffer) => {
    // Do something with the schem buffer, e.g. write it to a file.
  })
  .catch((err) => console.log(err));

A more advanced example is shown below. In this example, a file containing a structure on the local file system is read (test/test_large.nbt). It is then turned into a schematic. Finally, the schematic data is written to another file (test/out.schem).

import { readFile, writeFile } from "fs";
import struct2schem from "struct2schem";

readFile("test/test_large.nbt", async (err, data) => {
  if (err) {
    console.log(err);
    return;
  }

  try {
    const schemBuffer = await struct2schem(data);
    writeFile("test/out.schem", schemBuffer, (err) => {
      if (err) console.log(err);
    });
  } catch (err) {
    console.log(err);
  }
});

Promises

This package uses promises, as processing a structure might take a bit of time. To not freeze the main thread, this operation can be done in the background. See the second example on how to use this

Limitations

There are some differences between structures and schematics. Structures are capable of having multiple "palettes", which can be seen as variants of the structure that is stored. An example of these are the shipwrecks found in the Vanilla game. The type of wood used is selected by random when the structure spawns in. This package does not support these types of structures.

Not implemented features

The following features of structures and schematics have not been implemented (yet):

  • BlockEntities, e.g. chest inventories
  • Entities, e.g. armor stands or mobs
  • Multi-palette support, see the section on limitations

/struct2schem/

    Package Sidebar

    Install

    npm i struct2schem

    Weekly Downloads

    1

    Version

    1.0.1

    License

    MIT

    Unpacked Size

    41.7 kB

    Total Files

    13

    Last publish

    Collaborators

    • mcjeffr