▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Плагины/SchemFlow
SchemFlow

SchemFlow

Lightning‑fast schematic management for Minecraft servers (S3/MinIO-backed).

Оцените первым
174
1

🌊 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, 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

  • 🔌 Developer API — provision and dispose worlds on demand from your own plugin, fully async, with a completion signal. Purpose-built for per-round minigame maps.
  • 🎯 Absolute-Origin Paste — restore a schematic at its exact authored coordinates, so named locations (spawns, corners, regions) stay valid in the freshly created world.
  • 🧱 Map Builder Hook — save a pos1/pos2 selection straight to S3 preserving the absolute origin for later one-call provisioning.
  • 🧹 One-Call World Teardown — unload (no save) and delete an ephemeral world in a single call.

⚡ What's New in v0.5.12

  • 🏠 Local Schematic Support — work offline with local:name syntax for downloaded schematics
  • ⚡ Lightning-Fast Tab Completion — smart caching eliminates network delays (90% fewer S3 calls)
  • 🛡️ Safe Update Command — dedicated /schemflow update with mandatory --confirm
  • 🎯 Optimized Performance — cached data for instant completion and duplicate prevention

✨ 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 managementPlot schematic storagePer-round map loadingStructure backups
Build preservationPlayer submissionsArena distributionTown planning
Collaboration toolsContest archivesRapid deploy & teardownRestoration tools

📋 Requirements

  • Minecraft: 1.21 – 1.21.11 (Paper / Purpur)
  • Java: 21+
  • WorldEdit 7.2.18+ or FastAsyncWorldEdit
  • (optional) Skript 2.7+ for automation

⚡ 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

CommandDescription
/schemflow pos1 · pos2Set selection corners
/schemflow upload <name> [-eab] [-group g]Export selection → S3
/schemflow update <name> --confirmSafely overwrite an existing schematic
/schemflow paste [group:]name [-eab] · paste local:namePaste from S3 or local cache
/schemflow fetch [group:]nameDownload to local cache
/schemflow list · localList server / local schematics
/schemflow delete [group:]name · restore name · trash clear --confirmTrash & restore
/schemflow undo · redoUndo/redo last paste or delete
/schemflow groups · group create/delete/renameGroup management
/schemflow provision <world> · cache · reloadWorld 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.

MethodReturnsPurpose
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)SchematicInfoDimensions + 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

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

1.21.x

Платформы

Поддерживаемые окружения

Сервер

Зависимости

Ссылки


Детали

Лицензия:
Опубликован:9 месяцев назад
Обновлён:3 дня назад
Главная