
GriefPrevention3D
A fork of GriefPrevention that adds 3D subdivisions
Список изменений
GriefPrevention3D v18.0.9
Wiki: GriefPrevention3D Wiki
Thanks to @thiagorigonatti for fixing this issue!
Upstream Issue Fix
Single chests on claim borders can be extended into double chests from outside claims (#2609)
Before: A player without build permission could place a chest outside a claim adjacent to a single chest inside the claim, and the claimed chest would be extended into a double chest crossing the claim boundary. This was especially exploitable with admin claims: because both wilderness and admin claims have a null owner ID, the boundary check treated them as the same owner and allowed the connection.
After: The chests are kept as separate single chests when the placed chest would connect to a chest in a claim where the player does not have permission.
What changed (and what v18.0.8 already fixed)
The previous release (v18.0.8, porting PR #2607) fixed a related but different bug (#2606): placing a single chest outside a claim adjacent to a double chest inside the claim would forcibly split the double chest. That fix added a guard to skip splitting when the placed chest remains Chest.Type.SINGLE.
However, v18.0.8's port did not include the sameClaimOwner helper that PR #2607 also introduced. The method still used Objects.equals(claimOwner, relativeClaimOwner) to decide whether two chests should be allowed to connect. This comparison returns true when both owners are null, which means wilderness (null owner) and admin claims (null owner`) were incorrectly treated as the same owner — allowing cross-claim double chests to form.
v18.0.9 ports the missing piece: a sameClaimOwner method that uses reference equality for null claims, so that wilderness and admin claims are only considered the "same owner" when they are literally the same object (both null = both wilderness). An admin claim and wilderness are now correctly treated as different, preventing the cross-claim extension.
Compatibility
| Category | Support |
|---|---|
| Minecraft Versions | 1.8.8 -> 26.1.x |
| Minimum Java | Java 8 |
| Bukkit API Target | 1.13 |
Migration
No data migration is required.
See Also
- Issue #2609 — Upstream bug report
- PR #2610 — Upstream fix by @thiagorigonatti
- PR #2607 — Previous chest fix (v18.0.8) by @thiagorigonatti
- v18.0.8 release notes — Previous release
