# GriefPrevention3D v17.4.6
**Wiki:** https://github.com/castledking/GriefPrevention3D/wiki
## Bug Fixes
### 3D Admin Claim Visualization (bottom half)
Fixed 3D admin claim subdivisions rendering with ADMIN_CLAIM_3D visual (pumpkin/glowstone) instead of SUBDIVISION_3D (white/iron) until refreshed. The `defineBoundaries()` method now checks `claim.parent == null` alongside `claim.isAdminClaim()`, so child subdivisions of admin claims inherit the correct visualization type immediately.
Also applied the same fix to `visualizeNearbyClaims()` for consistency.
### `visualizeNearbyClaims` Horizontal Search Radius
Fixed `DataStore.getNearbyClaims()` only checking the player's single chunk (1×1×1 bounding box), ignoring claims in adjacent chunks. Pulled in upstream's 300-block X/Z search radius (`location.clone().subtract(150, 0, 150)` to `location.clone().add(150, 0, 150)`). 3D admin claims in neighboring chunks are now found during sneak+stick inspection.
### Vertical Range Filter for 3D Claims in `visualizeNearbyClaims`
Added a 16-block vertical range filter so 3D claims far above or below the player are excluded from sneak+stick visualization. 2D claims (full height) are always included. This prevents showing 3D claims hundreds of blocks away while still catching those starting +1 above the target point.
### 3D Subdivision Admin Claim Visual on First Render
Fixed a brief window where 3D subdivisions inside admin claims would show with the admin claim visual (`ADMIN_CLAIM_3D`) until the player refreshed the visualization. The `defineBoundaries()` method now correctly identifies child subdivisions regardless of owner, so the first render is always correct.
### Admin3D Initialization Visual at Wrong Y
Fixed `visualizeArea()` rendering the initialization marker at the player's eye Y instead of the clicked block's Y. Added an overload accepting a block-specific Y. Admin3D first/second clicks now use `getTargetBlock()` to resolve through replaceable blocks (snow layers), so the marker and claim corners land on the solid block instead.
### `griefprevention.extendclaim.toolbypass` Permission Default
Changed `griefprevention.extendclaim.toolbypass` permission default from `false` to `op`. This restores the expected behavior where server operators can extend claims without a modification tool by default.
### 3D Claim `/extendclaim` Vertical Extension
Fixed `/extendclaim` blocking vertical extension for 3D claims with the "Land claims auto-extend deeper into the ground when you place blocks under them." message. 3D claims can now extend upward (looking up) or downward (looking down) using the command. For 3D subdivisions, the extension is validated to stay within parent claim Y bounds; overlapping another subdivision or exiting parent bounds shows the appropriate error.
## Pairing
This release should be paired with **GPExpansion v1.0.9**.
## Migration
No data migration required. No configuration changes needed.
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" }