Tags
Creators
Details
0.5.15
Compatibility
Changes
๐ SchemFlow v0.5.15
Fix: maps provisioned with provisionRoundWorld no longer come out dark.
๐ก Fixed โ provisioned round maps were dark
Maps were dark everywhere except right next to light sources. provisionRoundWorld completed as soon as the blocks were pasted, while FastAsyncWorldEdit was still relighting in the background. A caller that unloads or copies the world right away (for example to stage it as a game map) saved it before that relight finished: every block, but no light.
Now:
- every SchemFlow paste relights the pasted chunks (plus a one-chunk border) through the server's own light engine (Moonrise/Starlight, Paper 1.21+);
- off the main thread the paste waits for the relight, so
provisionRoundWorldcompletes only once the map is lit; - the light math runs on the light engine's worker threads. The main thread only loads and holds the chunks, 32 per tick.
โ Verified
Provision, then unload and copy the world at once:
| Server | v0.5.14 | v0.5.15 |
|---|---|---|
| Purpur 26.2 + FAWE 2.15.4 | no light (0/900 shaded cells correct) | vanilla-correct light (899/900*) |
| Paper 1.21.11 + FAWE 2.15.1 | no light (0/900) | vanilla-correct light (899/900*) |
* the remaining cell is a light-source block itself. A ~960-chunk map relights in 2โ4 s.
โ๏ธ New config
Written into existing config.yml files on startup:
lighting:
relightAfterPaste: true # relight pasted chunks; round provisioning waits for it
maxWaitSeconds: 60 # longest provisioning waits before handing the world over anyway
chunksPerTick: 32 # chunk loads per tick for the relight (main-thread budget)
Update if you provision round maps. Without it they can come out dark.
Compatibility: Minecraft 1.21โ1.21.11 and 26.1โ26.2 ยท 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:OaTzSQcI"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:RWuhoVqf:OaTzSQcI"
}

