Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details
๐ SchemFlow
โก Cloud-native schematic manager with local support, lightning-fast tab completion, and an on-demand world-provisioning API
Purpose-built for multi-server networks โ build servers, creative networks, and minigame hosts alike
๐ฅ Download โข ๐ Wiki โข ๐ Issues โข ๐ฌ Discord
๐ Why SchemFlow?
Stop copying .schem files between servers by hand. SchemFlow stores every schematic in S3-compatible object storage (AWS S3, MinIO, Cloudflare R2, Wasabi, DigitalOcean Spacesโฆ) and serves it to any server on demand, with groups, trash & restore, undo/redo and smart cached tab-completion. Its developer API lets other plugins provision per-round maps on the fly: pasted off the main thread, fully lit, with biomes and display-entity models intact. Fully compatible with native WorldEdit / FastAsyncWorldEdit formats.
โก What's New in v0.5.17
- ๐ฌ Commands Reply Again On 26.x:
/schemflowreplies (help, lists, errors, confirmations) were silently dropped on Minecraft 26.x by an outdated chat library. They now go through Paper's built-in messaging.
โก What's New in v0.5.16
- ๐ช Display-Entity Models Survive: models built from block/item/text displays riding a root entity (lamps, furniture, decorations) no longer vanish after a paste. Existing schematics are restored as they are, no re-export needed.
- ๐ธ Biomes Travel With The Map: map exports store biomes and pastes write them back, so grass, foliage, water and sky colours and snow match the original. Re-export older maps to get their biomes.
โก What's New in v0.5.15
- ๐ก Lit Round Maps: provisioned maps no longer come out dark.
provisionRoundWorldcompletes only once the map is lit, so a world unloaded or copied right afterwards keeps its light.
โก What's New in v0.5.14
- ๐ Lag-Free Round Provisioning: pastes run off the main thread under FastAsyncWorldEdit. A large map went from a ~2.9 s main-thread freeze to ~110 ms.
- ๐บ๏ธ Headless Map Capture:
/schemflow savemapandsaveRegionAsMap(...)save a region of any world to S3 without an in-game selection.
โจ Feature Showcase
๐ฎ Hybrid Schematic Management
๐ง Advanced WorldEdit Support
|
๐ค Automation & Developer API
๐ Cloud Storage Integration
|
๐ฏ Perfect For
| ๐ข Build Servers | ๐ฎ Creative Networks | ๐ Minigame Hosts | ๐ Survival Servers |
|---|---|---|---|
| Template management | Plot schematic storage | Per-round map loading | Structure backups |
| Build preservation | Player submissions | Arena distribution | Town planning |
| Collaboration tools | Contest archives | Rapid deploy & teardown | Restoration tools |
๐ Requirements
- Minecraft: 1.21 โ 1.21.11 and 26.1 โ 26.3 (Paper / Purpur)
- Java: 21+
- WorldEdit 7.2.18+ or FastAsyncWorldEdit (recommended: provisioning pastes run off the main thread; 26.3 needs FAWE 2.16.0+)
- (optional) Skript 2.7+ for automation
โก Quick Start
- Drop
SchemFlow-x.y.z-all.jarintoplugins/and start the server once. - Edit
plugins/SchemFlow/config.ymlwith your S3/MinIOendpoint,accessKey,secretKey, andbucket. - Run
/schemflow reload. Done.
๐ฎ Commands
| Command | Description |
|---|---|
/schemflow pos1 ยท pos2 |
Set selection corners |
/schemflow upload <name> [-eab] [-group g] |
Export selection โ S3 |
/schemflow update <name> --confirm |
Safely overwrite an existing schematic |
/schemflow paste [group:]name [-eab] ยท paste local:name |
Paste from S3 or local cache |
/schemflow fetch [group:]name |
Download to local cache |
/schemflow list ยท local |
List server / local schematics |
/schemflow delete [group:]name ยท restore name ยท trash clear --confirm |
Trash & restore |
/schemflow undo ยท redo |
Undo/redo last paste or delete |
/schemflow groups ยท group create/delete/rename |
Group management |
/schemflow savemap <world> <x1 y1 z1> <x2 y2 z2> <group> <name> |
Save a region of any world as a map (no selection needed) |
/schemflow provision <world> ยท cache ยท reload |
World provisioning, cache, hot reload |
Permissions are granular (
schemflow.<command>);schemflow.admingrants everything.
๐ Developer API
Other plugins can drive SchemFlow on demand: provision a fresh world, paste a map at its exact authored coordinates, and get a completion signal, without a compile-time dependency. Everything hangs off WorldProvisioner and is safe to call from any thread.
| Method | Returns | Purpose |
|---|---|---|
provisionRoundWorld(world, group, schematic, pasteAtOrigin, gamerules) |
CompletableFuture<World> |
Create a void world, fetch from S3 and paste off the main thread, apply gamerules. Completes only once the map is pasted, its models are spawned and it is lit. Idempotent. |
disposeWorld(world) |
CompletableFuture<Void> |
Unload (no save) + delete folder. |
inspect(group, schematic) |
SchematicInfo |
Dimensions + authored min corner (for fixed-point pasting). |
saveSelectionAsMap(player, group, name) |
CompletableFuture<Void> |
Save a pos1/pos2 selection to S3 preserving the absolute origin. |
saveRegionAsMap(pos1, pos2, group, name) |
CompletableFuture<Void> |
Same, headless: two corners in any loaded world, no player needed. |
Object plugin = Class.forName("com.c4g7.schemflow.SchemFlowPlugin")
.getMethod("getInstance").invoke(null);
Object prov = plugin.getClass().getMethod("getProvisioner").invoke(plugin);
CompletableFuture<?> future = (CompletableFuture<?>) prov.getClass()
.getMethod("provisionRoundWorld", String.class, String.class, String.class, boolean.class, java.util.Map.class)
.invoke(prov, "round_42", "blockparty", "W-BLOCKPARTY-regular-Island", true, null);
future.whenComplete((world, error) -> {
if (error != null) return; // handle failure
// (org.bukkit.World) world is pasted, lit and populated: safe to teleport players in
});
Paste-at-origin restores blocks at their authored coordinates and requires maps saved via
saveSelectionAsMaporsaveRegionAsMap; schematics from/schemflow uploadpaste relatively. The method signatures are a stable reflection contract.
โ๏ธ Configuration
endpoint: "minio.example.com:9000" # host:port, or full http(s):// URL
secure: true
accessKey: "YOUR_ACCESS_KEY"
secretKey: "YOUR_SECRET_KEY"
bucket: "schematics"
extension: "schem" # schem (recommended) or schematic
storage:
rootDir: "FlowStack/SchemFlow" # object-key prefix in the bucket
defaultGroup: "default"
downloadDir: "plugins/SchemFlow/schematics"
cacheRefreshSeconds: 30 # 0 disables periodic refresh
lighting: # relight after pastes (Paper 1.21+)
relightAfterPaste: true
maxWaitSeconds: 60
chunksPerTick: 32
maps: # map exports and round pastes
copyBiomes: true
restorePassengers: true # rebuild display-entity models
entitiesPerTick: 128
๐ SchemFlow v0.5.17 โ On-demand world provisioning for build & game networks
โญ GitHub โข ๐ Download โข ๐ฌ Discord
Open source โข Apache-2.0 โข Built for the Minecraft community


