Frostyh Plugins

Plugins / SchemConvert

SchemConvert

Turn .litematic into WorldEdit .schem (v3 or v2) and back, on your server, in one command.

Get SchemConvert

$4.99 on BuiltByBit, list price on 16 October 2026. BuiltByBit sales can lower it, the listing shows the current price.

Buy on BuiltByBit

Also in Complete Collection: Every Plugin.

Try it live

SchemConvert runs on a public demo server, set up so you can use it yourself. Join, try it, then decide.

Address: try.zeropvp.xyz:25570 (Java Edition 1.21.11)

In Minecraft: Multiplayer, Add Server, paste the address, Join. Type /demo go schemconvert to land at its booth, or right-click the compass and pick it. The world resets every night.

Overview

SchemConvert

Load your builders' Litematica files straight into WorldEdit, no converter website needed

Every builder uses Litematica. WorldEdit does not read .litematic and never has. So you upload the file to some website, download a .schem, upload that to the server, and hope the versions match. SchemConvert removes all of that: drop the .litematic into your schematics folder, run /schemconvert name, and //schem load name works ten seconds later.

It also goes the other way. Turn any WorldEdit schematic into a .litematic your builders can open in the mod, and convert between Sponge v3 (modern WorldEdit) and v2 (older tools and plugins that still need it).

One button per file, or convert every file at once.

Latest version
1.2.0
Server
Paper or Purpur, Java 21
BuiltByBit
SchemConvert on BuiltByBit
What changed in 1.2.0
  • New: auto-convert. SchemConvert can watch the schematic folders and turn every new .litematic into a .schem by itself, so a file a builder drops in is ready for //schem load without a command. Turn it on with auto-convert.enabled: true. It waits until a file has finished uploading, never overwrites an existing .schem unless overwrite is true, and does not retry a broken file until it changes.
  • New: /schemconvert download <link> [name] fetches a .litematic or .schem from an https link (a Discord attachment, a file host) into plugins/SchemConvert/files, so nobody needs FTP. A downloaded .litematic is converted to a v3 .schem straight away. Links to the server itself or the local network are refused, and files over 50 MB are refused (download.max-size-mb).
  • New permission: schemconvert.download (default: op).
  • The file screen shows whether auto-convert is on.
  • /schemconvert reload also restarts the folder watcher.
  • Tab completion offers download, and no longer suggests formats after list, menu or reload.
  • Your existing config.yml keeps working as it is. The new auto-convert and download settings use their defaults until you add them; regenerate config.yml (or copy the new sections from the default one) to see them with their comments. The help line in an old config.yml does not mention download until it is regenerated.

Features

Why server owners pick it

What makes it different

Works with

What you get

Each conversion reports its size, palette and block entities in chat.

The file screen

The file screen lists every schematic in the WorldEdit, FAWE and SchemConvert folders.

FAQ

Which servers does it run on?

Paper or Purpur 1.21.11 or a newer 1.21.x, with Java 21.

Do I need other plugins?

No. It runs on its own.

Is there DRM or a licence key?

No. There is nothing to activate and no licence server to reach, and the code is not obfuscated.

How long does setup take?

Drop the jar into /plugins and restart. The setup guide above has 3 short steps.

Can I try it before I buy?

Yes. This page has a test server with the plugin installed.

Where do I get help?

In the active support Discord, in the discussion tab on this page, or in the documentation.

Do my builders need FTP access?

No. /schemconvert download takes an https link (a Discord attachment works), and auto-convert can turn every new .litematic into a .schem without a command.

Updates

Released on September 15, 2026 and updated 5 times since. The latest version is v1.3.0 (October 16, 2026). Every update is free, new Minecraft versions included.

Also by Frostyh

If this plugin helps your server, a short review on this page would mean a lot. Thank you!

Installation

Requirements

Server software
Paper, or a Paper fork such as Purpur. Spigot and CraftBukkit are not supported: the plugin uses Paper-only APIs.
Minecraft version
plugin.yml api-version 1.21; built against Paper API 1.21.11
Java
21 or newer
Required plugins
none
Optional plugins
none

Steps

  1. Download SchemConvert.jar from BuiltByBit. There is no licence key to enter.
  2. Stop the server and put the jar into the plugins folder.
  3. Start the server. The plugin creates plugins/SchemConvert/config.yml with the defaults shown under Configuration.
  4. Edit config.yml to suit your server.
  5. Apply the changes with /schemconvert reload (Reload the config), or restart the server.

