Release 3.4.0#126
Merged
Merged
Conversation
… 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
Contributor
There was a problem hiding this comment.
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
CommonTestSetupto 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 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> |
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>
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



No description provided.