Skip to content

Release 1.28.0 - #565

Merged
tastybento merged 8 commits into
masterfrom
develop
Sep 26, 2026
Merged

tastybento merged 8 commits into
masterfrom
develop

Conversation

@tastybento

Copy link
Copy Markdown
Member

Adds the Minecraft 26.3 Dappled Forest phase, and new shipped phases now reach existing servers.

Features

  • 🔺 feat: add Dappled Forest phase (MC 26.3) and add new shipped phases on upgrade (2259bd5)
  • feat: add wool stairs and cushions to the Dappled Forest phase (163a0b3)

Fixes

Config

Draft release notes: https://github.com/BentoBoxWorld/AOneBlock/releases (tag 1.28.0, draft)

🤖 Generated with Claude Code

tastybento and others added 8 commits September 7, 2026 10:49
Level 2.29.0 tracks deaths per island itself. Update the config comments
so admins can see that team-join-reset and reset-on-new only affect
BentoBox's own death counter and placeholder, while counted and max
still gate what Level records.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SxX9oscerhv1nsozPbT5aX
…-2.29

docs: clarify which deaths settings affect Level 2.29.0 island levels
Sonar (S2259) flagged a guaranteed NullPointerException in processPhase:
OneBlocksManager.getPhase() is @nullable, and the phase returned by
handleGoto() was dereferenced without a check. A goto pointing below
the first phase, or phase files failing to load, would crash the
block-break handler and could leave the island without its magic block.

processPhase now resolves the goto first and checks the resulting phase
once. When no phase covers the block number it logs an error naming the
island and block number, cancels the event so the block stays in place,
and returns null; process() returns early on a null result.
handlePhaseChange had the same latent requireNonNull and now uses a
plain null check that the following line already expected.

Adds two BlockListenerTest cases covering no-phase and goto-to-no-phase.
Bumps version to 1.27.2.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0161Uw7dZoSjSbSH6T8hMsUQ
…ssphase

fix: handle missing phase in processPhase without NPE (Sonar S2259)
…n upgrade

Adds a Dappled Forest phase at the 15500 spot, gated to Minecraft 26.3:
poplar logs, yellow/orange/red poplar leaves, leaf litter and red shrub,
mobs from the biome's spawn list (passive weights scaled up to balance
the hostiles), and chests themed on the new abandoned camp loot. The
goto loop moves from 15500 to 16000.

Existing phase indexes never picked up phases shipped by later addon
versions. The index now records the shipped phases a server has been
offered (shippedPhases); on load, a shipped phase that is not in the
index and was never offered is added after its shipped predecessor and
its files are copied from the jar. Phases an admin removed stay removed.
Indexes written before shippedPhases existed treat shipped phases
without an addedIn tag as already offered.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
All 16 colours of wool stairs join the block pool at weight 5 each, and
three new chests (two common, one uncommon) hold different sets of
cushion colours, so which cushions a player finds varies. Both are
Minecraft 26.3 items, covered by the phase's existing version gate.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ItemsAdder moved its API to Maven Central as beer.devs:itemsadder-api,
which broke the build against the old maven.devs.beer repository.
Switch to the new artifact at 4.0.17 (matching BentoBox) and drop the
old repository. Package names are unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@sonarqubecloud

Copy link
Copy Markdown

@tastybento
tastybento merged commit 98488e9 into master Sep 26, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant