Tags
Creators
Details
Licensed MIT
Published last year
Updated last year
All versions
v1.6.0
Release
LilWorlds v1.6.0:last year 105
Compatibility
Minecraft: Java Edition
1.21–1.21.6
1.20.x
1.19.x
1.18.x
1.17.x
1.16.x
Platforms
Bukkit
Paper
Purpur
Spigot
Changes
️ CRITICAL BUG FIXES
Asynchronous Operations
- FIXED: Critical server errors and instability caused by performing Bukkit API calls (world loading, unloading, deletion) on asynchronous threads.
- FIXED: Potential server freezes when deleting worlds due to slow file operations blocking the main thread.
- IMPROVED: All world management operations are now fully thread-safe, preventing data corruption and unexpected crashes.
TECHNICAL IMPROVEMENTS
️ Architecture
- IMPROVED: Refactored
WorldManagerandLilWorldsAPIto correctly separate heavy, non-API tasks (like file deletion) from main-thread-only Bukkit calls. - IMPROVED: The internal list of managed worlds now uses a
ConcurrentHashMapto guarantee safe access from multiple threads. - NEW: The
deleteWorldprocess now returns aCompletableFuture, providing a more robust and modern asynchronous API for developers.
️ IMPLEMENTATION
⚙️ Correct Asynchronous Pattern
The API now safely handles threading, allowing developers to call asynchronous methods without worrying about server stability.
// Example: Asynchronously and safely deleting a world
lilWorldsAPI.deleteWorldAsync("world_to_delete").thenAccept(success -> {
if (success) {
player.sendMessage("World deleted successfully!");
} else {
player.sendMessage("Error: Could not delete the world.");
}
});
COMPATIBILITY
️ Backward Support
- MAINTAINED: Fully backward compatible. No changes are required for existing code that uses the API.
- MAINTAINED: All command syntax and behavior remain identical for users.
- MAINTAINED: No configuration migrations are needed.
UPDATE SUMMARY
- Fixed Critical Threading Issues: Resolved major stability problems by ensuring all Bukkit API calls run on the main server thread.
- Eliminated Server Lag: Moved slow file deletion operations to a separate thread, preventing server freezes.
- Enhanced Reliability: Made the plugin significantly more stable and safe for production environments.
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:DTSoa5GI:eCMa6jIk"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:DTSoa5GI:eCMa6jIk"
}

