HomeJavaModsSchemFlow
SchemFlow
SchemFlow — screenshot 1SchemFlow — screenshot 2

🌊 SchemFlow

SchemFlow Logo

License Release Java Paper

⚡ 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, smart cached tab-completion, and now a developer API that lets other plugins provision and tear down worlds on the fly. Fully compatible with native WorldEdit / FastAsyncWorldEdit formats.

⚡ What's New in v0.5.13

⚡ What's New in v0.5.12


✨ Feature Showcase

🎮 Hybrid Schematic Management

  • Cloud Storage: S3/MinIO for cross-server sync
  • Local Support: offline access via local:name
  • Smart Caching: instant cached tab-completion
  • Safe Updates: dedicated update command with confirmation
  • Groups: organize schematics by group:name

🔧 Advanced WorldEdit Support

  • FastAsyncWorldEdit fully compatible
  • Entity handling with -e
  • Air block control with -a
  • Biome preservation with -b (default on)
  • Large schematic optimization

🤖 Automation & Developer API

  • On-demand world provisioning API (reflection-friendly, zero compile-time dependency)
  • Absolute-origin paste for valid authored coordinates
  • Skript integration with custom syntax
  • Trash & Restore + Undo/Redo
  • Group lifecycle (create / delete / rename)

🌐 Cloud Storage Integration

  • MinIO self-hosted
  • AWS S3 enterprise-grade
  • Compatible providers: Cloudflare R2, DO Spaces, Wasabi…
  • Ephemeral cache with automatic cleanup

🎯 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

⚡ Quick Start

  1. Drop SchemFlow-x.y.z-all.jar into plugins/ and start the server once.
  2. Edit plugins/SchemFlow/config.yml with your S3/MinIO endpoint, accessKey, secretKey, and bucket.
  3. 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 provision <world> · cache · reload World provisioning, cache, hot reload

Permissions are granular (schemflow.<command>); schemflow.admin grants 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, async-fetch from S3, paste, apply gamerules. Completes only once fully pasted. 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.
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 fully pasted — safe to teleport players in
});

Paste-at-origin restores blocks at their authored coordinates and requires maps saved via saveSelectionAsMap; schematics from /schemflow upload paste 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

🌊 SchemFlow v0.5.13 — On-demand world provisioning for build & game networks

⭐ GitHub🚀 Download💬 Discord

Open source • MIT-style license • Built for the Minecraft community

Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

Verified by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more