[SBO] SkyblockOverhaul is a feature‐rich Hypixel SkyBlock mod for Minecraft Fabric supporting most current Hypixel SkyBlock versions, designed primarily for the Diana event.
SBO 0.7.2-beta.1
New
- Crown of Avarice tracker: tracks your CoA coins, earned coins, profit (/h) and time until maxed
- Redesigned CoA tracker: CoA icon, progress bar to 1B, Minecraft or Inter font, optional background, or the legacy text look (Diana settings)
- Overlays can no longer end up off screen (e.g. after a modpack config from another resolution)
- Debug "Separate Alpha Data": on the Alpha Network trackers, stats, achievements and past events use their own copy, your main data stays untouched
- Achievements for CoA coins (1B and 3B)
- Badge switches for other players' motion and animations in the tab list
Fixes
- Magic find missing from drop messages and party announcements
- Lootshare display and message not showing in parties; mobs you don't share or receive are skipped; one damage splash per melee hit
- Jerry counting as King Minos, King Minos overlay on Jerry mobs
- Fish coins always counting as 4k
- Tracker flickering
- Myth The Fish achievement unobtainable
SBO 0.7.2-beta.1
New
- Crown of Avarice tracker: tracks your CoA coins, earned coins, profit (/h) and time until maxed
- Redesigned CoA tracker: CoA icon, progress bar to 1B, Minecraft or Inter font, optional background, or the legacy text look (Diana settings)
- Overlays can no longer end up off screen (e.g. after a modpack config from another resolution)
- Debug "Separate Alpha Data": on the Alpha Network trackers, stats, achievements and past events use their own copy, your main data stays untouched
- Achievements for CoA coins (1B and 3B)
- Badge switches for other players' motion and animations in the tab list
Fixes
- Magic find missing from drop messages and party announcements
- Lootshare display and message not showing in parties; mobs you don't share or receive are skipped; one damage splash per melee hit
- Jerry counting as King Minos, King Minos overlay on Jerry mobs
- Fish coins always counting as 4k
- Tracker flickering
- Myth The Fish achievement unobtainable
SBO 0.7.2-beta.1
New
- Crown of Avarice tracker: tracks your CoA coins, earned coins, profit (/h) and time until maxed
- Redesigned CoA tracker: CoA icon, progress bar to 1B, Minecraft or Inter font, optional background, or the legacy text look (Diana settings)
- Overlays can no longer end up off screen (e.g. after a modpack config from another resolution)
- Debug "Separate Alpha Data": on the Alpha Network trackers, stats, achievements and past events use their own copy, your main data stays untouched
- Achievements for CoA coins (1B and 3B)
- Badge switches for other players' motion and animations in the tab list
Fixes
- Magic find missing from drop messages and party announcements
- Lootshare display and message not showing in parties; mobs you don't share or receive are skipped; one damage splash per melee hit
- Jerry counting as King Minos, King Minos overlay on Jerry mobs
- Fish coins always counting as 4k
- Tracker flickering
- Myth The Fish achievement unobtainable
- SBO no longer edits Bobby's config. While Bobby is enabled, the Chunk Cache stays off and says so once in chat; turning Bobby off lets it start again from the next lobby.
- Render Hub Island Only now only filters chunks while the Chunk Cache is running.
- Fixed the Pickuplog keeping entries after switching worlds before they expire. (#309)
- Small performance improvement for config option requirement checks. (#309)
- SBO no longer edits Bobby's config. While Bobby is enabled, the Chunk Cache stays off and says so once in chat; turning Bobby off lets it start again from the next lobby.
- Render Hub Island Only now only filters chunks while the Chunk Cache is running.
- Fixed the Pickuplog keeping entries after switching worlds before they expire. (#309)
- Small performance improvement for config option requirement checks. (#309)
- SBO no longer edits Bobby's config. While Bobby is enabled, the Chunk Cache stays off and says so once in chat; turning Bobby off lets it start again from the next lobby.
- Render Hub Island Only now only filters chunks while the Chunk Cache is running.
- Fixed the Pickuplog keeping entries after switching worlds before they expire. (#309)
- Small performance improvement for config option requirement checks. (#309)
# SBO 0.7.1 for Minecraft 26.3, 26.2 & 26.1.x
# Minecraft 26.3 Support
Minecraft 26.3 is now supported. Minecraft 26.2 and 26.1.x remain supported as well, although we recommend updating from 26.1.x to at least 26.2 now. Since this the first release of SBO for MC 26.3, please report any bugs or issues you encounter to us.
# Chunk Caching feature
We have added Chunk Caching directly integrated onto SBO! This essentially the same idea as mods like Bobby and Hold That Chunk V2, it is just more performant and native to SBO, with no additional mods needed. The other mods had downsides such as:
- Bobby needed you to enable Dynamic World Management or otherwise fully bugged out in Hypixel.
- Bobby also saved chunks to disk, not just RAM, making it slower than necessary, as disk writes and chunk serialization are costly.
- The alternative LOD mods required a recent GPU that supports their tech, and the LOD-to-real transition when moving around the Hub still caused added latency.
- The Hold That Chunk V2 mod was more simple compared to Bobby, but it also lacked certain advanced domain-specific features which we included, for example to only cache and render chunks actually in the main Hub island, and not neighboring islands.
SBO's Chunk Cache is both simple, performant and advanced in this regard:
- It does not need additional configuration to prevent bugs like Dynamic World Management.
- It does not save chunks to disk; RAM-only, which keeps it fast. No chunk serialization/deserialization, no disk-writes, improved SSD lifetime and I/O.
- It still uses vanilla chunks, not baking/loading/rendering LODs, which means all GPUs that can run Minecraft can also run it, compared to e.g. mods like Voxy requiring OpenGL 4.6. Since the chunks use vanilla system, no baking or conversion from LOD to real chunk is needed when you move around from a real chunk to a cached chunk as well, making it have less latency.
- We have added some domain-specific features that further enhance performance: The "Chunk Cache Areas" set to "Hub" will make the cache task not run in the first place for any other islands, the "Cache Hub Island Only" will make the cache only consider chunks actually in the main Hub Island and e.g. not other islands visible from the Hub (Spider's Den, The Park, The Barn), the "Render Hub Island Only" will additionally further cancel rendering of chunks not belonging or intersecting with the main Hub Island even if they are vanilla-loaded chunks not from cache, and "Only Above Server Render Distance" will make this whole process only work if your Render Distance is above the server's.
We have ran profilers and found the impact of the cache itself to be minimal compared to rendering all the chunks, which the vanilla does - so if you are trying to use an extreme value like 64 Render Distance - we still would recommend using a LOD mod instead, but 43 and 32 Render Distance values were perfectly fine per our tests, and 16 worked without any sort of FPS drop.
Note that your client might only allow 16 Render Distance by default - the C2ME mod can bump this number up from the default based on how much RAM is allocated to the game. Typically, for 4GB maximum heap memory, it will be 43, but we recommend 32.
The Chunk Cache is default enabled, but due to "Only Above Server Render Distance" also being default enabled, it won't run and cause any performance loss if your Render Distance in the vanilla-options screen is set to 8 or less - it will only start working after 9 and more Render Distance.
# Rare Mob Kill Time Message feature
Added Rare Mob Kill time message, which shows in chat time took kill a Rare Diana Mob, for example: "[SBO] Took 3.7s to kill the Minos Inquisitor!". This is only triggers if you are the spawner of the Rare Mob as it starts the timer when you get the Hypixel spawn message for the Mob, but can be enhanced in the future to also time other's lootshare mobs by starting the timer at the time of x,y,z | Rare Mob Name message's receival in the future.
This feature is default-enabled but can be toggled off in the settings menu, or suppressed per mob-type with the newly added message suppression feature from 0.7.0.
# Lootshare Features
Added "Lootshare Display" (default on) - Shows whether or not you Lootshared below the mob's health nametag for mobs you don't spawn yourself.
Added "Lootshare Message" (default on) - Sends a message to party chat when you deal enough damage for lootshare.
Added "Lootshare Party Overlay" (default false) - shows who lootshared so far (depends on party message being sent) and the spawner of the mob on screen, /sbomoveguis to move it.
Added "Lootshare Display Test" debug option, shows the Lootshare Display text below the mob's health nametag for your own spawned mobs as well for testing purposes.
# Option Dependencies
The configuration GUI now supports and highlights disabled options due to their missing dependencies more clearly, for example Waypoint Opacity setting requires disabling Dynamic Waypoint Opacity, and Only Above Server Render Distance requires enabling Hub Chunk Cache first.
# Periodic Update Rechecks
Added Periodic Update Recheck; triggers every 8 hours after the initial check. The 8 hour is a conservatively high time to not annoy users. Reminder that you should always be using the latest version of the mod to enjoy the latest enhancements, bug fixes and performance tweaks.
# Ability to Message Unsuppress
Added the ability to unsuppress suppressed messages by clicking on the message suppressed message.
# Player Name Tab Complete
Added player-name default tab-complete to SBO commands for the players in the current lobby, originally intended for /sbocheck, although that command is removed now, when it will be added back it will be useful.
# Show self Badge and Name
Added the "Show my badge in F5" option to /sbobadge which will render your own badge, stat line (such as Diana Kills or Leaderboard Rank), and player name (with SB Level included from the Hypixel nametag) in the F5 menu for yourself in addition to others.
# Custom colors, effects, motion & gradient for all Supporters
You can now pick custom hex colors and are not just limited to pre-defined colors. The /sbobadge menu now also has two columns and is wider. You can now configure every part of the nametag and configure separate colors and effects for them all. Every part gets a color effect (wave, pulse, chroma, shine, flash, sparkle) and a motion (wavy, bounce, shake, glitch).
# Alpha-preparation
Added /sbodropchancesnew, which calculates drop chances of Diana-related items with the new drop rates and the removal of Looting in Alpha Hypixel Network. The No Shuriken Overlay feature has been tuned to accept the new shuriken unicode character as well, and items that send rare drop messages like Hilt of Revelations and Crown of Greed will not be double counted now.
# Experimental features
Added "Disable Auto Tweaks" - which only disables the particlequality extreme tweak currently, but can disable more in the future. This is an option in the Debug category and is not recommended to be used. It will decrease your gameplay quality to not have server-side particlequality at extreme, because the server will send less particles per tick, causing Diana solvers and all other mod features relying on particles to be less accurate.
# Bug fixes
- Fixed the mod thinking you lootshared some impossible-to-lootshare items such as Braided Griffin Feather or Myth the Fish if you obtain the items shortly after partaking in a lootshare of a Rare Diana Mob.
- Fixed the x,y,z waypoints without a Rare Mob name not adding waypoints anymore (regression in 0.7.0).
- Fixed the "Reset Session on Game Close" option not working. The issue was caused by the session being reset after data was already saved when quitting the game, instead of before.
- Fixed the Diana-related HUD elements not rendering in the Overlay Edit Screen (/sbomoveguis) unless you have a diana Spade and are in the Skyblock Hub. This was actually supposed to be fixed in a previous release, but the fix did not work as intended, as the isInOverlayEditScreen detection itself was broken as well.
- Fixed the Knowledge is Power achievement being obtainable from getting Myth the Fish from a regular treasure burrow, instead of just after answering a Sphinx question correctly.
- Fixed the mod showing 0.00% percentage drop rate for very rare drops such as Mythological Dye on the !dye Party Command, even if you have dropped more than one. The decimal precision will now get as precise enough as possible to avoid showing 0.00% if the drop count is more than zero.
- Fixed a potential cleanup issue related to RareMobHighlight that only affects MC 26.1 users.
- Fixed a renamed diana spade (e.g. Skyblocker item customize) potentially causing issues in another place in the code, another instance of this was already fixed in 7.0.0; this further fixes it in the remaining cases.
- Fixed the /sbobadge menu not scaling down on small screens unlike the hub screen (the main /sbo menu).
- Fixed SBO badge compatibility with SkyHanni's custom tab list.
- Fixed Sodium Extra version requirement being 0.9.2 for the 26.1 version (26.1.2 can use 0.9.2, but requiring 0.9.2 broke 26.1 and 26.1.1 compatibility - so we require 0.8.7 or above now instead).
- Fixed Pickuplog feature with animated armors by excluding the armor slots from the feature; it will only read player inventory and hotbar now, not armor or off-hand/shield slots.
- Fixed the Custom Sound and Rare Mob Title appearing 2 times for Sphinx; one when you spawn it and one after answering it's question.
# Misc
- The Diana mayor tracker has been reset message will now not get sent if all your trackers were already zero, meaning there was either no Diana that SB Year or you haven't played it.
- Added suggestion to relog or restart the game if Party Finder does not open due to not being in Hypixel mistakenly.
- The SBO developers and contributors will now have a team tag in the badge and in the Party Finder cards.
- The SBO badge now also shows in chat, not only tab list and nametag.
- Adjusted the description of the /sbohelp command in the help text to say "Opens this GUI" instead of "Shows this message", and made it open the same commands list menu that opens when you click the Commands button in the hub (the main /sbo command's menu)
- You can now turn off badges if you never want to see your own or other's badges.
- Added the !block and !unblock Party Commands.
- The settings subcategories are now collapsible and can be turned off/on in whole.
- The Low render distance warning condition has been changed from less than 10 render distance to 8 render distance, as Hypixel uses 8 render distance as the server render distance. Setting it to 10 is still recommended, as you can't actually see all 8 chunks due to fog, while setting it to 10 fixes that.
- There is now a 2-second cooldown of Party Finder refreshes when using the F5 manual refresh to not make you use all your allowed requests.
- In the event of a connection the mod sends failing, the failing URL will now be logged to latest.log.
- The Rare Mob Validation distance constant has been decreased to 25 from 30 blocks as that seems to be the ditance the Hypixel sends the nametag of the Rare Mob at.
- The Rare Mob Waypoint deduplication for coordinates that are close to each other are now smarter, different types of rare mob waypoints, or rare mob waypoints sent by separate people, will not be rejected even if they are in 10 blocks of each other now, for example.
- The Spade Guess deduplication block threshold have been restored to 30 blocks from 32 blocks; you should be able to more consistently find 7 Start burrows at the start of your session easier again now.
- The Debug category of options now warn you more clearly with red texts not to enable anything in that category if you don't know what you are doing.
- The SBO badge system is now more compatible with other mods now; there is also a /sboconflicts command to check for conflicts and to send a compatibility report.
- Added Subcategory info texts in Party Finder, for example about how Spooky Fishing works and its timing.
- A SBO logo will be shown next to Supporters in Party Finder now, in addition to team members having the SBO Dev team tag.
- The Party Finder now allows decimal requirements now, such as 48.5 Tracking.
- Overlays Examples updated for Mythos Mob HP overlay (to include the new "Lootshared" text) and Lootshare Party Overlay
- "Mythos Mob HP" option renamed to "Mythos Mob Infos", the new description is "Displays HP and your lootshare status of mythological mobs near you, /sboguis to move it."
- Achievements can now be internally set to only output a chat message and no sound/title; the Real Diana non achievement for installing SBO now only sends a chat message.
- Achievements now load from the new /achievements/stats endpoint instead of /playerInfo. The Diana bestiary and the maxed Diana carnival unlock on their own, without opening the bestiary or ritual menu. The bestiary menu check no longer stops at the first mob that isn't maxed.
- The party counts in the sidebar of Party Finder menu reload together with the party list instead of once a minute.
# Optimizations
- Scoreboard and TabList parsing code is now more optimized.
- The connections the mod sends are now more optimized, using sendAsync instead of send, and a cached thread pool instead of a fixed thread pool to allow infinite concurrent requests, no matter the amount of CPU cores. The old logic that limited concurrent requests to cpu cores * 2 were causing party finder parties to never load for people with dual-core or single-core CPUs, due to the new party finder using/sending more requests than the old.
- The connections to backend can now take advantage of the HTTP/3 / QUIC protocol over UDP when running under Java 26 or above.
- Own Stats for Party Finder now load in one request for all Party Types, further ensuring minimal party list loading or connection issues.
- Auction House prices only refresh every 30 minutes now, instead of 5 minutes. This does not cause market manipulation or wrong prices as the backend actually refreshes the data every 30 minutes itself then keeps it cached for 2 hours already; the backend keeps prices from last 10 price refreshes and ignores oddly high or low price changes, protecting against market manipulation.
- The inventory reading logic has been optimized.
- The formatting removal functions are now faster.
- Centralized and cached the result of functions used to check if you are in The Hub or in Skyblock.
- The conditions of Overlay's and OverlayTextLine's to render are now updated at most once per tick instead of every frame.
- A few places in the code that used Kotlin's lazy as a local variable with no thread safety mode for performance are converted to nullable variables that are assigned at first use using null as a sentinel value meaning not initialized, making them faster since they avoid the lazy object allocation and isInitialized logic.
- The SboVec's x, y and z fields are now final and it's hashCode is now cached for faster map lookups.
- The SBOEvent is now more optimized, using a java.lang.ClassValue to keep its event listeners instead of ConcurrentHashMap, and avoiding iterator allocation in it's emit method.
- The dirty mod data is now flushed to the disk every 3 seconds now instead of every second. Note that this already only writes the actually changed files, and your operating system does it's own write-caching; so the effect of this is not as big as you might think, but is still a welcome optimization regardless, with low-risk, as losing changes up to 3 seconds in the past in an event of a crash is acceptable trade-off for the performance benefit of not flushing every second.
- The chat and Party Finder regex is now more optimized.
# Technical changes
- Cleaned up an extra isLootShare local variable that re calculated a value already saved to another local variable named ls.
- Marked a few more functions as internal-use only.
- Implemented decimalSeconds parameter for Helper#formatTime, allowing it to format it as e.g., "3.7s" instead of just "3s". This is used in the (newly-added) Rare Mob Kill Time message.
- The mod now uses AttackBlockCallback of Fabric API instead of listening for ServerboundPlayerActionPacket.Action.START_DESTROY_BLOCK manually.
- The thread-safety issues of the mod were fixed and regular collections are used now instead of CopyOnwriteArrayList or ConcurrentHashMap; ensuring no random bugs caused by the weakly-consistent nature of the iterators for the concurrent collections.
- The mod now compiles with Fabric Loader 0.20.0, the runtime requirement stays 0.19.5 for ease of use by upgrading users.
- Unused ClassTweaker entries in the 26.1 version have been removed.
- The unused DummyTest has been removed.
# SBO 0.7.1 for Minecraft 26.3, 26.2 & 26.1.x
# Minecraft 26.3 Support
Minecraft 26.3 is now supported. Minecraft 26.2 and 26.1.x remain supported as well, although we recommend updating from 26.1.x to at least 26.2 now. Since this the first release of SBO for MC 26.3, please report any bugs or issues you encounter to us.
# Chunk Caching feature
We have added Chunk Caching directly integrated onto SBO! This essentially the same idea as mods like Bobby and Hold That Chunk V2, it is just more performant and native to SBO, with no additional mods needed. The other mods had downsides such as:
- Bobby needed you to enable Dynamic World Management or otherwise fully bugged out in Hypixel.
- Bobby also saved chunks to disk, not just RAM, making it slower than necessary, as disk writes and chunk serialization are costly.
- The alternative LOD mods required a recent GPU that supports their tech, and the LOD-to-real transition when moving around the Hub still caused added latency.
- The Hold That Chunk V2 mod was more simple compared to Bobby, but it also lacked certain advanced domain-specific features which we included, for example to only cache and render chunks actually in the main Hub island, and not neighboring islands.
SBO's Chunk Cache is both simple, performant and advanced in this regard:
- It does not need additional configuration to prevent bugs like Dynamic World Management.
- It does not save chunks to disk; RAM-only, which keeps it fast. No chunk serialization/deserialization, no disk-writes, improved SSD lifetime and I/O.
- It still uses vanilla chunks, not baking/loading/rendering LODs, which means all GPUs that can run Minecraft can also run it, compared to e.g. mods like Voxy requiring OpenGL 4.6. Since the chunks use vanilla system, no baking or conversion from LOD to real chunk is needed when you move around from a real chunk to a cached chunk as well, making it have less latency.
- We have added some domain-specific features that further enhance performance: The "Chunk Cache Areas" set to "Hub" will make the cache task not run in the first place for any other islands, the "Cache Hub Island Only" will make the cache only consider chunks actually in the main Hub Island and e.g. not other islands visible from the Hub (Spider's Den, The Park, The Barn), the "Render Hub Island Only" will additionally further cancel rendering of chunks not belonging or intersecting with the main Hub Island even if they are vanilla-loaded chunks not from cache, and "Only Above Server Render Distance" will make this whole process only work if your Render Distance is above the server's.
We have ran profilers and found the impact of the cache itself to be minimal compared to rendering all the chunks, which the vanilla does - so if you are trying to use an extreme value like 64 Render Distance - we still would recommend using a LOD mod instead, but 43 and 32 Render Distance values were perfectly fine per our tests, and 16 worked without any sort of FPS drop.
Note that your client might only allow 16 Render Distance by default - the C2ME mod can bump this number up from the default based on how much RAM is allocated to the game. Typically, for 4GB maximum heap memory, it will be 43, but we recommend 32.
The Chunk Cache is default enabled, but due to "Only Above Server Render Distance" also being default enabled, it won't run and cause any performance loss if your Render Distance in the vanilla-options screen is set to 8 or less - it will only start working after 9 and more Render Distance.
# Rare Mob Kill Time Message feature
Added Rare Mob Kill time message, which shows in chat time took kill a Rare Diana Mob, for example: "[SBO] Took 3.7s to kill the Minos Inquisitor!". This is only triggers if you are the spawner of the Rare Mob as it starts the timer when you get the Hypixel spawn message for the Mob, but can be enhanced in the future to also time other's lootshare mobs by starting the timer at the time of x,y,z | Rare Mob Name message's receival in the future.
This feature is default-enabled but can be toggled off in the settings menu, or suppressed per mob-type with the newly added message suppression feature from 0.7.0.
# Lootshare Features
Added "Lootshare Display" (default on) - Shows whether or not you Lootshared below the mob's health nametag for mobs you don't spawn yourself.
Added "Lootshare Message" (default on) - Sends a message to party chat when you deal enough damage for lootshare.
Added "Lootshare Party Overlay" (default false) - shows who lootshared so far (depends on party message being sent) and the spawner of the mob on screen, /sbomoveguis to move it.
Added "Lootshare Display Test" debug option, shows the Lootshare Display text below the mob's health nametag for your own spawned mobs as well for testing purposes.
# Option Dependencies
The configuration GUI now supports and highlights disabled options due to their missing dependencies more clearly, for example Waypoint Opacity setting requires disabling Dynamic Waypoint Opacity, and Only Above Server Render Distance requires enabling Hub Chunk Cache first.
# Periodic Update Rechecks
Added Periodic Update Recheck; triggers every 8 hours after the initial check. The 8 hour is a conservatively high time to not annoy users. Reminder that you should always be using the latest version of the mod to enjoy the latest enhancements, bug fixes and performance tweaks.
# Ability to Message Unsuppress
Added the ability to unsuppress suppressed messages by clicking on the message suppressed message.
# Player Name Tab Complete
Added player-name default tab-complete to SBO commands for the players in the current lobby, originally intended for /sbocheck, although that command is removed now, when it will be added back it will be useful.
# Show self Badge and Name
Added the "Show my badge in F5" option to /sbobadge which will render your own badge, stat line (such as Diana Kills or Leaderboard Rank), and player name (with SB Level included from the Hypixel nametag) in the F5 menu for yourself in addition to others.
# Custom colors, effects, motion & gradient for all Supporters
You can now pick custom hex colors and are not just limited to pre-defined colors. The /sbobadge menu now also has two columns and is wider. You can now configure every part of the nametag and configure separate colors and effects for them all. Every part gets a color effect (wave, pulse, chroma, shine, flash, sparkle) and a motion (wavy, bounce, shake, glitch).
# Alpha-preparation
Added /sbodropchancesnew, which calculates drop chances of Diana-related items with the new drop rates and the removal of Looting in Alpha Hypixel Network. The No Shuriken Overlay feature has been tuned to accept the new shuriken unicode character as well, and items that send rare drop messages like Hilt of Revelations and Crown of Greed will not be double counted now.
# Experimental features
Added "Disable Auto Tweaks" - which only disables the particlequality extreme tweak currently, but can disable more in the future. This is an option in the Debug category and is not recommended to be used. It will decrease your gameplay quality to not have server-side particlequality at extreme, because the server will send less particles per tick, causing Diana solvers and all other mod features relying on particles to be less accurate.
# Bug fixes
- Fixed the mod thinking you lootshared some impossible-to-lootshare items such as Braided Griffin Feather or Myth the Fish if you obtain the items shortly after partaking in a lootshare of a Rare Diana Mob.
- Fixed the x,y,z waypoints without a Rare Mob name not adding waypoints anymore (regression in 0.7.0).
- Fixed the "Reset Session on Game Close" option not working. The issue was caused by the session being reset after data was already saved when quitting the game, instead of before.
- Fixed the Diana-related HUD elements not rendering in the Overlay Edit Screen (/sbomoveguis) unless you have a diana Spade and are in the Skyblock Hub. This was actually supposed to be fixed in a previous release, but the fix did not work as intended, as the isInOverlayEditScreen detection itself was broken as well.
- Fixed the Knowledge is Power achievement being obtainable from getting Myth the Fish from a regular treasure burrow, instead of just after answering a Sphinx question correctly.
- Fixed the mod showing 0.00% percentage drop rate for very rare drops such as Mythological Dye on the !dye Party Command, even if you have dropped more than one. The decimal precision will now get as precise enough as possible to avoid showing 0.00% if the drop count is more than zero.
- Fixed a potential cleanup issue related to RareMobHighlight that only affects MC 26.1 users.
- Fixed a renamed diana spade (e.g. Skyblocker item customize) potentially causing issues in another place in the code, another instance of this was already fixed in 7.0.0; this further fixes it in the remaining cases.
- Fixed the /sbobadge menu not scaling down on small screens unlike the hub screen (the main /sbo menu).
- Fixed SBO badge compatibility with SkyHanni's custom tab list.
- Fixed Sodium Extra version requirement being 0.9.2 for the 26.1 version (26.1.2 can use 0.9.2, but requiring 0.9.2 broke 26.1 and 26.1.1 compatibility - so we require 0.8.7 or above now instead).
- Fixed Pickuplog feature with animated armors by excluding the armor slots from the feature; it will only read player inventory and hotbar now, not armor or off-hand/shield slots.
- Fixed the Custom Sound and Rare Mob Title appearing 2 times for Sphinx; one when you spawn it and one after answering it's question.
# Misc
- The Diana mayor tracker has been reset message will now not get sent if all your trackers were already zero, meaning there was either no Diana that SB Year or you haven't played it.
- Added suggestion to relog or restart the game if Party Finder does not open due to not being in Hypixel mistakenly.
- The SBO developers and contributors will now have a team tag in the badge and in the Party Finder cards.
- The SBO badge now also shows in chat, not only tab list and nametag.
- Adjusted the description of the /sbohelp command in the help text to say "Opens this GUI" instead of "Shows this message", and made it open the same commands list menu that opens when you click the Commands button in the hub (the main /sbo command's menu)
- You can now turn off badges if you never want to see your own or other's badges.
- Added the !block and !unblock Party Commands.
- The settings subcategories are now collapsible and can be turned off/on in whole.
- The Low render distance warning condition has been changed from less than 10 render distance to 8 render distance, as Hypixel uses 8 render distance as the server render distance. Setting it to 10 is still recommended, as you can't actually see all 8 chunks due to fog, while setting it to 10 fixes that.
- There is now a 2-second cooldown of Party Finder refreshes when using the F5 manual refresh to not make you use all your allowed requests.
- In the event of a connection the mod sends failing, the failing URL will now be logged to latest.log.
- The Rare Mob Validation distance constant has been decreased to 25 from 30 blocks as that seems to be the ditance the Hypixel sends the nametag of the Rare Mob at.
- The Rare Mob Waypoint deduplication for coordinates that are close to each other are now smarter, different types of rare mob waypoints, or rare mob waypoints sent by separate people, will not be rejected even if they are in 10 blocks of each other now, for example.
- The Spade Guess deduplication block threshold have been restored to 30 blocks from 32 blocks; you should be able to more consistently find 7 Start burrows at the start of your session easier again now.
- The Debug category of options now warn you more clearly with red texts not to enable anything in that category if you don't know what you are doing.
- The SBO badge system is now more compatible with other mods now; there is also a /sboconflicts command to check for conflicts and to send a compatibility report.
- Added Subcategory info texts in Party Finder, for example about how Spooky Fishing works and its timing.
- A SBO logo will be shown next to Supporters in Party Finder now, in addition to team members having the SBO Dev team tag.
- The Party Finder now allows decimal requirements now, such as 48.5 Tracking.
- Overlays Examples updated for Mythos Mob HP overlay (to include the new "Lootshared" text) and Lootshare Party Overlay
- "Mythos Mob HP" option renamed to "Mythos Mob Infos", the new description is "Displays HP and your lootshare status of mythological mobs near you, /sboguis to move it."
- Achievements can now be internally set to only output a chat message and no sound/title; the Real Diana non achievement for installing SBO now only sends a chat message.
- Achievements now load from the new /achievements/stats endpoint instead of /playerInfo. The Diana bestiary and the maxed Diana carnival unlock on their own, without opening the bestiary or ritual menu. The bestiary menu check no longer stops at the first mob that isn't maxed.
- The party counts in the sidebar of Party Finder menu reload together with the party list instead of once a minute.
# Optimizations
- Scoreboard and TabList parsing code is now more optimized.
- The connections the mod sends are now more optimized, using sendAsync instead of send, and a cached thread pool instead of a fixed thread pool to allow infinite concurrent requests, no matter the amount of CPU cores. The old logic that limited concurrent requests to cpu cores * 2 were causing party finder parties to never load for people with dual-core or single-core CPUs, due to the new party finder using/sending more requests than the old.
- The connections to backend can now take advantage of the HTTP/3 / QUIC protocol over UDP when running under Java 26 or above.
- Own Stats for Party Finder now load in one request for all Party Types, further ensuring minimal party list loading or connection issues.
- Auction House prices only refresh every 30 minutes now, instead of 5 minutes. This does not cause market manipulation or wrong prices as the backend actually refreshes the data every 30 minutes itself then keeps it cached for 2 hours already; the backend keeps prices from last 10 price refreshes and ignores oddly high or low price changes, protecting against market manipulation.
- The inventory reading logic has been optimized.
- The formatting removal functions are now faster.
- Centralized and cached the result of functions used to check if you are in The Hub or in Skyblock.
- The conditions of Overlay's and OverlayTextLine's to render are now updated at most once per tick instead of every frame.
- A few places in the code that used Kotlin's lazy as a local variable with no thread safety mode for performance are converted to nullable variables that are assigned at first use using null as a sentinel value meaning not initialized, making them faster since they avoid the lazy object allocation and isInitialized logic.
- The SboVec's x, y and z fields are now final and it's hashCode is now cached for faster map lookups.
- The SBOEvent is now more optimized, using a java.lang.ClassValue to keep its event listeners instead of ConcurrentHashMap, and avoiding iterator allocation in it's emit method.
- The dirty mod data is now flushed to the disk every 3 seconds now instead of every second. Note that this already only writes the actually changed files, and your operating system does it's own write-caching; so the effect of this is not as big as you might think, but is still a welcome optimization regardless, with low-risk, as losing changes up to 3 seconds in the past in an event of a crash is acceptable trade-off for the performance benefit of not flushing every second.
- The chat and Party Finder regex is now more optimized.
# Technical changes
- Cleaned up an extra isLootShare local variable that re calculated a value already saved to another local variable named ls.
- Marked a few more functions as internal-use only.
- Implemented decimalSeconds parameter for Helper#formatTime, allowing it to format it as e.g., "3.7s" instead of just "3s". This is used in the (newly-added) Rare Mob Kill Time message.
- The mod now uses AttackBlockCallback of Fabric API instead of listening for ServerboundPlayerActionPacket.Action.START_DESTROY_BLOCK manually.
- The thread-safety issues of the mod were fixed and regular collections are used now instead of CopyOnwriteArrayList or ConcurrentHashMap; ensuring no random bugs caused by the weakly-consistent nature of the iterators for the concurrent collections.
- The mod now compiles with Fabric Loader 0.20.0, the runtime requirement stays 0.19.5 for ease of use by upgrading users.
- Unused ClassTweaker entries in the 26.1 version have been removed.
- The unused DummyTest has been removed.
# SBO 0.7.1 for Minecraft 26.3, 26.2 & 26.1.x
# Minecraft 26.3 Support
Minecraft 26.3 is now supported. Minecraft 26.2 and 26.1.x remain supported as well, although we recommend updating from 26.1.x to at least 26.2 now. Since this the first release of SBO for MC 26.3, please report any bugs or issues you encounter to us.
# Chunk Caching feature
We have added Chunk Caching directly integrated onto SBO! This essentially the same idea as mods like Bobby and Hold That Chunk V2, it is just more performant and native to SBO, with no additional mods needed. The other mods had downsides such as:
- Bobby needed you to enable Dynamic World Management or otherwise fully bugged out in Hypixel.
- Bobby also saved chunks to disk, not just RAM, making it slower than necessary, as disk writes and chunk serialization are costly.
- The alternative LOD mods required a recent GPU that supports their tech, and the LOD-to-real transition when moving around the Hub still caused added latency.
- The Hold That Chunk V2 mod was more simple compared to Bobby, but it also lacked certain advanced domain-specific features which we included, for example to only cache and render chunks actually in the main Hub island, and not neighboring islands.
SBO's Chunk Cache is both simple, performant and advanced in this regard:
- It does not need additional configuration to prevent bugs like Dynamic World Management.
- It does not save chunks to disk; RAM-only, which keeps it fast. No chunk serialization/deserialization, no disk-writes, improved SSD lifetime and I/O.
- It still uses vanilla chunks, not baking/loading/rendering LODs, which means all GPUs that can run Minecraft can also run it, compared to e.g. mods like Voxy requiring OpenGL 4.6. Since the chunks use vanilla system, no baking or conversion from LOD to real chunk is needed when you move around from a real chunk to a cached chunk as well, making it have less latency.
- We have added some domain-specific features that further enhance performance: The "Chunk Cache Areas" set to "Hub" will make the cache task not run in the first place for any other islands, the "Cache Hub Island Only" will make the cache only consider chunks actually in the main Hub Island and e.g. not other islands visible from the Hub (Spider's Den, The Park, The Barn), the "Render Hub Island Only" will additionally further cancel rendering of chunks not belonging or intersecting with the main Hub Island even if they are vanilla-loaded chunks not from cache, and "Only Above Server Render Distance" will make this whole process only work if your Render Distance is above the server's.
We have ran profilers and found the impact of the cache itself to be minimal compared to rendering all the chunks, which the vanilla does - so if you are trying to use an extreme value like 64 Render Distance - we still would recommend using a LOD mod instead, but 43 and 32 Render Distance values were perfectly fine per our tests, and 16 worked without any sort of FPS drop.
Note that your client might only allow 16 Render Distance by default - the C2ME mod can bump this number up from the default based on how much RAM is allocated to the game. Typically, for 4GB maximum heap memory, it will be 43, but we recommend 32.
The Chunk Cache is default enabled, but due to "Only Above Server Render Distance" also being default enabled, it won't run and cause any performance loss if your Render Distance in the vanilla-options screen is set to 8 or less - it will only start working after 9 and more Render Distance.
# Rare Mob Kill Time Message feature
Added Rare Mob Kill time message, which shows in chat time took kill a Rare Diana Mob, for example: "[SBO] Took 3.7s to kill the Minos Inquisitor!". This is only triggers if you are the spawner of the Rare Mob as it starts the timer when you get the Hypixel spawn message for the Mob, but can be enhanced in the future to also time other's lootshare mobs by starting the timer at the time of x,y,z | Rare Mob Name message's receival in the future.
This feature is default-enabled but can be toggled off in the settings menu, or suppressed per mob-type with the newly added message suppression feature from 0.7.0.
# Lootshare Features
Added "Lootshare Display" (default on) - Shows whether or not you Lootshared below the mob's health nametag for mobs you don't spawn yourself.
Added "Lootshare Message" (default on) - Sends a message to party chat when you deal enough damage for lootshare.
Added "Lootshare Party Overlay" (default false) - shows who lootshared so far (depends on party message being sent) and the spawner of the mob on screen, /sbomoveguis to move it.
Added "Lootshare Display Test" debug option, shows the Lootshare Display text below the mob's health nametag for your own spawned mobs as well for testing purposes.
# Option Dependencies
The configuration GUI now supports and highlights disabled options due to their missing dependencies more clearly, for example Waypoint Opacity setting requires disabling Dynamic Waypoint Opacity, and Only Above Server Render Distance requires enabling Hub Chunk Cache first.
# Periodic Update Rechecks
Added Periodic Update Recheck; triggers every 8 hours after the initial check. The 8 hour is a conservatively high time to not annoy users. Reminder that you should always be using the latest version of the mod to enjoy the latest enhancements, bug fixes and performance tweaks.
# Ability to Message Unsuppress
Added the ability to unsuppress suppressed messages by clicking on the message suppressed message.
# Player Name Tab Complete
Added player-name default tab-complete to SBO commands for the players in the current lobby, originally intended for /sbocheck, although that command is removed now, when it will be added back it will be useful.
# Show self Badge and Name
Added the "Show my badge in F5" option to /sbobadge which will render your own badge, stat line (such as Diana Kills or Leaderboard Rank), and player name (with SB Level included from the Hypixel nametag) in the F5 menu for yourself in addition to others.
# Custom colors, effects, motion & gradient for all Supporters
You can now pick custom hex colors and are not just limited to pre-defined colors. The /sbobadge menu now also has two columns and is wider. You can now configure every part of the nametag and configure separate colors and effects for them all. Every part gets a color effect (wave, pulse, chroma, shine, flash, sparkle) and a motion (wavy, bounce, shake, glitch).
# Alpha-preparation
Added /sbodropchancesnew, which calculates drop chances of Diana-related items with the new drop rates and the removal of Looting in Alpha Hypixel Network. The No Shuriken Overlay feature has been tuned to accept the new shuriken unicode character as well, and items that send rare drop messages like Hilt of Revelations and Crown of Greed will not be double counted now.
# Experimental features
Added "Disable Auto Tweaks" - which only disables the particlequality extreme tweak currently, but can disable more in the future. This is an option in the Debug category and is not recommended to be used. It will decrease your gameplay quality to not have server-side particlequality at extreme, because the server will send less particles per tick, causing Diana solvers and all other mod features relying on particles to be less accurate.
# Bug fixes
- Fixed the mod thinking you lootshared some impossible-to-lootshare items such as Braided Griffin Feather or Myth the Fish if you obtain the items shortly after partaking in a lootshare of a Rare Diana Mob.
- Fixed the x,y,z waypoints without a Rare Mob name not adding waypoints anymore (regression in 0.7.0).
- Fixed the "Reset Session on Game Close" option not working. The issue was caused by the session being reset after data was already saved when quitting the game, instead of before.
- Fixed the Diana-related HUD elements not rendering in the Overlay Edit Screen (/sbomoveguis) unless you have a diana Spade and are in the Skyblock Hub. This was actually supposed to be fixed in a previous release, but the fix did not work as intended, as the isInOverlayEditScreen detection itself was broken as well.
- Fixed the Knowledge is Power achievement being obtainable from getting Myth the Fish from a regular treasure burrow, instead of just after answering a Sphinx question correctly.
- Fixed the mod showing 0.00% percentage drop rate for very rare drops such as Mythological Dye on the !dye Party Command, even if you have dropped more than one. The decimal precision will now get as precise enough as possible to avoid showing 0.00% if the drop count is more than zero.
- Fixed a potential cleanup issue related to RareMobHighlight that only affects MC 26.1 users.
- Fixed a renamed diana spade (e.g. Skyblocker item customize) potentially causing issues in another place in the code, another instance of this was already fixed in 7.0.0; this further fixes it in the remaining cases.
- Fixed the /sbobadge menu not scaling down on small screens unlike the hub screen (the main /sbo menu).
- Fixed SBO badge compatibility with SkyHanni's custom tab list.
- Fixed Sodium Extra version requirement being 0.9.2 for the 26.1 version (26.1.2 can use 0.9.2, but requiring 0.9.2 broke 26.1 and 26.1.1 compatibility - so we require 0.8.7 or above now instead).
- Fixed Pickuplog feature with animated armors by excluding the armor slots from the feature; it will only read player inventory and hotbar now, not armor or off-hand/shield slots.
- Fixed the Custom Sound and Rare Mob Title appearing 2 times for Sphinx; one when you spawn it and one after answering it's question.
# Misc
- The Diana mayor tracker has been reset message will now not get sent if all your trackers were already zero, meaning there was either no Diana that SB Year or you haven't played it.
- Added suggestion to relog or restart the game if Party Finder does not open due to not being in Hypixel mistakenly.
- The SBO developers and contributors will now have a team tag in the badge and in the Party Finder cards.
- The SBO badge now also shows in chat, not only tab list and nametag.
- Adjusted the description of the /sbohelp command in the help text to say "Opens this GUI" instead of "Shows this message", and made it open the same commands list menu that opens when you click the Commands button in the hub (the main /sbo command's menu)
- You can now turn off badges if you never want to see your own or other's badges.
- Added the !block and !unblock Party Commands.
- The settings subcategories are now collapsible and can be turned off/on in whole.
- The Low render distance warning condition has been changed from less than 10 render distance to 8 render distance, as Hypixel uses 8 render distance as the server render distance. Setting it to 10 is still recommended, as you can't actually see all 8 chunks due to fog, while setting it to 10 fixes that.
- There is now a 2-second cooldown of Party Finder refreshes when using the F5 manual refresh to not make you use all your allowed requests.
- In the event of a connection the mod sends failing, the failing URL will now be logged to latest.log.
- The Rare Mob Validation distance constant has been decreased to 25 from 30 blocks as that seems to be the ditance the Hypixel sends the nametag of the Rare Mob at.
- The Rare Mob Waypoint deduplication for coordinates that are close to each other are now smarter, different types of rare mob waypoints, or rare mob waypoints sent by separate people, will not be rejected even if they are in 10 blocks of each other now, for example.
- The Spade Guess deduplication block threshold have been restored to 30 blocks from 32 blocks; you should be able to more consistently find 7 Start burrows at the start of your session easier again now.
- The Debug category of options now warn you more clearly with red texts not to enable anything in that category if you don't know what you are doing.
- The SBO badge system is now more compatible with other mods now; there is also a /sboconflicts command to check for conflicts and to send a compatibility report.
- Added Subcategory info texts in Party Finder, for example about how Spooky Fishing works and its timing.
- A SBO logo will be shown next to Supporters in Party Finder now, in addition to team members having the SBO Dev team tag.
- The Party Finder now allows decimal requirements now, such as 48.5 Tracking.
- Overlays Examples updated for Mythos Mob HP overlay (to include the new "Lootshared" text) and Lootshare Party Overlay
- "Mythos Mob HP" option renamed to "Mythos Mob Infos", the new description is "Displays HP and your lootshare status of mythological mobs near you, /sboguis to move it."
- Achievements can now be internally set to only output a chat message and no sound/title; the Real Diana non achievement for installing SBO now only sends a chat message.
- Achievements now load from the new /achievements/stats endpoint instead of /playerInfo. The Diana bestiary and the maxed Diana carnival unlock on their own, without opening the bestiary or ritual menu. The bestiary menu check no longer stops at the first mob that isn't maxed.
- The party counts in the sidebar of Party Finder menu reload together with the party list instead of once a minute.
# Optimizations
- Scoreboard and TabList parsing code is now more optimized.
- The connections the mod sends are now more optimized, using sendAsync instead of send, and a cached thread pool instead of a fixed thread pool to allow infinite concurrent requests, no matter the amount of CPU cores. The old logic that limited concurrent requests to cpu cores * 2 were causing party finder parties to never load for people with dual-core or single-core CPUs, due to the new party finder using/sending more requests than the old.
- The connections to backend can now take advantage of the HTTP/3 / QUIC protocol over UDP when running under Java 26 or above.
- Own Stats for Party Finder now load in one request for all Party Types, further ensuring minimal party list loading or connection issues.
- Auction House prices only refresh every 30 minutes now, instead of 5 minutes. This does not cause market manipulation or wrong prices as the backend actually refreshes the data every 30 minutes itself then keeps it cached for 2 hours already; the backend keeps prices from last 10 price refreshes and ignores oddly high or low price changes, protecting against market manipulation.
- The inventory reading logic has been optimized.
- The formatting removal functions are now faster.
- Centralized and cached the result of functions used to check if you are in The Hub or in Skyblock.
- The conditions of Overlay's and OverlayTextLine's to render are now updated at most once per tick instead of every frame.
- A few places in the code that used Kotlin's lazy as a local variable with no thread safety mode for performance are converted to nullable variables that are assigned at first use using null as a sentinel value meaning not initialized, making them faster since they avoid the lazy object allocation and isInitialized logic.
- The SboVec's x, y and z fields are now final and it's hashCode is now cached for faster map lookups.
- The SBOEvent is now more optimized, using a java.lang.ClassValue to keep its event listeners instead of ConcurrentHashMap, and avoiding iterator allocation in it's emit method.
- The dirty mod data is now flushed to the disk every 3 seconds now instead of every second. Note that this already only writes the actually changed files, and your operating system does it's own write-caching; so the effect of this is not as big as you might think, but is still a welcome optimization regardless, with low-risk, as losing changes up to 3 seconds in the past in an event of a crash is acceptable trade-off for the performance benefit of not flushing every second.
- The chat and Party Finder regex is now more optimized.
# Technical changes
- Cleaned up an extra isLootShare local variable that re calculated a value already saved to another local variable named ls.
- Marked a few more functions as internal-use only.
- Implemented decimalSeconds parameter for Helper#formatTime, allowing it to format it as e.g., "3.7s" instead of just "3s". This is used in the (newly-added) Rare Mob Kill Time message.
- The mod now uses AttackBlockCallback of Fabric API instead of listening for ServerboundPlayerActionPacket.Action.START_DESTROY_BLOCK manually.
- The thread-safety issues of the mod were fixed and regular collections are used now instead of CopyOnwriteArrayList or ConcurrentHashMap; ensuring no random bugs caused by the weakly-consistent nature of the iterators for the concurrent collections.
- The mod now compiles with Fabric Loader 0.20.0, the runtime requirement stays 0.19.5 for ease of use by upgrading users.
- Unused ClassTweaker entries in the 26.1 version have been removed.
- The unused DummyTest has been removed.
# SBO 0.7.0 for Minecraft 26.2 & 26.1.x
# Upgrade Notes
This is our biggest release so far. Every SBO window has been rebuilt from the ground up on our own UI library, the Party Finder is completely new, and supporters get Cloud Sync and the new SBO Badges. 13 bugs have been fixed in this release compared to 0.6.0. We highly recommend everyone updates when convenient.
As usual, here are the things you should keep in mind for this version:
- Update Fabric Language Kotlin to 1.14.2+kotlin.2.4.21 or newer before launching the game with this version (Mandatory). Fabric Loader and Fabric API requirements are unchanged from 0.6.0.
- Update SkySoft if you use it. Versions below 0.1.18 are now marked as incompatible, as they hide legitimate Diana mobs due to a bug in their Hide Glitched Mobs feature. The game will not launch with an older SkySoft version installed.
- Your settings are kept. We replaced ResourcefulConfig with our own config system, but it reads and writes the same config/sbo/config.jsonc file, so nothing needs to be set up again.
- Your SBO key is moved automatically. It is now stored per Minecraft account in <game dir>/.sbo/sbo-auth.json instead of SboData.json. If you have no key yet, the mod now sets one up on its own when a feature needs it - no more /generatesbokey and /sbokey needed for most players.
- Party Finder settings now live inside the Party Finder window instead of the general settings menu. Your Auto Invite and Auto Requeue choices are taken over automatically.
- The "Rare Mob Spawn Sound" option has been removed (read below). If you relied on it, set the mob-specific spawn sounds in /sbosounds instead.
- Your master volume moved from the settings menu into /sbosounds. It is taken over automatically.
- Elementa, UniversalCraft and ResourcefulConfig are no longer bundled with SBO. You do not need to install anything new - our UI library GuiLib is bundled with the mod.
# Note for New MC Version Support
Minecraft 26.3 support is still in progress and will come in a later release. Please be patient. We recommend staying at Minecraft 26.2 or 26.1.2 at the moment.
# Brand New Party Finder
The Party Finder (/sbopf) has been rewritten from scratch, both in the mod and on our backend. It is no longer only for Diana - you can now find and create parties for Diana, Fishing, Mining, Kuudra, Bestiary, Rift, Safari and Slayer, plus Custom parties for everything else.
- Parties ask for real requirements read from the Hypixel API (for example Magical Power, Diana Kills, Griffin rarity, Kuudra completions or slayer level), and the mod checks them for you before you join. A shared hint tells you when you need to turn on a Hypixel API setting and reload your stats.
- Filter the party list by what parties ask for, by several bosses, locations and tiers at once, by party size and free spots, and search by player name or note. Your filters are saved per party type.
- All subcategories show in one list, each party tagged with its subcategory, with party counts in the sidebar. Event parties (Spooky, Winter, Fishing Festival) are listed before the event starts.
- Roles are now places with counts: the leader picks how many of each role they want, roles fill up as players join and taken roles are locked. The leader can change roles in the member menu, members can use !role. The leader picks their own role too.
- Click a party member to see every stat of them in a side panel.
- Manage your own party from the member menu: make someone party leader, make or remove moderator, or kick.
- Join requests now go over a direct connection to the SBO server, with /msg as a fallback. You can also join parties without an SBO key.
- Report parties that break the rules with a right click. A new Rules tab shows the rules.
- Block players: blocked players can't ask to join your parties and their parties are hidden. Use the right click menu, the [Block] button in chat, the list in the Party Finder settings, or Hypixel's /block add and /block remove.
- The header shows your queued party and how many SBO players are online.
- If your queued party gets no joins for 10 minutes, SBO reminds you so you can adjust your requirements.
- A short tour explains the Party Finder the first time you open it.
- Party Finder messages show as toasts in the window instead of in chat while it is open.
- Party Finder settings: font (Inter, Minecraft, Nunito, JetBrains Mono), window size, automatic list refresh (off, 30 s, 60 s) and favorite party types.
# Cloud Sync (Supporter Feature)
Supporters (Patreon or Ko-fi) and server boosters can now keep their SBO setup on every PC with Cloud Sync. Open it with /sbocloud or from the /sbo start screen.
- Saves your settings, trackers, achievements, your newest 100 past Diana events, Party Finder settings, overlay positions and sounds settings.
- Auto Sync loads a newer save when you join and uploads your changes every 30 minutes (only if something changed), when you leave a server and when you close the game.
- If both your PC and the cloud changed, nothing is overwritten. Compare shows every difference, and you can pick what to keep per value.
- An optional sign key signs your cloud save, so SBO notices if it gets changed or damaged.
- Each Minecraft account has its own sync state, so switching accounts does not mix things up.
- SBO makes a backup of your data every time you close the game and before a cloud save is loaded. The Backups button in the Cloud Sync window lets you load one of them - this works for everyone, without supporter status, and nothing goes to the server.
To use Cloud Sync, link your Minecraft account on the SBO Discord with /link, using the Discord account that has the supporter or booster role.
# SBO Badges (Supporter Feature)
Supporters (Patreon or Ko-fi), maintainers and devs of SBO now have an SBO Badge that every SBO user sees: the SBO logo with a stat of their choice above their head, their name in their badge color, and the SBO logo behind their name in the tab list.
Badge holders can set it up with /sbobadge or from the /sbo start screen:
- Pick the stat: Diana Kills, Leaderboard Rank, Magical Power, Enrichments, Sea Creature Kills, Trophy Fisher, Bestiary Milestone, or just the logo.
- Pick the color. Red is reserved for the SBO devs.
- Choose whether the color also goes on your name and on your SkyBlock level in front of it.
- A preview shows how others see you before you save.
Stats are read from your SkyBlock profile, just like in the Party Finder.
# New SBO Start Screen and Settings
/sbo now opens a start screen with everything SBO has to offer: tiles for the settings, Party Finder, events, achievements, sounds, Cloud Sync, SBO Badge, overlays and commands, plus support and community links and the credits. Supporter features are marked with a "Supporter" tag, which turns green once SBO knows your account has them.
The settings menu has been rebuilt as well: one search over all settings with match counts, and every result jumps to the setting and highlights it. /sbosettings (also /sbo settings and /sboconfig) opens it directly, Mod Menu opens it too. Pressing ESC in a window you opened from /sbo brings you back to the start screen.
# Themes for Every SBO Window
The new Themes category sets one theme and one window size for every SBO window. Pick from SBO Dark, Hypixel Colors, Colorblind Friendly, High Contrast, Light, Midnight, Purple, Mythological, Deep Ocean and Minecraft (game menu look with the Minecraft font, stone buttons and square corners). Each window can still use its own size, and the Party Finder can keep its own theme.
You can also make your own theme: put a theme file into config/sbo/themes. The included example theme shows everything a theme can change. There is also a switch for the background blur behind SBO windows.
# Events Window
The past events screen has been replaced by a new Events window (/sboevents, the old /sbopastevents still works):
- Cards for the running event and every past event with playtime, profit, profit/h, chimeras, wools, burrows/h and mobs/h, with badges for most profit, best profit/h and most chimeras.
- Sort by year, profit, profit/h or chimeras.
- Details and a Total Overview with item and mob tables, compared to the average of your past events, with a Copy button for a short summary.
- Charts above the list: your values per event with the average, where your profit came from, a line chart per profit source and your chimera luck. Expand a chart to see it big and zoom with the mouse wheel.
- Deleting an event asks first and can be undone.
# Achievements Window
The achievements screen (/sboachievements and the pause menu button) has been rebuilt with search, status (All/Locked/Unlocked), sorting (Default/Rarity/Grouped) and filters by type and rarity. Cards show how often a repeatable achievement was unlocked and whether it was unlocked in the current event. Descriptions of locked secret achievements stay hidden.
# Sounds Window
/sbosounds has been rebuilt with a searchable sound picker, a volume slider and a test button for every alert, grouped into Spawns, Low HPs and Drops. The master volume and the sound folder (open it, or reload it to see what changed) are now in the window as well.
# Bug fixes
- Fixed the Phoenix pet title and message showing even when it was not your own pet.
- Fixed {since} always being 0 in the party drop message, while the client-side message showed it correctly.
- Fixed custom sounds playing outside of Skyblock, for example in Limbo.
- Fixed a Crown of Greed being added to the tracker every time you swapped it in the Hypixel equipment menu. The fix for people with a not-synced Windows clock from 0.6.0 is kept, now using an NTP-synchronized time instead of a Diana mob death fallback.
- Fixed the "Use Spade" title staying on screen forever if you renamed your spade, for example with Skyblocker's item customization. The title now also goes away right away when its conditions stop being met.
- Fixed Attribute Shard lootshares not being detected.
- Fixed the {lstext} parameter needing a forced space in custom drop messages, which also showed up for non-LS drops. You can now write "Chimera{lstext} dropped!" and get "Chimera dropped!" or "Chimera (LS) dropped!".
- Fixed King Minos Shards and Sphinx Shards showing percentages over 100% in the loot tracker, as one mob can now drop 2-3 shards.
- Fixed achievement descriptions and other texts still saying Daedalus Axe instead of Daedalus Blade.
- Fixed party and all chat messages sent by SBO failing with "unrecognized argument at index 1" for some people with client-side /pc and /ac shortcuts (for example from Skyblocker). SBO now uses /pchat and /achat.
- Fixed SBO messages not showing up in /shchathistory and other mods that read chat messages.
- Fixed the optimal order line not being centered on the block, so it lines up with the other lines now (contributed by 38H4 CERO).
- Fixed the close button missing in the sound picker, and ESC closing the whole sounds menu instead of just the picker.
# Other improvements
- Updated the drop chance and NPC sell price of the Daedalus Stick per the latest Hypixel change (0.04% → 0.08%, 0.06% → 0.12% and 0.08% → 0.16% depending on griffin rarity, NPC price 1,000,000 → 500,000 coins).
- Party Announce for Manti-core and Fateful Stinger is now instant like all other drops, instead of being delayed.
- Player names coming from party chat or the SBO server are now checked before being used in /p, /msg and party commands.
- SBO windows keep your mouse where it was when they open right after another screen.
- Toasts pause while you hover them.
- Close buttons in all SBO windows now use a plain "x", which renders the same with every font.
# Removed
- Removed the "Rare Mob Spawn Sound" option and the "Other" option of "Which Mobs to Receive". The sound only played when SBO could not tell which rare mob spawned, which confused a lot of people who expected it to play for every rare mob. Use the mob-specific spawn sounds in /sbosounds instead.
- Removed the !mod Party Command, as Hypixel blocks Modrinth links in chat as advertising.
- Removed /sbocheck and /sbocheckp. A stat viewer for party members is coming in a later release; until then, the Party Finder side panel shows every stat of a party member.
- Removed support for the old "inq", "inquisitor" and "king" rare mob names in chat waypoints. SBO and SkyHanni send the full mob names, other coordinates still create normal waypoints.
# Optimizations
- The tab list cache is now only rebuilt when the tab list actually changes, instead of every tick.
- The current location is now cached per tick. It was looked up from the tab list up to thousands of times per frame by HUD overlays and waypoints.
- Optimized drop percentage calculations, with a fallback for new items and mobs.
- Cloud Sync collects and compares your data on its own thread, so it never blocks the game. Closing the game waits at most 4 seconds for it.
- Chat listeners now share one formatted string per message, and action bar updates are skipped.
- SBO Badges without a moving color gradient are built once instead of every frame.
- Small optimization for the "Ignore Y Level" option inside the warp and closest guess loops.
- Reduced the JAR size by storing bundled libraries uncompressed, as done in Fabric API.
# Technical changes
- Replaced Elementa, UniversalCraft, ResourcefulConfig and ResourcefulConfigKt with GuiLib 0.12.5, our own web-style UI library (React-style Kotlin and CSS), and our own config system. GuiLib is bundled with the mod. Find it at https://github.com/SkyblockOverhaul/SBO-GuiLib.
- The SBO key is now stored per Minecraft account in <game dir>/.sbo/sbo-auth.json. The mod sends the playing account with its requests, and a Mojang login only runs when there is no key yet or the server dropped a shared one.
- Requests that carry an SBO key never follow redirects, and responses from the SBO server have a size limit.
- Updated required Fabric Language Kotlin version to 1.14.2+kotlin.2.4.21 from 1.14.1+kotlin.2.4.20.
- Added a breaks entry for SkySoft versions below 0.1.18 into fabric.mod.json.
- The Kotlin version used to compile the mod has been updated from 2.4.20 to 2.4.21.
- The Gradle version used to compile the mod has been updated from 9.8.0 to 9.8.1.
- Updated the gradle/actions used in GitHub Actions builds from version 6.3.0 to 6.4.0.
- Re-added -XX:+IgnoreUnrecognizedVMOptions and -XX:+UseTransparentHugePages to the Gradle Daemon JVM arguments; building works on Windows again without removing them.
- The project version is now part of the Kotlin module name.
- Marked a few methods as internal.
- Added a monotonic and NTP-synchronized TimeUtil helper.
- Mod messages are now sent with player.sendSystemMessage, which triggers the Fabric Message Events.