
Список изменений
GriefPrevention3D v17.4.4
Wiki: https://github.com/castledking/GriefPrevention3D/wiki
Highlights
- 3D admin claims — New
Admin3Dshovel mode creates free, height-bounded administrative claims. Includes/3dadminclaimscommand and/aclaim mode admin3dsubcommand. - Verbose piston feedback — When a piston is broken by a claim boundary, the nearest player with build permission now receives a message explaining where and why, with a conflict-zone visualization of the blocking claim.
- Trapped command fixes —
handleTrappedCommandbrought to parity with the inline handler: correct check ordering, proper GPFlags destination forwarding, nether/end guard, and silent pending-rescue suppression. - New command aliases — Added
/3dsc,/sc3d,/subdivide3d,/3dsubdivide,/adminclaim3d,/adminclaims3d, and others to match the tau fork's alias set.
3D Admin Claims
A new Admin3D shovel mode lets administrators create free, height-limited claims using exact Y coordinates (not the usual ground-extension offset).
Commands
| Command | Aliases | Description |
|---|---|---|
/3dadminclaims | adminclaim3d, adminclaims3d, 3dadminclaim | Switch shovel to 3D admin claim mode |
/aclaim mode admin3d | — | Same via unified command |
Requires the griefprevention.adminclaims permission.
Behavior
- Claims created in
Admin3Dmode use the clicked Y coordinates directly as the vertical bounds — no ground-extension offset is applied. - Free to create (no claim blocks consumed) and owner ID is null, making them standard admin claims.
- Minimum size and claim block checks are bypassed, identical to regular
Adminmode.
Affected files: ShovelMode.java, Messages.java, GriefPrevention.java, UnifiedAdminClaimCommand.java, Alias.java, PlayerEventHandler.java, plugin.yml.
Verbose Piston Feedback
Previously, when a piston was broken by a claim boundary in precise mode, the player who placed it received no feedback — only the claim owner on the other side was notified via ClaimBoundaryViolationTracker.
GP3D now also notifies the piston owner side: the nearest online player with build permission in the piston's claim (or within 32 blocks if the piston is outside any claim) receives:
- A warning message: "The piston at x, y, z exploded because it couldn't enter the claim at [location]"
- A
CONFLICT_ZONEboundary visualization of the claim that blocked the push
The existing ClaimBoundaryViolationTracker dedup/burst notifications to the invaded claim's owner are preserved unchanged.
Affected file: BlockEventHandler.java, Messages.java.
Trapped Command Fix
handleTrappedCommand (used by the unified /claim command handler) had several divergences from the inline onCommand implementation:
- Wrong pending message — sent
RescueAbortedMovedwhen/trappedwas already pending; it now silently returns (consistent with tau and the inline handler). - Lost GPFlags destination —
SaveTrappedPlayerEventwas fired but its destination was discarded; the destination is now forwarded toPlayerRescueTask. - Missing nether/end guard — rescue is now blocked in the nether and end when no external destination is provided.
- Check order —
pendingTrappedis now checked before the claim/permission checks, matching the upstream order. - Spurious event cancellation check —
SaveTrappedPlayerEventis not cancellable; the deadisCancelled()branch was removed.
Affected file: GriefPrevention.java.
New Aliases
Added missing aliases to match the tau fork's command set:
| Command | New aliases added |
|---|---|
3dsubdivideclaims | 3dsc, sc3d, subdivide3d, 3dsubdivide |
adminclaims | aclaims |
3dadminclaims (new) | adminclaim3d, adminclaims3d, 3dadminclaim |
/aclaim mode standalone | 3dadminclaims |
Affected files: plugin.yml, Alias.java.
Migration
No data migration required.
The new 3dadminclaims command and its aliases are registered automatically on server start. No config changes are needed.
New permission used (inherits existing griefprevention.adminclaims node — no new node required):
griefprevention.adminclaims— now also gates/3dadminclaimsand/aclaim mode admin3d.