1.0.3
Compatibility
Changes
📜 Changelog — WSC v1.0.3
New Features
- Added new commands:
/wsc config opsPerTick <value>— dynamically adjust the per‑tick operation limit in‑game./wsc debug— displays a summary including snapshot count, current mode, work queue size, and reservation count.
- Enhanced
/wsc repairreporting: now shows not only the number of differing chunks but also:- how many blocks were actually changed,
- how many TileEntities were updated,
- how many TileEntities were cleared.
Optimizations
- Unified section hashing: both snapshot creation and world comparison now use the same algorithm (
BlockState.hashCode()per position), eliminating false differences. - Fast empty‑air skip: sections consisting only of air are quickly validated without full scanning.
- TileEntity comparison simplified: only presence/absence is checked, avoiding false positives from dynamic NBT changes.
- Automatic cleanup on world exit: snapshots and reservations are cleared on
ServerStoppedEvent, preventing infinite loading screens when re‑entering a world.
Improvements
- Chunk reservation system: each chunk in the queue is tagged with an owner to prevent conflicts in LAN/multiplayer scenarios.
- Action bar notifications: all messages now appear above the hotbar instead of cluttering the chat.
- Accurate statistics: repair and debug commands provide precise counts instead of rough estimates.
✨ In short:
v1.0.2 introduced repair and basic optimizations.
v1.0.3 perfects the system with unified hashing, zero false positives, new configuration and debug commands, and smoother multiplayer compatibility.
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:eGrwKg89:K8nzYq3s"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:eGrwKg89:K8nzYq3s"
}

