Tags
Creators
Details
0.5.13
Compatibility
Changes
๐ 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 apos1/pos2selection to S3 preserving the absolute world origin (map builder).
๐ง Internal
- New
SchematicInfovalue 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 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+ / FastAsyncWorldEdit
Optional dependencies
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:RWuhoVqf:yWLukKpg"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:RWuhoVqf:yWLukKpg"
}