Setup guide

  1. Drop SchemConvert.jar into /plugins and restart.
  2. Put a .litematic into plugins/WorldEdit/schematics (or the FAWE folder, or plugins/SchemConvert/files).
  3. /schemconvert <name>, then //schem load <name> and //paste.

SMP and build servers: builders hand you .litematic files, you paste them without leaving the game. Spawn rebuilds, event arenas, community builds.

Duel / minigame servers: arenas from map makers come as litematics; convert, paste, done. Convert your existing arenas to .litematic so a builder can edit them in the mod and send them back.

Networks: converting to v2 lets older map plugins and tools read schematics that modern WorldEdit wrote.

Commands

From plugin.yml. "Not set" in the permission column means plugin.yml attaches no permission to the command itself; the nodes the plugin checks are listed under Permissions.

CommandAliasesUsageDescriptionPermission
/schemconvert/sconv, /lite2schem/schemconvert <file.litematic|file.schem> [v3|v2|litematic] [newname] | list | info <file> | all [format] | download <link> [name] | reloadConvert .litematic and .schem files.schemconvert.use

Subcommands in detail

/schemconvert <file>                       Convert. Litematic becomes v3 .schem, .schem becomes .litematic.
/schemconvert <file> v3|v2|litematic       Choose the target format.
/schemconvert <file> <format> <newname>    Choose the output name.
/schemconvert list                         Files that can be converted.
/schemconvert info <file>                  Format, size, palette and block counts.
/schemconvert all [format]                 Convert every file in the folders.
/schemconvert reload                       Reload the config.
/schemconvert download <link> [name]   Fetch a file from an https link (max 50 MB).

Works from console too. File names tab-complete; the extension is optional.

Permissions

From plugin.yml.

NodeDefaultDescriptionChildren
schemconvert.useoperatorsConvert schematics, and hear about files the folder watcher converted.none
schemconvert.downloadoperatorsFetch a .litematic or .schem from an https link with /schemconvert download.none

Placeholders

This plugin registers no PlaceholderAPI placeholders.

Configuration reference

The default files as they ship in the jar, with their comments. The plugin writes them to plugins/SchemConvert/ on first start.

config.yml

Top-level keys:

KeyDefaultComment above it
menutrueBare /schemconvert opens the file screen instead of printing the help.
folderslist of 3Folders that are searched for .litematic and .schem files, relative to the server root.
output-folder"" (empty)Where converted .schem and .litematic files go. Empty = next to the source file.
overwritefalseReplace an existing file with the same name?
same-name-suffix"-converted"Added to the name when the output would have the same name as the input, e.g. a v3 .schem converted to v2 is written as name-converted.schem.
auto-convertsection, 4 keysWatch the folders above and turn every new .litematic into a .schem on its own, so a file a builder dropped in is ready for //schem load without anybody typing a command. A file is taken once it has stopped growing. An existing .schem is only replaced when...
downloadsection, 4 keys/schemconvert download <link> [name]: fetch a .litematic or .schem from a link (a Discord attachment, a file host) into the folder below, so nobody needs FTP. https only, never the server itself or a local network address, and never bigger than...
themesection, 11 keysEvery message below is written against these names, not against hex codes: <accent>Open</accent> rather than <#6fa8dc>Open</#6fa8dc>. Change a colour here and it changes on every screen at once. Ordinary MiniMessage still works, so <gradient:#a:#b> and...
messagessection, 46 keysnone
review-remindertrueOne thank-you line with the BuiltByBit review link: once in the console after install and once in chat for the first operator who joins. It never repeats and sends nothing anywhere. false turns it off.
plugins/SchemConvert/config.yml
# SchemConvert - Litematica <-> WorldEdit schematics, on the server.
#
# Drop a .litematic into one of the folders below, then /schemconvert <name>. The .schem lands next
# to it and //schem load <name> works right away. The other direction works too: /schemconvert
# <name>.schem litematic turns a WorldEdit .schem into a .litematic builders can open in Litematica.
#
# Files read: .litematic (Litematica) and .schem (WorldEdit / FAWE, Sponge v2 or v3).
# Files written: .schem for the v3 and v2 formats, .litematic for the litematic format.
# MCEdit .schematic files (pre-1.13) are not read. The extension in a command is optional, but
# type it when the same name exists as both .litematic and .schem.

