Skip to content

Releases: uskyblock/uSkyBlock

3.4.2 - Invite safety

29 Mar 00:26
0a6be47

Choose a tag to compare

uSkyBlock 3.4.2 is a patch release that prevents accidental island loss when accepting party invites.

Invite confirmation

  • Accepting an island invite when you already have an island now requires confirmation. Previously, /is accept would silently delete your existing island — a single misclick could cause irreversible data loss. The command now uses the same "repeat to confirm" safety gate as /is leave and /is restart. (#139)

Full Changelog: v3.4.1...v3.4.2

3.4.1 - Safer Setup, Config, and Upgrades

17 Mar 08:38
9e8fd94

Choose a tag to compare

uSkyBlock 3.4.1 replaces 3.4.0, which had a startup logger regression and should not be used. If you installed 3.4.0, upgrade directly to 3.4.1. uSkyBlock 3.4.x makes setup and upgrades safer with explicit config migrations, clearer schematic configuration, and more predictable validation and fallback behavior. Please check your startup logs after upgrading: some legacy config problems that were prev iously silently ignored now produce warnings, and while known cases are migrated automatically, not every invalid configuration can be repaired safely. If you have issues, you are welcome to reach out via issues (https://github.com/uskyblock/uSkyBlock/issues) for support.

3.4.1

  • Fixed a startup failure in 3.4.0 caused by Guice logger injection conflicting with Guice's built-in Logger binding.
  • No config or data migration changes were introduced in 3.4.1 beyond the 3.4.0 release line.

Upgrade and config reliability

  • Added explicit, versioned config.yml migrations to make upgrades safer and more predictable.
  • Time-based config values now use duration syntax like 30s, 2m, and 1h to make units explicit. Existing configs are migrated automatically.
  • Please verify options.party.invite-timeout after upgrading. Older defaults, docs, and runtime behavior were not aligned between s and ms. The new default is 2m.
  • Legacy-only keys are cleaned up automatically during upgrade.
  • config.yml is now the only supported main config filename. If you use config_.yml, rename it to config.yml before upgrading.

Schematics and island setup

  • Island schemes now use explicit schematic file paths, with automatic migration from older config layouts.
  • Startup validation is stricter: invalid or unusable default schemes now produce clear warnings and safer fallback behavior.
  • Fixed spawn placement on first world generation (hotfix already shipped in 3.3.2).

Config validation and defaults

  • Invalid config values now log clear warnings and fall back deterministically instead of being silently ignored.
  • Bundled config.yml defaults are now applied more consistently.
  • Invalid or unsupported language values now warn and always fall back to English.
  • options.island.teleportCancelDistance and signs.enabled are now explicitly supported config keys. They were previously read, but were missing in the default config and documentation.

Spawning

  • Added dedicated guardian habitat spawn controls for deep-ocean prismarine habitats on islands.
  • Fixed guardian habitat spawning when island mob limits are disabled.
  • Existing configs are migrated automatically to add the new guardian settings.

Other admin notes

  • levelConfig.yml is no longer created on fresh installs. Existing on-disk overrides still work if you already have one.

Full Changelog: v3.3.2...v3.4.1

3.3.1 - Spawn placement fix

11 Mar 15:25
d027f66

Choose a tag to compare

uSkyBlock 3.3.1 is a focused patch release that fixes spawn placement on first world generation.

Fixes

  • Fixed spawn placement on first world generation.

Links

3.3.0

08 Mar 18:24
f659beb

Choose a tag to compare

uSkyBlock 3.3.0

This release is centered on localization and documentation.

Crowdin

uSkyBlock now includes 50+ languages, and translation contributions are now part of the normal project workflow.

Help improve translations on Crowdin:
https://crowdin.com/project/uskyblock-revived

Highlights

  • Added 50+ bundled languages
  • Improved localization for player-facing and admin-facing messages
  • Added /usb lang for language discovery and switching
  • Improved locale hints and first-setup language behavior
  • Improved translated item, block, and entity names where supported by Minecraft
  • Fixed translation packaging issues
  • Fixed lore visibility for display items on Spigot
  • Improved menu readability and text styling

Documentation

We replaced the old stale docs with a new docs site focused on the most useful information for players, admins, developers, and contributors:

https://uskyblock.github.io/

Useful links:

Admin notes

  • challenges.yml is now documented as a first-class tuning file
  • Challenge name, description, and reward text are not translated automatically
  • Non-English servers should translate those challenge text fields manually

Upgrade note

  • Removed the obsolete legacy flatland fix
  • Test upgrades on staging first if you depend on older world-generation behavior

Contribute

If you want to help improve uSkyBlock without writing code, translation contributions are especially valuable right now:

https://crowdin.com/project/uskyblock-revived

v3.2.2 MC1.21.10 - 1.21.11

08 Mar 08:02
fff8209

Choose a tag to compare

What's Changed

  • Fixed a challenge menu UI bug on Spigot where lore/description text was not shown for challenges.

Thanks to @louloumc for the report.

Full Changelog**: v3.2.1...v3.2.2

v3.2.1 MC1.21.10 - 1.21.11

26 Feb 18:24
69c9217

Choose a tag to compare

What's Changed

  • Fixed a bug that caused translation files to not be included in the jar. Therefore, only English was supported.

This release only restores previous translation behavior. Stay tuned for a full translation overhaul soon - with crowdin support, many languages, per-player language settings, and more!

Full Changelog: v3.2.0...v3.2.1

v3.2.0 MC1.21.10 - 1.21.11

20 Jan 11:00
d76ecf2

Choose a tag to compare

What's Changed

New Features and Improvements

  • Support for Minecraft versions 1.21.10-1.21.11
  • Multiverse dependencies are now optional. We recommend continuing to use them, but the plugin will work without them. Multi-world inventory isolation will have to be managed separately.
  • Support for Multiverse version 5 (thanks to @marcbal)
  • Improve the linking of overworld and nether islands through nether portals.
  • Make challenge lookups by name more robust
  • Add a separate spawn limit for copper golems, since their function in-game differs from other golem types
  • Fix an issue where money was deposited instead of withdrawn in Vault economy integration
  • Improve island protections, especially for Nether Island and the spawn regions

Removal of Redundant Legacy Features

  • Removed the in-game config editor. Editing configs in-game via a GUI keyboard is both error-prone and cumbersome. Server admins can directly change the values inside the config.yml file and then reload the plugin.
  • Removed the /usb lang command. Language settings can be changed via the config.yml.

Internal Restructuring

We tackled some major internal restructuring to make the plugin more maintainable in the long run. Highlights include

  • Dependency injection (#79)
  • Removed unsafe concurrency
  • Unified and centralized the scheduling system
  • Refactored time-related functions to use a proper time API
  • Removed unused legacy code
  • Migrate to Gradle builds
  • Cleaned up the language translation mechanism and files
  • General code cleanup and improvements

Full Changelog: 3.1.0...v3.2.0