Tags
Creators
Details
3.5.0
Compatibility
Changes
3.5.0 - SQLite challenge storage
uSkyBlock 3.5.0 is a feature release that moves challenge progress into a SQLite database and modernizes placeholder support.
Challenge progress now stored in SQLite
- Challenge completion data has moved from the legacy per-player/per-island YAML files into a single SQLite database (
plugins/uSkyBlock/data/challenge-progress.db), with a one-time automatic migration on first start. Includes hardening for storage integrity and legacy-migration edge cases. (#137, #146) - Upgrade note: the migration runs once and logs a summary. Legacy entries that cannot be attached to an existing island (for example, progress belonging to players who no longer own an island) are left on disk rather than deleted, so nothing is lost.
Modernized placeholders
- Placeholder integration is now component-native, with a dedicated PlaceholderAPI module. uSkyBlock placeholders work directly inside island and party chat formats via
<usb:KEY>tags. The oldplaceholder:config block has been removed and yourconfig.ymlmigrates automatically (123 → 124). (#143)
Reliability fixes
- Harden world loading against a missing void generator. (#142)
- Fix biome permission node declarations in
plugin.yml. - Guard against null player data when clearing inventories.
Localization
- Updated translations from Crowdin. (#136)
Full Changelog: https://github.com/uskyblock/uSkyBlock/compare/v3.4.2...v3.5.0
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:KmR5sN3n:NJtqvzDN"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:KmR5sN3n:NJtqvzDN"
}