# Bare /schemconvert opens the file screen instead of printing the help.
menu: true

# Folders that are searched for .litematic and .schem files, relative to the server root.
folders:
  - plugins/WorldEdit/schematics
  - plugins/FastAsyncWorldEdit/schematics
  - plugins/SchemConvert/files

# Where converted .schem and .litematic files go. Empty = next to the source file.
output-folder: ""

# Replace an existing file with the same name?
overwrite: false

# Added to the name when the output would have the same name as the input, e.g. a v3 .schem
# converted to v2 is written as name-converted.schem.
same-name-suffix: "-converted"

# Watch the folders above and turn every new .litematic into a .schem on its own, so a file a
# builder dropped in is ready for //schem load without anybody typing a command. A file is taken
# once it has stopped growing. An existing .schem is only replaced when overwrite is true and the
# .litematic is newer. .schem files are never converted back automatically.
auto-convert:
  enabled: false
  interval-seconds: 10     # how often the folders are looked at
  format: v3               # v3 or v2
  notify: true             # tell online players with schemconvert.use; the console always hears it

# /schemconvert download <link> [name]: fetch a .litematic or .schem from a link (a Discord
# attachment, a file host) into the folder below, so nobody needs FTP. https only, never the server
# itself or a local network address, and never bigger than max-size-mb.
# Needs the schemconvert.download permission (ops have it).
download:
  enabled: true
  folder: plugins/SchemConvert/files   # keep it in the folders list so the file shows up there
  max-size-mb: 50
  convert-after: true      # a downloaded .litematic is converted to a v3 .schem straight away

# ------------------------------------------------------------------------------------------------
# THEME
# ------------------------------------------------------------------------------------------------
# Every message below is written against these names, not against hex codes: <accent>Open</accent>
# rather than <#6fa8dc>Open</#6fa8dc>. Change a colour here and it changes on every screen at
# once. Ordinary MiniMessage still works, so <gradient:#a:#b> and <#ff0000> are fine anywhere.
theme:
  accent: "#6fa8dc"     # your colour: headings and anything the player is meant to click
  accent2: "#b0cfec"    # a lighter accent, for a second level of emphasis
  title: "#f4f7ff"      # screen titles
  text: "#c2ccdd"       # ordinary prose
  muted: "#6b7a94"      # hints, separators, anything the eye should skip
  value: "#ffffff"      # the numbers and names the player opened the screen to read
  good: "#57e08a"
  warn: "#ffc857"
  bad: "#ff6b6b"
  small-caps: false     # ᴇхᴀᴍᴘʟᴇ - a garnish; whole menus in it read badly
  # Real Minecraft item pictures beside the buttons and in the chest screens. Drawn from the
  # client's own textures, so there is nothing to install and no resource pack: it needs a
  # 1.21.9 or newer client, and older ones simply see the buttons as words.
  item-icons: true

