Skip to content

Release 1.25.0#515

Merged
tastybento merged 14 commits intomasterfrom
develop
May 3, 2026
Merged

Release 1.25.0#515
tastybento merged 14 commits intomasterfrom
develop

Conversation

@tastybento
Copy link
Copy Markdown
Member

No description provided.

Copilot AI and others added 9 commits April 28, 2026 23:35
…initial load

CraftEngineCustomBlock.fromMap() no longer delegates to fromId() (which
calls CraftEngineHook.exists()). When a YAML entry explicitly declares
type: craftengine the block type is already unambiguous, so the
CraftEngineCustomBlock is created directly from the id field without
requiring CraftEngine's block registry to be populated yet.

The fromId() path (used by the short-form creator) keeps the exists()
check so it can still distinguish CraftEngine IDs from vanilla material
names.

Fixes: invalid runtime error on startup when CraftEngine fires its reload
event after AOneBlock has already attempted to load phases.

Agent-Logs-Url: https://github.com/BentoBoxWorld/AOneBlock/sessions/7e16e2d1-e9ec-4551-b155-ebb10c178074

Co-authored-by: tastybento <4407265+tastybento@users.noreply.github.com>
Fix false "Bad custom block" errors for CraftEngine blocks on startup
Adds a bee_nest custom block (3 bees, honey_level 0) to the Plenty phase
block pool with weight 1, matching the existing HONEY_BLOCK and
HONEYCOMB_BLOCK density. Closes the honey-farming gap players hit in
Plenty: although the phase already drops honeycomb blocks, honey blocks,
and honey bottles, there was no way to obtain a hive to farm them.

Uses the block-data custom block path, which falls back to /setblock for
NBT-bearing data so the nest spawns pre-populated with bees.

Refs #512

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
When a magic-block roll produces a mob, handleEntitySpawn cancels the
triggering BlockBreakEvent at EventPriority.HIGHEST. The client has
already played the "block disappearing" animation by then and predicted
the block as gone, but never receives a corrective block-update packet,
so the magic block appears transparent until the chunk resyncs (e.g. on
relog).

Send a block change to the mining player immediately after the cancel
so the client repaints the actual server-side block state.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
fix: resync magic block to client after entity-spawn cancel
feat: drop populated bee nest in Plenty phase
tastybento and others added 2 commits May 2, 2026 17:34
Particle.DUST is the only particle type for which we can construct the
required DustOptions data. Previously, any other particle type fell to
particleData = null, and spawnParticle would throw
IllegalArgumentException when the configured particle required
non-void data (e.g. ITEM, BLOCK, ENTITY_EFFECT).

Detect particles with non-void getDataType(), log a warning naming the
configured particle, and return early instead of spawning. DUST and
particles with Void data still work as before.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
fix: skip chest particles that require typed data instead of crashing
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Release prep for 1.25.0, including a CraftEngine custom-block parsing adjustment, a client resync fix around cancelled breaks, and updated shipped phase data.

Changes:

  • Adjust CraftEngine custom-block fromMap parsing to not depend on CraftEngine’s registry being loaded yet, and add a unit test for the new behavior.
  • Resync the client block state after cancelling non-EntitySpawnEvent entity spawns to avoid “ghost broken block” visuals.
  • Add a bee nest custom-block entry to the “Plenty” phase and bump the Maven build version to 1.25.0.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/main/java/world/bentobox/aoneblock/oneblocks/customblock/CraftEngineCustomBlock.java Changes map parsing behavior for CraftEngine custom blocks.
src/test/java/world/bentobox/aoneblock/oneblocks/customblock/CraftEngineCustomBlockTest.java Adds coverage for updated fromMap behavior.
src/main/java/world/bentobox/aoneblock/listeners/BlockListener.java Client block-state resync after cancelling certain events.
src/main/resources/phases/8500_plenty.yml Adds a custom-blocks bee nest entry to the phase.
pom.xml Bumps build version to 1.25.0.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Copy Markdown
Contributor

Copilot AI commented May 3, 2026

@tastybento I can’t apply these changes because the pull request’s branch is the repository’s default branch, which I’m not allowed to push to directly.

You can ask me to create a new pull request with the requested changes instead and I'll open a separate PR on a new branch.

Copy link
Copy Markdown
Contributor

Copilot AI commented May 3, 2026

@tastybento I've opened a new pull request, #517, to work on those changes. Once the pull request is ready, I'll request review from you.

Copilot AI and others added 2 commits May 3, 2026 02:00
fix: validate CraftEngine block ID format in fromMap at config-load time
@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud Bot commented May 3, 2026

@tastybento tastybento merged commit 866f8c3 into master May 3, 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.

3 participants