Sueta

SchemFlow

0.5.13

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

·Plugin
  1. 0.5.13latestSchemFlow 0.5.13Jun 14, 2026

    🌊 SchemFlow v0.5.13

    On-demand world provisioning API — load and tear down worlds from your own plugin, async, with a completion signal. Built for per-round minigame maps and any automated world workflow.
    ✨ Added — Developer API (WorldProvisioner, called by reflection — no compile-time dependency)
    - `provisionRoundWorld(world, group, schematic, pasteAtOrigin, gamerules)` → `CompletableFuture<World>` — creates a fresh void world, async-fetches the schematic from S3, pastes it (paste-at-origin = original absolute coordinates), applies gamerules, and completes only once the map is fully pasted. Thread-safe and idempotent per world name. - `disposeWorld(world)` → `CompletableFuture<Void>` — unload (no save) and delete the world folder. - `inspect(group, schematic)` → `SchematicInfo` — dimensions + authored min corner, for callers that paste at a fixed point. - `saveSelectionAsMap(player, group, name)` → `CompletableFuture<Void>` — save a pos1/pos2 selection to S3 preserving the absolute world origin (map builder).
    🔧 Internal
    - New SchematicInfo value type; WorldEditUtils.readClipboard / pasteClipboard (paste-at-origin or min-at-0,0,0) / exportCuboidPreserveOrigin; SafeIO.deleteRecursively.
    ⚠️ Notes
    - Absolute placement requires maps saved via saveSelectionAsMap. Existing schematics from /schemflow upload paste relatively and must be re-exported if you need them at their original coordinates. - Existing commands, Skript hooks, and config-driven provisioning are unchanged — this release is purely additive. Compatibility: Minecraft 1.21–1.21.11 · Paper/Purpur · Java 21+ · WorldEdit 7.2.18+ / FastAsyncWorldEdit
    86 downloads
  2. 0.5.12SchemFlow 0.5.12Sep 19, 2025

    SchemFlow 0.5.12 - Major Feature Update

    🚀 Major New Features

    Local Schematics Support
    - Offline Mode: Work with schematics even when S3/MinIO is unavailable - New Commands: - /schemflow paste local:name - Use locally fetched schematics - /schemflow local - List all local schematics - /schemflow local delete <name> --confirm - Delete local files safely - Seamless Integration: Local schematics appear in tab completion with local: prefix
    Dedicated Update Command
    - Safer Overwrites: New /schemflow update <schematic> --confirm command - Explicit Confirmation: Mandatory --confirm flag prevents accidental overwrites - Replaces: Old /schemflow upload -update --confirm pattern for better UX
    Lightning-Fast Tab Completion
    - Performance Boost: Eliminated live S3 calls during tab completion - Instant Response: Now uses cached data for immediate completion - Network Savings: Reduced S3 API calls by 90%+ during command usage

    ✨ User Experience Improvements

    Simplified Command Structure
    - Removed: Complex -local flag system - Added: Intuitive local:name prefix for local schematics - Cleaner: More logical command organization and help text
    Consistent Group Display
    - Fixed: List command now shows group names exactly as configured - No More Confusion: "Default:" vs "default:" inconsistency resolved - Accurate: Display matches actual storage structure
    Complete Tab Completion
    - Server Schematics: Proper group:name format for non-default groups - Local Schematics: Clear local:name format for offline files - Default Group: No prefix for default group schematics (as intended) - All Options: Default group now appears in -group argument completion

    🔧 Technical Improvements

    Cache System Overhaul
    - Unified Logic: All 3 cache population methods now consistent - No Duplicates: Fixed duplicate entries in tab completion - Proper Grouping: Default vs non-default groups handled correctly - Extension Handling: Consistent .schem/.schematic processing
    Performance Optimizations
    - Smart Caching: Tab completion uses cached data instead of live API calls - Reduced Latency: Especially beneficial for high-latency S3 connections - Memory Efficient: Optimized cache data structures - Background Refresh: Automatic cache updates preserve performance

    📖 Updated Commands

    New Commands
    ...

    ⚙️ Configuration

    Fully Functional Settings
    - cacheRefreshSeconds: Automatic cache refresh interval (default: 60s) - storage.defaultGroup: Respected throughout the plugin (default: "default") - downloadDir: Local schematic storage location (default: "plugins/SchemFlow/schematics")
    Backwards Compatibility
    - All existing commands continue to work - Configuration format unchanged - Existing schematics accessible with old and new syntax --- Full Changelog: https://github.com/c4g7-dev/SchemFlow/blob/main/CHANGELOG.md Documentation: https://github.com/c4g7-dev/SchemFlow/wiki Download: https://github.com/c4g7-dev/SchemFlow/releases/tag/v0.5.12
    99 downloads
  3. 0.5.11-2SchemFlow 0.5.11-2Sep 19, 2025

    0.5.11 (and hotfixes 0.5.11-1 / 0.5.11-2)

    Added
    - Group lifecycle commands: - group delete <name> [--confirm] (preview schematic count before destructive action) - group rename <old> <new> - Safer create with duplicate name detection - Trash & restore workflow: - delete [group:]name now soft-deletes to S3 .trash - restore <name> [-group <dest>] to bring items back (optionally to a different group) - trash lists trashed schematics - trash clear --confirm permanently purges (guarded by confirmation) - Undo / Redo support for SchemFlow delete operations (/SchemFlow undo / redo) with fallback to WorldEdit history for pastes - Group-prefixed tab completion (group:name) and inclusion of group-prefixed names in cache - Confirmation previews for destructive operations (group delete, trash clear) showing item counts - Ephemeral paste cache directory (plugins/SchemFlow/work/cache/) auto-purged on enable/reload/disable
    Improved
    - Listing (/SchemFlow list) now groups schematics by group with total counts - Clearer feedback & error messages across command suite - Consistent MiniMessage styling for all command outputs - Cache refresh logic aggregates both plain and group-prefixed forms for faster tab completion
    Fixed
    - Duplicate group creation now returns a friendly warning instead of silently reusing - Ensured biomes flag handling defaults to included unless disabled - Hotfix 0.5.11-2: removed dependency on a missing method for ephemeral cache path in some environments (build compatibility)
    Internal
    - Safer async wrapping for storage operations - Reduced transient file retention (auto-clean ephemeral paste artifacts) - Updated documentation (README + wiki) to match new command set & workflows
    Notes
    - Only /SchemFlow fetch writes persistent schematic files; paste uses ephemeral cache - Use --confirm for irreversible operations (group delete, trash clear) - WorldEdit OR FAWE required (not both) Upgrade Guidance No config changes required. Existing schematics remain valid. You may safely update the jar and use new group management + trash features immediately.
    12 downloads
  4. 0.5.10-5SchemFlow 0.5.10-5Sep 18, 2025

    SchemFlow v0.5.10-5 — Hotfix

    - Fixed: plugin.yml YAML indentation under commands causing “Invalid plugin.yml” on load - No functional changes beyond the fix Compatibility: - Minecraft 1.21+, Java 21+, Paper/Purpur
    10 downloads
  5. 0.5.10SchemFlow 0.5.10Sep 18, 2025

    SchemFlow v0.5.10 — Flat Trash, Restore, and Trash Management

    A small but handy quality-of-life update focused on safer deletes and easier recovery.
    What’s New
    - Changed: Flat trash directory at <rootDir>/.trash (no per‑group subfolders) - Added: /SchemFlow trash lists trashed schematics - Added: /SchemFlow trash clear --confirm permanently purges all trashed items - Changed: restore now restores from the flat trash; -group <dest> optionally targets destination group
    Commands
    - /SchemFlow restore <name> [-group <dest>] — restore from trash (defaults to storage.defaultGroup) - /SchemFlow trash — list trashed schematics - /SchemFlow trash clear --confirm — permanently clear trash (confirmation required)
    Permissions
    - schemflow.restore — restore schematic from trash (default: op) - schemflow.trash.clear — permanently clear trash (default: op)
    Compatibility
    - Minecraft: 1.21+ - Java: 21+ - Server: Paper/Purpur - Dependency: WorldEdit 7.2.18+ OR FAWE (install one) - Optional: Skript 2.7+
    Notes
    - Delete now moves to trash for safer recovery. - Path-based fetch and group:name syntax introduced in recent versions remain supported.
    13 downloads
  6. 0.5.9SchemFlow 0.5.9Sep 18, 2025

    v0.5.9 — Undo/Redo, path fetch, and Skript upgrades

    Highlights
    - Undo/Redo support: - undo and redo for last paste/delete - Deletes are now reversible (moved to S3 trash) - Path-based fetch: - /SchemFlow fetch /path/to/name(.schm) under storage.rootDir - Tab-complete folders and .schm files under root - Skript upgrades: - paste/fetch accept group:name - schemflow groups expression - create schemflow group "<name>" - trash schemflow schematic "<name>" [in group "<group>"] - restore schemflow schematic "<name>" [in group "<group>"]
    Changes
    - Name rules: : and / are prohibited in schematic and group names - fetch no longer uses -group; use group:name or /:path/... - README and wiki updated (commands, Groups section, Skript API)
    Compatibility
    - Existing setups remain compatible; new features are additive - Storage path for trash: <rootDir>/.trash/SF_<group>/<name>.schm
    Upgrade Notes
    - Use group:name syntax or absolute root path with fetch - Consider using undo after delete or paste to revert quickly
    14 downloads
  7. 0.5.8SchemFlow 0.5.8Sep 18, 2025

    v0.5.8 — Group-aware UX, better listings

    Highlights
    - Paste, Delete, and Fetch now accept group:name (e.g., nature:mountain1) - Tab-complete lists ALL schematics: - Default group: plain names - Other groups: group:name - list command groups results by group with totals
    Changes
    - Clean user-facing names: uploads store schematic names as-is (no name prefix) - Legacy compatibility: existing prefixed objects still load transparently - Root path auto-created on enable/reload - Upload now checks for per-group name collisions and fails fast - Help/usage improved and plugin.yml updated
    Skript
    - paste schemflow schematic "group:name" at <location> - fetch schemflow schematic "group:name" [to "<dir>"] - schemflow schematics includes default names and group:name for other groups
    Compatibility
    - No config changes required; existing setups continue to work - Storage layout remains <rootDir>/SF_<group>/<name>.schm - Older files with name prefixes remain readable
    Upgrade Notes
    - You can now use group:name everywhere for clarity and faster tab-complete - If you relied on the old -group syntax for paste/delete/fetch, it’s now optional: - Paste/Delete/Fetch prefer group:name - Upload continues to use -group <name>
    10 downloads
  8. 0.5.7SchemFlow 0.5.7Sep 18, 2025

    v0.5.7 — FlowStack defaults, cleaner paths

    Highlights
    - Switched default paths from FlowSuite to FlowStack - Default downloads now live inside the plugin folder (no Skript path)
    Changes
    - Default S3 root prefix: storage.rootDir → FlowStack/SchemFlow (was FlowSuite/SchemFlow) - Default download directory: plugins/FlowStack/schematics (was plugins/Skript/schematics) - Code fallbacks updated to honor new defaults: - SchemFlowCommand, WorldProvisioner, SkriptHook, SchemFlowPlugin - Documentation refreshed: - README, wiki (Skript examples), and Modrinth description aligned with new paths
    Compatibility
    - Existing servers with an existing config.yml are unaffected unless you relied on code fallbacks. - No storage layout changes if you already set a custom storage.rootDir. - Group storage structure remains the same: <rootDir>/SF_<group>/SF_<name>.schm.
    Upgrade Notes
    - If you want to adopt the new defaults, update plugins/SchemFlow/config.yml: - storage.rootDir: "FlowStack/SchemFlow" - downloadDir: "plugins/FlowStack/schematics" - Otherwise, you can keep your current settings as-is.
    19 downloads
  9. 0.5.6SchemFlow 0.5.6Sep 18, 2025

    SchemFlow v0.5.6 — Grouped Schematics & Storage Hierarchy

    - Added: Group system for organizing schematics in S3 - Path format: <rootDir>/SF_<group>/SF_<name>.schm - Defaults: rootDir="FlowSuite/SchemFlow", group="default" - Fixed prefixes SF_ on group folders and file basenames (not configurable) - Added: -group <name> flag for upload, fetch, paste, and delete - Examples: /SchemFlow upload castle -group lobby, /SchemFlow paste castle -group lobby - Added: Group management commands - /SchemFlow groups — list all groups - /SchemFlow group create <name> — create a group - Added: Config keys - storage.rootDir — S3 root prefix (default: FlowSuite/SchemFlow) - storage.defaultGroup — group used when -group not provided (default: default) - Improved: Tab-completion suggests -group and known group names - Docs: README and Wiki updated with group usage, flags, and config

    Migration Note

    - New uploads use the grouped layout. If you have legacy .schm objects at the bucket root, move/rename them to match: - Move to: FlowSuite/SchemFlow/SF_default/ - Rename to: SF_<name>.schm - Alternatively, re-upload via /SchemFlow upload <id> -group default.

    Permissions

    - schemflow.groups — list groups (default: op) - schemflow.group.create — create group (default: op) - All per-command permissions from v0.5.5 remain unchanged (schemflow.*)

    Compatibility

    - Minecraft: 1.21+ - Java: 21+ - Platforms: Paper / Purpur - Dependency: WorldEdit 7.2.18+ or FAWE - Optional: Skript 2.7+

    Upgrading

    - Update plugin, restart, and verify storage.* keys in config.yml - Grant permissions as needed (e.g., builders may need schemflow.paste with specific groups)
    13 downloads
  10. 0.5.5SchemFlow 0.5.5Sep 18, 2025

    SchemFlow v0.5.5 — Granular Permissions & QoL

    - Added: Per-command permission nodes for fine-grained control; schemflow.admin still grants full access. - Improved: Tab completion now hides subcommands the sender can’t use and shows clearer “No permission” feedback. - Changed: Primary command alias added /schem; removed global command permission in plugin.yml in favor of per-subcommand checks. - Docs: README, Wiki (Commands), and CHANGELOG updated with a full permissions table. - Notes: No config changes required; safe upgrade. Build/tag aligned to v0.5.5.

    Permissions

    - schemflow.admin — full access (default: op) - schemflow.help — view help (default: true) - schemflow.list — list schematics (default: true) - schemflow.fetch — download schematic (default: true) - schemflow.pos1 — set first selection corner (default: true) - schemflow.pos2 — set second selection corner (default: true) - schemflow.upload — export and upload schematic (default: op) - schemflow.paste — paste schematic at location (default: op) - schemflow.delete — delete schematic from storage (default: op) - schemflow.cache — refresh schematic cache (default: op) - schemflow.reload — reload configuration and services (default: op) - schemflow.provision — provision world base (default: op)

    Upgrading

    - If using a permissions plugin (e.g., LuckPerms), grant nodes to non-op roles as needed (e.g., builders: schemflow.list, schemflow.fetch, schemflow.pos1, schemflow.pos2, optionally schemflow.paste). - Ops and schemflow.admin remain unaffected and retain full access.

    Compatibility

    - Minecraft: 1.21+ - Java: 21+ - Platforms: Paper / Purpur (official) - Dependency: WorldEdit 7.2.18+ or FAWE (either one) - Optional: Skript 2.7+
    14 downloads
  11. 0.5.4SchemFlow 0.5.4Sep 17, 2025

    SchemFlow v0.5.4 — Initial Modrinth Upload

    - Changed: Switched to Apache-2.0 licensing - Added: LICENSE and NOTICE bundled inside the jar (META-INF) - No functional changes vs v0.5.3; safe upgrade

    Previous Releases

    v0.5.3
    - Added: Startup guard — requires WorldEdit or FastAsyncWorldEdit (FAWE) - Fixed: Prevents runtime errors when WE/FAWE is missing by logging and disabling the plugin
    v0.5.2
    - Changed: Version alignment between tag, jar name, and plugin.yml - Improved: Build and packaging robustness
    v0.5.1
    - Added: First GitHub release - Fixed: Java 21 compatibility and shaded missing runtime dependencies
    v0.5.0
    - Initial public release: - S3/MinIO-backed .schm bundles for upload/fetch/paste/delete - WorldEdit flags: -e (entities), -a (ignore air), -b (biomes) - Tab completion and periodic cache refresh - Optional world provisioning - Optional Skript integration (expressions/effects)

    Compatibility

    - Minecraft: 1.21+ - Java: 21+ - Platforms: Paper / Purpur (official). May work on Spigot/Bukkit but not guaranteed. - Dependency: WorldEdit 7.2.18+ OR FastAsyncWorldEdit (FAWE). You only need one. - Optional: Skript 2.7+
    21 downloads

Similar projects

Plugin →