messages:
  prefix: "<#5b8fb9><bold>Schem</bold></#5b8fb9> <muted>»</muted> "
  help: "<text>/schemconvert <file.litematic|file.schem> [v3|v2|litematic] [newname] · /schemconvert list · /schemconvert info <file> · /schemconvert all [format] · /schemconvert download <link> [name] · /schemconvert reload</text>"
  usage-info: "<text>/schemconvert info <file></text>"
  list: "<text>Files: </text><value>{files}</value>"
  list-empty: "<text>No .litematic or .schem files in </text><value>{folders}</value><text>.</text>"
  not-found: "<bad>No file called </bad><value>{file}</value><bad> in the schematic folders.</bad>"
  legacy-schematic: "<value>{file}</value><bad> is an old MCEdit .schematic (before 1.13) and cannot be converted without losing blocks. Load it with an old WorldEdit and save it as .schem first.</bad>"
  unknown-format: "<bad>Unknown format </bad><value>{format}</value><bad>. Use v3, v2 or litematic.</bad>"
  exists: "<bad>{file} already exists. Give a new name, or set overwrite: true.</bad>"
  start: "<text>Converting </text><value>{file}</value><text> to {format}...</text>"
  done: "<value>{file}</value><text> written in {ms} ms ({summary}).</text>"
  failed: "<bad>{file} failed: </bad><value>{error}</value>"
  info: "<value>{file}</value><text>: {info}</text>"
  all-start: "<text>Converting {count} file(s)...</text>"
  reloaded: "<value>Config reloaded.</value>"
  no-permission: "<bad>You cannot do that.</bad>"

  # The folder watcher (auto-convert in the settings above).
  auto-done: "<text>Auto-converted </text><value>{file}</value><text> to </text><value>{out}</value><text> in {ms} ms ({summary}).</text>"
  auto-failed: "<bad>Auto-convert of {file} failed: </bad><value>{error}</value>"

  # /schemconvert download.
  usage-download: "<text>/schemconvert download <https link> [name]</text>"
  download-off: "<bad>Downloads are switched off in config.yml (download.enabled).</bad>"
  download-no-name: "<bad>The link does not end in .litematic or .schem. Add a name with the extension: </bad><value>/schemconvert download <link> castle.litematic</value>"
  download-start: "<text>Downloading </text><value>{file}</value><text>...</text>"
  download-done: "<value>{file}</value><text> saved ({size} KB).</text>"
  download-failed: "<bad>Download failed: </bad><value>{error}</value>"

  # The file screen. Every line here is a screen title, a button label or a tooltip.
  menu-title: "<value>Schematics</value>"
  menu-close: "<white><icon:close></white><text>Close</text>"
  menu-folders: "<text>Looking in: </text><value>{folders}</value>"
  menu-auto-on: "<text>Auto-convert: </text><good>on</good><text>, new .litematic files become .schem by themselves</text>"
  menu-auto-off: "<text>Auto-convert: </text><muted>off (auto-convert.enabled in config.yml)</muted>"
  menu-count: "<text>{count} file(s) · page {page} of {pages}</text>"
  menu-file-line: "<value>{file}</value><text> · {size} KB</text>"
  menu-field-format: "<text>Convert to</text>"
  menu-format-auto: "<value>The other format</value>"
  menu-format-v3: "<value>WorldEdit .schem (Sponge v3)</value>"
  menu-format-v2: "<value>WorldEdit .schem (Sponge v2)</value>"
  menu-format-litematic: "<value>Litematica .litematic</value>"
  menu-convert: "<white><icon:file></white><good>Convert {file}</good>"
  menu-convert-tip: "<text>Write {file} in the format chosen above.</text>"
  menu-convert-all: "<white><icon:file></white><value>Convert every file</value>"
  menu-convert-all-tip: "<text>Every file in the folders, in the format above.</text>"
  menu-prev: "<white><icon:back></white><text>« Page back</text>"
  menu-prev-tip: "<text>The page before.</text>"
  menu-next: "<white><icon:next></white><text>Page on »</text>"
  menu-next-tip: "<text>The next page.</text>"
  menu-refresh: "<white><icon:reload></white><text>Look again</text>"
  menu-refresh-tip: "<text>Read the config and scan the folders again.</text>"

# One thank-you line with the BuiltByBit review link: once in the console after install and once
# in chat for the first operator who joins. It never repeats and sends nothing anywhere. false turns it off.
review-reminder: true

Config guide

The annotated summary from the store page. Where it and the default file above differ, the file is what the plugin ships.

folders:                                  where files are looked for, relative to the server root
  - plugins/WorldEdit/schematics
  - plugins/FastAsyncWorldEdit/schematics
  - plugins/SchemConvert/files
output-folder: ""                         empty = next to the source file
overwrite: false                          replace an existing output file
same-name-suffix: "-converted"            used when input and output would share a name

FAQ

Which servers and versions does it run on?

It needs Paper or a Paper fork such as Purpur, because it uses Paper-only APIs (the dialog API for its menus, Adventure text components). Spigot and CraftBukkit are not supported. plugin.yml declares api-version 1.21, the jar is built against Paper API 1.21.11, and it needs Java 21 or newer.

Does it need other plugins?

No other plugin is required (plugin.yml has no hard dependencies).

How do I apply config changes?

Edit plugins/SchemConvert/config.yml and run /schemconvert reload (reload the config). A restart works too.

Does it run on Folia, or for Bedrock players?

Not tested on Folia, and plugin.yml does not declare folia-supported. Bedrock players (through Geyser) have not been tested either.

What are its limits?

MCEdit .schematic files (pre-1.13, numeric block ids) are not supported, because they cannot be converted without guessing. Litematica files from a newer Minecraft than your server will convert, but WorldEdit will then upgrade the block states when loading, as it does for any newer schematic.

What licence do I get?

The licence terms are the BuiltByBit EULA shown on the listing. There is no licence key to enter, and the plugin never contacts a licence server.