A Minecraft plugin that integrates with schemat.io to let players upload, download, browse, and share WorldEdit schematics directly in-game.
Available for Paper (Bukkit) and Fabric servers.
- Upload your WorldEdit clipboard to schemat.io
- Download schematics by ID directly into your clipboard
- Browse & search your community's schematic library
- Quick Share — create temporary links to share clipboard contents instantly
- Dual UI modes — chat-based or native dialog (1.21.7+ clients)
- Offline caching — browse previously fetched schematics when the API is unavailable
- Permission-based — granular control over features and UI tiers
| Paper | Fabric | |
|---|---|---|
| Minecraft | 1.21.8+ | 1.21.8+ |
| Java | 21+ | 21+ |
| Server | Paper (or forks) | Fabric + Fabric API |
| WorldEdit | Required (soft-depend) | Required (soft-depend) |
Optional dependencies (Paper only): ProtocolLib, MapEngine (schematic preview rendering)
- Download the latest release JAR for your platform from Releases
- Place it in your server's
plugins/(Paper) ormods/(Fabric) directory - Start the server — a default config file will be generated
- Set your community token:
/schematio settoken <token>- Get a token from your community settings on schemat.io
# API endpoint
api-endpoint: "https://schemat.io/api/v1"
# Community JWT token (set via /schematio settoken or directly here)
community-token: ""
# Rate limiting (per player)
rate-limit-requests: 10 # max requests per window (0 = disabled)
rate-limit-window-seconds: 60
# Schematic list caching
cache-enabled: true
cache-ttl-seconds: 300 # 5 minutes (min 30, max 3600)
# Default UI mode: chat or dialog
default-ui-mode: chat
# Disable specific commands (they won't register at all)
# Available: upload, download, list, search, quickshare, settings
# Admin commands (reload, settoken, setpassword, info) cannot be disabled.
disabled-commands:
- list
- searchapi_endpoint=https://schemat.io/api/v1
api_token=
disabled_commands=list,searchThe base command is /schematio. Aliases: /schem, /sch, /sio
Run /schematio with no arguments for a list of available commands.
Use /schematio <command> --help for detailed per-command usage.
| Command | Description | Permission |
|---|---|---|
/schematio download <id|code|url> [format|password] |
Download a schematic or quick share to clipboard | schematio.download |
/schematio get ... |
Alias for download |
schematio.download |
/schematio upload |
Upload clipboard to schemat.io | schematio.upload |
/schematio list [search] [page] |
Browse schematics | schematio.list |
/schematio search <query> [page] |
Search schematics (alias for list with query) | schematio.list |
/schematio quickshare [options] |
Create a temporary share link from clipboard | schematio.quickshare |
/schematio settings |
Configure your preferences (UI mode) | schematio.use |
/schematio info |
Show plugin status and connection info | schematio.use |
| Command | Description | Permission |
|---|---|---|
/schematio settoken <token> |
Set the community API token | schematio.admin |
/schematio setpassword <password> |
Set your API password | schematio.admin |
/schematio reload |
Reload configuration | schematio.admin |
UI mode — available on all commands that support multiple UI modes:
| Flag | Description |
|---|---|
-c, --chat |
Force chat mode |
-d, --dialog |
Force dialog mode |
Quick share options — /schematio quickshare:
| Flag | Description | Default |
|---|---|---|
-e, --expires <duration> |
Expiration time (30m, 1h, 24h, 7d, 1w) |
24h |
-l, --limit <count> |
Download limit (0 = unlimited) |
0 |
-p, --password <pass> |
Password-protect the share | none |
Flags accept both = and space-separated syntax: -e=7d or -e 7d
List/search filters:
| Flag | Description |
|---|---|
--visibility=<all|public|private> |
Filter by visibility |
--sort=<created_at|updated_at|name|downloads> |
Sort field |
--order=<asc|desc> |
Sort direction |
The download / get command automatically detects what you're downloading:
- Schematic ID (e.g.,
abc123) — downloads from community library. Second arg is format (schem,schematic,mcedit) - Quick share URL (e.g.,
https://schemat.io/share/xyz) — downloads a quick share. Second arg is password - Quick share code (e.g.,
qs_abc123) — downloads a quick share. Second arg is password
| Permission | Description | Default |
|---|---|---|
schematio.use |
Basic access (info, settings) | Everyone |
schematio.download |
Download schematics and quick shares | Everyone |
schematio.list |
Browse and search schematics | Everyone |
schematio.quickshare |
Create quick share links | Everyone |
schematio.upload |
Upload schematics | OP only |
schematio.admin |
Admin commands (settoken, setpassword, reload) | OP only |
| Permission | Description | Default |
|---|---|---|
schematio.tier.chat |
Chat-based UI (text + clickable actions) | Everyone |
schematio.tier.dialog |
Native dialog UI (requires 1.21.7+ client) | Everyone |
The plugin determines which UI mode to use in this order:
- Command flag (
-cor-d) — one-time override - Player preference — set via
/schematio settings - Server default —
default-ui-modein config - Fallback —
chat
If a player lacks permission for their preferred mode, the plugin falls back to the other mode automatically.
default:
permissions:
- schematio.use
- schematio.list
- schematio.download
- schematio.quickshare
- schematio.tier.chat
- schematio.tier.dialog
admin:
permissions:
- schematio.*git clone https://github.com/schemat-io/SchematioConnector.git
cd SchematioConnector
./gradlew buildOutput JARs:
- Paper:
bukkit/build/libs/SchematioConnector-<version>-all.jar - Fabric:
fabric/build/libs/SchematioConnector-<version>.jar
SchematioConnector/
├── core/ # Shared Kotlin module (no Minecraft dependencies)
│ Validation, HTTP client, dialog definitions, caching
├── bukkit/ # Paper/Bukkit plugin
│ Commands, UI modes, WorldEdit integration
└── fabric/ # Fabric mod
Brigadier commands, Fabric WorldEdit integration
- Check your token with
/schematio info - Set a token with
/schematio settoken <token> - Verify the token hasn't expired on schemat.io
- Check server network connectivity
- Run
/schematio reload
- Ensure WorldEdit is installed (required for upload/download/list)
- Check the
disabled-commandslist in config - Verify the player has the correct permission node
- Requires a 1.21.7+ Minecraft client
- Check that the player has
schematio.tier.dialogpermission - Falls back to chat mode automatically if unavailable
- schemat.io — Schematic hosting platform
- GitHub — Source code and issues