Skip to content
This repository has been archived by the owner on Feb 4, 2025. It is now read-only.
/ SuitcaseJS Public archive

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

This project is deprecated. What now?

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.

SuitcaseJS is no longer being maintained.

Since there are no new updates for a few months and me not having some time to work on SuitcaseJS, this project is now archived. But don't worry! Between March and May, I'll be making a similar project as a successor to SuitcaseJS. This time, it will get its very own user-friendly UI! Alongside a possible Golang port for the compiler or not... it depends ¯\_(ツ)_/¯. Yeah, that is pretty much it...