# GriefPrevention3D v18.0.9
**Wiki:** [GriefPrevention3D Wiki](https://github.com/castledking/GriefPrevention3D/wiki)
Thanks to [@thiagorigonatti](https://github.com/thiagorigonatti) for [fixing this issue](https://github.com/GriefPrevention/GriefPrevention/pull/2610)!
## 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](https://github.com/GriefPrevention/GriefPrevention/pull/2607)) fixed a related but different bug ([#2606](https://github.com/GriefPrevention/GriefPrevention/issues/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](https://github.com/GriefPrevention/GriefPrevention/issues/2609) — Upstream bug report
- [PR #2610](https://github.com/GriefPrevention/GriefPrevention/pull/2610) — Upstream fix by @thiagorigonatti
- [PR #2607](https://github.com/GriefPrevention/GriefPrevention/pull/2607) — Previous chest fix (v18.0.8) by @thiagorigonatti
- [v18.0.8 release notes](v18.0.8.md) — Previous release
Optional dependencies
PlaceholderAPI
Any compatible version
QuickShop-Hikari
Any compatible version
VaultUnlocked
Any compatible version
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }