Skip to content

Repository files navigation

Schem-Converter

Convert .litematic files between NBT versions directly in Discord with a simple slash command.

Discord.js Node.js License

Schem-Converter

What is it?

A Discord bot that takes a .litematic schematic file and converts it to a different Minecraft version — including rewriting the block palette, so blocks the target version doesn't have get substituted with something sensible instead of silently disappearing.
Perfect when you need to open a modern schematic in an older version of Litematica, or vice‑versa.

Features

  • Accepts .litematic files via Discord's /schem-convert command.
  • Detects the schematic's current source version.
  • Provides a dropdown menu to select the target Minecraft version (1.12.2 through 1.21.8) — not just an NBT version, which is too coarse to know which blocks actually exist.
  • Rewrites the block palette: blocks missing from the target are substituted (same material family and shape where possible) instead of vanishing, and every substitution is reported back.
  • Converting to 1.12.2 additionally translates the modern per-name block IDs back to the pre-Flattening id:meta blockstate model.
  • Returns the converted .litematic file directly in the ephemeral reply.

Requirements

Installation

  1. Clone the repository:
    git clone https://github.com/yourusername/litematic-converter-bot.git
    cd litematic-converter-bot
  2. Install dependencies:
    npm install
  3. Create a .env file in the root directory with the following contents:
    TOKEN=your_bot_token_here
    CLIENT_ID=your_application_id_here

Registering Slash Commands

Run the deployment script once (or whenever you modify the command):

npm run deploy

Starting the Bot

npm run start

Usage

  1. In any text channel, use the slash command:
    /schem-convert
  2. Attach a .litematic file when prompted.
  3. The bot will reply with a dropdown menu showing the current NBT version.
  4. Select the target NBT version from the dropdown.
  5. The bot will process the file and send back the converted .litematic file. All messages are ephemeral (visible only to you).

Dependencies

discord.js v14.

@froyln/schem-convert-lib — the conversion engine (block/item palette rewriting, sign text, NBT plumbing). See that repo for supported versions and conversion details.

License

MIT © froyln / CodeW4VE.

About

A Discord bot that converts `.litematic` files between different NBT versions (4, 5, 6, and 7).

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages