Skip to content

State of the art Minecraft Bedrock Behavior and Resource Pack Compiler.

License

Notifications You must be signed in to change notification settings

TBroz15/SuitcaseJS

Repository files navigation

State of the art Minecraft Bedrock Behavior and Resource Pack Compiler.

Buy Me A Coffee

Why?

      Large packs contain lengthy characters, unnecessary whitespaces, and uncompressed files, scripts, and assets. Downloading these packs would be a pain for the users due to slow internet issues. SuitcaseJS fixes this by making it compact as much as possible, reducing the bandwidth need to download a specific pack and gives micro-optimizations vs. the original pack.

How to Use it?

All you need is...

  • NodeJS v18 or above. v22 and above recommeded for faster compilation.
  • Any Javascript package manager such as NPM, PNPM Yarn, Bun, etc.
  • A fully functional computer of course!

Installation

npm i -g suitcasejs

You can exclude argument -g if you are willing to compile by API or by npx.

Compile through CLI

This is an example on how to compile your pack.

sjs compile -i ./packs/ -o ./out.mcpack -c ./.suitcaserc

You can use relative file paths or either the full path to define where the directory or file will be.

Argument -i defines the directory path of the pack is supposed to be.

Argument -o is where the output of the compiled pack will appear.

Argument -c defines the config path, although it is optional. The CLI will automatically read the config file with the name .suitcaserc, generated by running sjs init. If there are no config file, then it will use a default one.

Or... through API

import { Suitcase } from "suitcasejs";

const pack = await new Suitcase("./packs/")
  .readConfig() // Will read ".suitcaserc" if available or the default config.
  .compile("./out.mcpack");

console.log(await pack.getStats()); // returns object stats before and after compilation.

Contributing

Check out CONTRIBUTING.md for more information to contribute in this project.

A donation is well appreciated to make this project matter!