Skip to content

Release 3.4.0#126

Merged
tastybento merged 17 commits into
masterfrom
develop
May 30, 2026
Merged

Release 3.4.0#126
tastybento merged 17 commits into
masterfrom
develop

Conversation

@tastybento
Copy link
Copy Markdown
Member

No description provided.

Copilot AI and others added 12 commits March 14, 2026 23:11
… tracking

Co-authored-by: tastybento <4407265+tastybento@users.noreply.github.com>
…-structures-yml

Add trial chambers support: fix trial spawner tile entity copying and advancement tracking
…tions, and Regionerator sections

Co-authored-by: tastybento <4407265+tastybento@users.noreply.github.com>
…xed-plugin

Update Boxed README: add Flags, Placeholders, structures.yml, config options, and Regionerator docs
Replaces PowerMock/Spigot API with Paper-only 1.21.11 and BentoBox
3.13.0, introduces a shared CommonTestSetup base class, and drops the
hand-rolled ServerMocks helper. Also fixes AdvancementsManager for the
Paper 1.21.11 AdvancementDisplay API change (getX/getY removed) and
forks javac to dodge a JDK 25 in-process compiler NPE.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds PlaceholdersManagerTest (8 tests) and AdvancementListenerTest
(25 tests) for previously untested classes, plus 6 branch-coverage
tests in AdvancementsManagerTest for getScore, addAdvancement, and
checkIslandSize edge cases. Full suite: 112 tests passing.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Pending structures in the active build queue continued to be pasted
after a box was reset or deleted. Drain itemsToBuild on IslandDeleteEvent
to match the existing cleanup of the pending map and persistent DB queue.
Bump version to 3.4.0.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The floating jitpack snapshot v1.21-SNAPSHOT resolves to an ephemeral
git-described build whose jar/POM get evicted, breaking CI even on
unchanged commits. Switch to the equivalent stable Maven Central
coordinates (org.mockbukkit.mockbukkit:mockbukkit-v1.21:4.110.0).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…d-achievements

Prevent Boxed from resetting player progress on non-Boxed island resets
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 3.4.0 updates Boxed for newer Paper/BentoBox versions, migrates the test suite to JUnit 5 + Mockito static mocking with MockBukkit, and adds/adjusts gameplay features for newer Minecraft content.

Changes:

  • Upgraded build dependencies (Paper 1.21.11, BentoBox 3.13.0) and modernized test tooling (JUnit 5, Mockito, MockBukkit).
  • Added new/updated tests and a shared CommonTestSetup to replace PowerMock-based infrastructure.
  • Added support for newer content/behaviors (trial chambers structure naming; trial spawner blueprint capture/restore; prevent structure pasting into deleted islands; world check for new-island advancement reset).

Reviewed changes

Copilot reviewed 17 out of 17 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/test/java/world/bentobox/boxed/WhiteBox.java Adds reflection helper to replace PowerMock Whitebox.setInternalState.
src/test/java/world/bentobox/boxed/TestWorldSettings.java Adds WorldSettings test stub used by shared test setup.
src/test/java/world/bentobox/boxed/SettingsTest.java Migrates to JUnit 5 and shared test setup.
src/test/java/world/bentobox/boxed/PlaceholdersManagerTest.java Adds JUnit 5 tests for placeholder advancement counts.
src/test/java/world/bentobox/boxed/mocks/ServerMocks.java Removes custom Bukkit server mock helper (replaced by MockBukkit).
src/test/java/world/bentobox/boxed/listeners/EnderPearlListenerTest.java Migrates to JUnit 5 + shared setup; replaces PowerMock statics with Mockito static mocks.
src/test/java/world/bentobox/boxed/listeners/AdvancementListenerTest.java Adds JUnit 5 tests for advancement listener behaviors.
src/test/java/world/bentobox/boxed/CommonTestSetup.java Introduces centralized MockBukkit + Mockito static mocking test harness.
src/test/java/world/bentobox/boxed/AdvancementsManagerTest.java Migrates to JUnit 5; expands test coverage for scoring/size behavior.
src/main/java/world/bentobox/boxed/listeners/NewAreaListener.java Adds trial_chambers structure id and clears build queue entries on island delete.
src/main/java/world/bentobox/boxed/listeners/AdvancementListener.java Prevents first-time advancement reset logic from running outside Boxed worlds.
src/main/java/world/bentobox/boxed/generators/chunks/BoxedChunkGenerator.java Captures trial spawner state into blueprints.
src/main/java/world/bentobox/boxed/generators/chunks/BoxedBlockPopulator.java Restores trial spawner state from blueprints when populating chunks.
src/main/java/world/bentobox/boxed/AdvancementsManager.java Adjusts automatic scoring fallback due to removed AdvancementDisplay.getX/getY.
README.md Updates documentation for quick start, config defaults, structures, flags, placeholders, and Regionerator.
pom.xml Updates dependencies/plugins for 3.4.0 and switches to Paper + new test stack.
CLAUDE.md Adds repository guidance for tooling, architecture, and testing conventions.

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

Comment thread pom.xml
Comment on lines +185 to 197
<!-- Mockito -->
<dependency>
<groupId>world.bentobox</groupId>
<artifactId>bentobox</artifactId>
<version>${bentobox.version}</version>
<scope>provided</scope>
<groupId>org.mockito</groupId>
<artifactId>mockito-junit-jupiter</artifactId>
<version>${mockito.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>net.kyori</groupId>
<artifactId>adventure-api</artifactId>
<version>4.24.0</version>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>${mockito.version}</version>
<scope>test</scope>
</dependency>
Comment thread src/test/java/world/bentobox/boxed/CommonTestSetup.java
tastybento and others added 5 commits May 29, 2026 17:19
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
An extra '}' in BoxedBlockPopulator.setTrialSpawner and in
CommonTestSetup.deleteAll closed each class prematurely, so the
remaining members were parsed as top-level declarations. javac with
--release 21 rejects this (BoxedBlockPopulator.java:153 "class,
interface, enum, or record expected"), failing CI. Remove the stray
braces; full clean build + 113 tests pass on JDK 21.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@sonarqubecloud
Copy link
Copy Markdown

@tastybento tastybento merged commit 5814cf0 into master May 30, 2026
4 of 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.

4 participants