Creators
Details
0.7.1-26.3
Compatibility
Required content
Changes
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.
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:9lBqVbQF:XTgRWFvk"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:9lBqVbQF:XTgRWFvk"
}

