AOneBlock-1.27.0.jar
What's new
This release fixes silent, repeated loss of island progress. If a player was online when the server restarted, their block count rolled back to the last checkpoint β up to 49 blocks of mining undone, every restart. It was reported on Discord as "it's not saving the progress", and it affected every server on a BentoBox older than 3.22.0.
Alongside that, phase text can now be coloured with MiniMessage and hex colours, not just the sixteen legacy & codes β gradients included.
πΊ This release requires BentoBox 3.22.0, which requires a Java 25 server. Read the compatibility and updating notes below before upgrading.
πΊ Island progress no longer lost on restart (PR #550)
The shutdown save was queued rather than written. AOneBlock is a Pladdon, so the server disables it before BentoBox β the write went into a queue that BentoBox had to drain on its way out, and every BentoBox before 3.22.0 discarded it silently.
With the shutdown save lost, the count fell back to the last periodic checkpoint, which was hardcoded at every 50 blocks. Break fewer than 50 blocks between restarts and nothing persisted at all.
The shutdown save is now a direct write, so it no longer depends on the core draining a queue in time. Nine bundled addons shared this bug; BentoBox 3.22.0 fixed it centrally, and this release makes AOneBlock independent of that fix as well.
How often progress is written to the database, in blocks broken. Defaults to 10, replacing the old hardcoded 50.
Progress is also saved on every phase change, when a player logs out, and at shutdown β so this only governs how much can be lost if the server dies without shutting down cleanly (a crash, a kill -9, a hosting panel force-restart). At the new default that is at most 9 blocks, against 49 before. Lower is safer and writes more often; the minimum is 1.
Nothing helps if the JVM is killed outright β there is no shutdown path left to run β so if restarts still roll progress back after this release, the restart is not a clean one.
π¨ MiniMessage and hex colours in phase text (PR #551)
Reported by an admin who coloured a hologram with <green><bold>ΠΠ°ΡΠ°Π»ΠΎ (Π Π°Π²Π½ΠΈΠ½Π°)</bold></green> and got white text with the tags shown literally.
Holograms only ever understood the sixteen legacy & codes β not MiniMessage, and not even &#RRGGBB hex. The action bar used a different serializer that did support hex but not MiniMessage. Two display paths, two different answers to "what formatting can I use here".
Both now accept all of it, and it can be mixed:
holograms: 0: "&a&lGood Luck!" # legacy codes 1: "7FF55Good Luck!" # hex 2: "<green><bold>Good Luck!" # MiniMessage 3: "<gradient:#55FF55:#00AA00>Good Luck!</gradient>" # gradients
The same applies to the action bar and to locale strings. Existing & codes keep working β nothing needs changing.
This also fixes Β§ codes appearing as literal text: translated strings arrive already converted to Β§, which the old &-only serializer left in the output. That affected the starting hologram and the action bar.
π The phase file is now properly documented (PR #548)
0_plains.yml is the reference phase file, and its comments never explained the single most confusing thing about it: the numbers. It now spells out that numbers in blocks:, mobs: and custom-blocks: are weights sharing one pool (with a worked example), that keys in fixedBlocks: and holograms: are positions within the phase, and that the top-level key is the phase's start block β with a pointer to phases_index.yml for phase order and length. The accepted colour syntaxes are documented next to holograms:.
βοΈ BentoBox API 3.22.0+ β this is a hard requirement, see below βοΈ Minecraft 26.x, or 1.21.5+ β the Sulfur Caves phase activates on 26.2+ βοΈ Java 25 server β inherited from BentoBox 3.18.0+
πΊ BentoBox 3.22.0 or newer is required. The shutdown fix uses API added in 3.22.0. api-version has been raised to match, so on an older core BentoBox refuses to load the addon and logs "Cannot load AOneBlock because it requires BentoBox version 3.22.0 or greater. NOTE: Please update BentoBox." That is deliberate β loading anyway would fail at shutdown with a NoSuchMethodError, which is worse than the bug being fixed. Update BentoBox first.
πΊ Your server must run Java 25. BentoBox has needed a Java 25-capable Paper build since 3.18.0, and requiring 3.22.0 makes that AOneBlock's requirement too. If your server is on Java 21, upgrade the JVM before upgrading either jar.
βοΈ island.save-every is added to config.yml on first start, defaulting to 10. Existing configs pick up the default automatically; no manual edit is needed. Set it higher if you would rather trade crash safety for fewer database writes.
π¨ No phase or locale file changes are needed. Legacy & codes are untouched and keep working. MiniMessage is opt-in β just start using the tags where you want them.
- Take backups of your server, for safety
- Confirm your server runs Java 25
- Stop the server
- Update BentoBox to 3.22.0 or newer β the addon will not load otherwise
- Drop the new AOneBlock jar into your addons folder and delete the old one
- Start the server
- You should be good to go!
- π‘ locale files may need to be regenerated or updated
- βοΈ config options have been removed, renamed, or added
- πΊ special attention needed
- πΊβοΈ fix: do not lose island progress when the server restarts by @tastybento in https://github.com/BentoBoxWorld/AOneBlock/pull/550
- feat: support MiniMessage and hex colours in phase text by @tastybento in https://github.com/BentoBoxWorld/AOneBlock/pull/551
- docs: rewrite the phase 0 comments to explain what the numbers mean by @tastybento in https://github.com/BentoBoxWorld/AOneBlock/pull/548
- ci: bump publish-platforms pin to the multipart-JSON fix by @tastybento in https://github.com/BentoBoxWorld/AOneBlock/pull/547
Full Changelog: https://github.com/BentoBoxWorld/AOneBlock/compare/1.26.3...1.27.0
This mod has no additional files

