0.5.13latestSchemFlow 0.5.13Jun 14, 2026
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.SchemFlow v0.5.13
- `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 aAdded — Developer API (
WorldProvisioner, called by reflection — no compile-time dependency)pos1/pos2selection to S3 preserving the absolute world origin (map builder).
- NewInternal
SchematicInfovalue type;WorldEditUtils.readClipboard/pasteClipboard(paste-at-origin or min-at-0,0,0) /exportCuboidPreserveOrigin;SafeIO.deleteRecursively.
- Absolute placement requires maps saved viaNotes
saveSelectionAsMap. Existing schematics from/schemflow uploadpaste 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+ / FastAsyncWorldEdit0.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 withlocal:prefixDedicated Update Command
- Safer Overwrites: New/schemflow update <schematic> --confirmcommand - Explicit Confirmation: Mandatory--confirmflag prevents accidental overwrites - Replaces: Old/schemflow upload -update --confirmpattern for better UXLightning-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 usageUser Experience Improvements
Simplified Command Structure
- Removed: Complex-localflag system - Added: Intuitivelocal:nameprefix for local schematics - Cleaner: More logical command organization and help textConsistent 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 structureComplete Tab Completion
- Server Schematics: Propergroup:nameformat for non-default groups - Local Schematics: Clearlocal:nameformat for offline files - Default Group: No prefix for default group schematics (as intended) - All Options: Default group now appears in-groupargument completionTechnical 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/.schematicprocessingPerformance 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 performanceUpdated 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.120.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:]namenow soft-deletes to S3.trash-restore <name> [-group <dest>]to bring items back (optionally to a different group) -trashlists trashed schematics -trash clear --confirmpermanently 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/disableImproved
- 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 completionFixed
- 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 & workflowsNotes
- Only/SchemFlow fetchwrites persistent schematic files;pasteuses ephemeral cache - Use--confirmfor 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.0.5.10-5SchemFlow 0.5.10-5Sep 18, 2025 SchemFlow v0.5.10-5 — Hotfix
- Fixed: plugin.yml YAML indentation undercommandscausing “Invalid plugin.yml” on load - No functional changes beyond the fix Compatibility: - Minecraft 1.21+, Java 21+, Paper/Purpur0.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 trashlists trashed schematics - Added:/SchemFlow trash clear --confirmpermanently purges all trashed items - Changed:restorenow restores from the flat trash;-group <dest>optionally targets destination groupCommands
-/SchemFlow restore <name> [-group <dest>]— restore from trash (defaults tostorage.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 andgroup:namesyntax introduced in recent versions remain supported.0.5.9SchemFlow 0.5.9Sep 18, 2025 v0.5.9 — Undo/Redo, path fetch, and Skript upgrades
Highlights
- Undo/Redo support: -undoandredofor last paste/delete - Deletes are now reversible (moved to S3 trash) - Path-based fetch: -/SchemFlow fetch /path/to/name(.schm)understorage.rootDir- Tab-complete folders and.schmfiles under root - Skript upgrades: -paste/fetchacceptgroup:name-schemflow groupsexpression -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 -fetchno longer uses-group; usegroup:nameor/: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>.schmUpgrade Notes
- Usegroup:namesyntax or absolute root path withfetch- Consider usingundoafter delete or paste to revert quickly0.5.8SchemFlow 0.5.8Sep 18, 2025 v0.5.8 — Group-aware UX, better listings
Highlights
- Paste, Delete, and Fetch now acceptgroup:name(e.g.,nature:mountain1) - Tab-complete lists ALL schematics: - Default group: plain names - Other groups:group:name-listcommand groups results by group with totalsChanges
- 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 andplugin.ymlupdatedSkript
-paste schemflow schematic "group:name" at <location>-fetch schemflow schematic "group:name" [to "<dir>"]-schemflow schematicsincludes default names andgroup:namefor other groupsCompatibility
- No config changes required; existing setups continue to work - Storage layout remains<rootDir>/SF_<group>/<name>.schm- Older files with name prefixes remain readableUpgrade Notes
- You can now usegroup:nameeverywhere for clarity and faster tab-complete - If you relied on the old-groupsyntax for paste/delete/fetch, it’s now optional: - Paste/Delete/Fetch prefergroup:name- Upload continues to use-group <name>0.5.7SchemFlow 0.5.7Sep 18, 2025 v0.5.7 — FlowStack defaults, cleaner paths
Highlights
- Switched default paths fromFlowSuitetoFlowStack- Default downloads now live inside the plugin folder (no Skript path)Changes
- Default S3 root prefix:storage.rootDir→FlowStack/SchemFlow(wasFlowSuite/SchemFlow) - Default download directory:plugins/FlowStack/schematics(wasplugins/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 pathsCompatibility
- Existing servers with an existingconfig.ymlare unaffected unless you relied on code fallbacks. - No storage layout changes if you already set a customstorage.rootDir. - Group storage structure remains the same:<rootDir>/SF_<group>/SF_<name>.schm.Upgrade Notes
- If you want to adopt the new defaults, updateplugins/SchemFlow/config.yml: -storage.rootDir: "FlowStack/SchemFlow"-downloadDir: "plugins/FlowStack/schematics"- Otherwise, you can keep your current settings as-is.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 prefixesSF_on group folders and file basenames (not configurable) - Added:-group <name>flag forupload,fetch,paste, anddelete- 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-groupnot provided (default:default) - Improved: Tab-completion suggests-groupand known group names - Docs: README and Wiki updated with group usage, flags, and configMigration Note
- New uploads use the grouped layout. If you have legacy.schmobjects 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 verifystorage.*keys inconfig.yml- Grant permissions as needed (e.g., builders may needschemflow.pastewith specific groups)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.adminstill 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 inplugin.ymlin 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, optionallyschemflow.paste). - Ops andschemflow.adminremain 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+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 upgradePrevious 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 pluginv0.5.2
- Changed: Version alignment between tag, jar name, and plugin.yml - Improved: Build and packaging robustnessv0.5.1
- Added: First GitHub release - Fixed: Java 21 compatibility and shaded missing runtime dependenciesv0.5.0
- Initial public release: - S3/MinIO-backed.schmbundles 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+
Similar projects
Plugin →Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
Chunky
Pre-generates chunks, quickly and efficiently
18.4MSueta
WorldEdit
A Minecraft Map Editor... that runs in-game! With selections, schematics, copy and paste, brushes, and scripting. Use it in creative, or use it temporarily in survival.
11.6MSueta
LuckPerms
A permissions plugin/mod for Minecraft servers.
2.8MSueta
ItemSwapper
Inventory update concept for hotswapping items.
2.1MSueta
SkinsRestorer
🎨 Ability to restore/change skins on servers! (Offline and Online Mode)
1.6MSueta