Menu

Key Features

Jack Korte

Key Features

This page is the reference for every feature that makes GriefPrevention3D different from upstream GriefPrevention. It is also the page to read first when configuring the plugin for your server.

Table of Contents


3D Subdivisions

Create subdivisions with exact Y-level boundaries.

/3dsubdivideclaims

Use this command to switch to 3D subdivision mode. Your golden shovel will then set both the X/Z corners and the Y bounds of the subdivision, giving you precise vertical control (useful for apartment buildings, layered storage rooms, sky bases, and tunnel networks under shared surface claims).

  • Available on all servers by default.
  • Nested 3D subdivisions work when AllowNestedSubClaims: true.
  • Parent claims remain full-height; the Y-bounding only applies to the subdivision itself.

Shaped Claims

Allow non-rectangular, orthogonal polygon parent claims.

# config.yml
GriefPrevention:
  Claims:
    AllowShapedClaims: false

Set to true to enable. Reload with /gpreload.

/shapedclaims

Use this command to switch to shaped claim mode. In shaped mode:

  • Right-click in unclaimed land places orthogonal corners for a new polygon claim. Each corner must be axis-aligned (same X or same Z) as the previous corner. Click the starting corner again once a valid closed loop exists.
  • Right-click an owned top-level 2D claim's corner to resize it the same way basic mode does.
  • Shift-click an owned boundary to drop a segment marker. Markers split a side into independently resizable segments, which you can then /expandclaim individually.
  • Shift-clicking a marker again removes it.

The plugin enforces the orthogonal rule in the interaction model — diagonal placements are rejected immediately with a chat message, and preview markers show the only valid next directions.

When shaped claims are disabled (AllowShapedClaims: false):

  • /shapedclaims and /shapedclaim are hidden / hard-disabled.
  • /claim mode shaped is not offered.
  • Shaped-only helper behavior stays dormant and falls back to basic mode.

See also: Administrator's Guide for how shaped claims interact with admin tools.


Merge Claims

Merge two of your top-level claims into a single larger claim. The resulting claim captures both original areas plus everything in between.

Method 1 — /mergeclaims (Simple)

  1. Stand in the first claim and run /mergeclaims.
  2. Walk or fly to your second claim.
  3. Run /mergeclaims again or right-click with your golden shovel on the second claim.

Both claims and the area between them are combined into one claim. Subdivisions from the second claim are moved into the merged claim automatically.

Method 2 — Shaped Path Merge

While in shaped claims mode (/shapedclaims), you can reshape a claim so its boundary extends toward and overlaps another claim you own. The claims merge automatically, keeping the connecting path you shaped as part of the resulting claim.

  1. Enable shaped claims: AllowShapedClaims: true in config.yml.
  2. Run /shapedclaims to enter shaped mode.
  3. Extend a corridor or path from your first claim toward the second using the shaped editing tools.
  4. When the extension overlaps or touches the other claim, the merge happens automatically.

The result is a single non-rectangular claim that includes both original rectangles plus the path you drew between them.

Limitations

  • Both claims must be in the same world.
  • Both claims must be owned by you (or you must have edit permission).
  • Only top-level claims can be merged (subdivisions are moved automatically).
  • Merged claims consume additional claim blocks for the area between them.
  • Overlapping another player's claim blocks the merge and shows a conflict zone.

Command

/mergeclaims
/mergeclaim

Permission: griefprevention.mergeclaims (default: true).


Per-Player Locale

GriefPrevention3D can send messages in the player's own language based on their Minecraft client locale — no administrator effort required.

# config.yml
GriefPrevention:
  PerPlayerLocale: true   # enabled by default

When enabled:

  • Players with a Spanish client locale (es_*) receive Spanish messages.
  • Players with a Portuguese client locale (pt_*) receive Brazilian Portuguese messages.
  • Players with any other locale (including English) receive messages in the server's configured language (GriefPrevention.Locale, default en).
  • Console output always uses the server's configured language.

No additional locale files need to be copied — the plugin bundles all supported translations. Disable with PerPlayerLocale: false to revert to the old behavior where every player sees the same language.

See Locale for details on configuring locale files and the full language setup.


Nested Subclaims

Allow subdivisions inside other subdivisions.

# config.yml
GriefPrevention:
  Claims:
    AllowNestedSubClaims: false

Set to true to allow subdivisions inside other subdivisions. Permission inheritance still follows the normal parent → child rules unless a subclaim is restricted with /restrictsubclaim.


Visualization Glow

Enable glowing claim boundary visualization.

# config.yml
GriefPrevention:
  VisualizationGlow: false

Set to true to make claim borders glow when visualized (via the golden shovel, investigation tool, or /trust feedback).

Requires Minecraft 1.19.3+. On older versions the option is simply ignored and fake-block borders are used.


Unified Command Handler

GriefPrevention3D ships a unified command surface through alias.yml:

# plugins/GriefPreventionData/alias.yml
enabled: true
standalone: true

With enabled: true, the following unified form is available:

/claim create
/claim trust <player>
/claim abandon
/claim explosions
/claim expand <amount>

Most claim-local commands that used to require "stand inside the claim, then type the standalone command" can now be reached through /claim <subcommand> after a claim is selected.

Standalone Commands Still Work

  • With standalone: true (default), all the classic standalone commands — /trust, /abandonclaim, /trapped, etc. — are still registered and behave exactly as upstream.
  • With standalone: false, only /claim and /aclaim are registered; the per-subcommand standalone entries are ignored. Use this mode if another plugin owns commands like /trust and you want to avoid conflicts.

Wither Explosion Toggle

Toggle whether wither explosions may damage blocks inside a specific claim.

/witherexplosions

Works the same way as /claimexplosions — stand in (or have selected) the claim, run the command. Gated by griefprevention.witherexplosions (default: true).


Per-Claim PvP Toggle

Toggle whether PvP is enabled inside a specific claim or subdivision.

/claimpvp <true|false> confirm

Also available as /claim pvp <true|false> confirm through the unified command handler.

Configuration

PvP toggling is disabled by default and can be enabled independently for main claims and subdivisions:

# config.yml
GriefPrevention:
  Claims:
    PvPToggle:
      Claim:
        Enabled: true
        Price: 0.0
      Subdivision:
        Enabled: true
        Price: 0.0
        DefaultState: INHERIT
  • Claim.Enabled: Whether players can toggle PvP in top-level claims (default: false)
  • Claim.Price: Cost to toggle PvP in top-level claims (requires Vault, default: 0.0)
  • Subdivision.Enabled: Whether players can toggle PvP in subdivisions (default: false)
  • Subdivision.Price: Cost to toggle PvP in subdivisions (requires Vault, default: 0.0)
  • Subdivision.DefaultState: How new subdivisions inherit PvP state — INHERIT (from parent claim) or DEFAULT (uses the subdivision's own setting)

Usage

  1. Stand in (or have selected) the claim you want to modify.
  2. Run /claimpvp true confirm to enable PvP, or /claimpvp false confirm to disable it.
  3. If a price is configured, the command checks for Vault and withdraws the fee from your balance before applying the change.

Persistence

The PvP state is persisted across server restarts in both flatfile and database storage.


Minimum Distance Between Claims

Enforce a minimum distance between top-level claims to prevent claim spam and overcrowding.

# config.yml
GriefPrevention:
  Claims:
    MinimumDistance: 0
  • 0 (default): disabled — no minimum distance check.
  • When set to a positive integer (e.g. 10), players cannot create a claim within that many blocks of another player's claim boundary.
  • Claim creation is blocked with a denial message identifying the nearby claim owner and the configured distance.
  • The conflicting claim's boundary is visualized as a CONFLICT_ZONE (visible from afar, especially with VisualizationGlow: true).

Distance check command

/claim distance check

Shows the configured minimum distance and lists all nearby claims within range, each visualized with a conflict zone boundary. Permission: griefprevention.checkclaimdistance.


Neighbor Trust

A new trust level that allows specific players to bypass minimum distance checks for a claim.

Granting neighbor trust

/claim trust <player> neighbor

Grants a player neighbor trust on the claim you're standing in. If you're standing outside any claim, it grants neighbor trust for all your claims.

/neighbortrust <player>

Standalone alias (also available as /distancetrust <player>).

Revoking neighbor trust

/claim untrust <player>

Revokes manually-granted neighbor trust. Auto-granted neighbor trust (from existing nearby claims) cannot be removed via /untrust — it is automatically cleaned up when the nearby claim is abandoned.

Allow all neighbors

/claim distance toggle

While standing in your own claim (or with manager permission), toggles allowAllNeighbors for that claim. When enabled, ALL players can bypass minimum distance checks for that claim. Running the command again toggles it off. Permission: griefprevention.toggleclaimdistance.

Auto-granted neighbor trust

When MinimumDistance is set, existing claims that are already too close to each other automatically have their owners added as neighbors to each other's claims. This trust is automatically removed when a claim is abandoned (and no other claims from that owner remain nearby).

Trustlist display

/trustlist shows neighbor-trusted players with a &d> (light purple) prefix, and the legend at the bottom includes "Neighbor" when neighbors exist.

Permissions

Permission Default Description
griefprevention.neighbortrust child of griefprevention.claims Allows use of /neighbortrust and /distancetrust.
griefprevention.checkclaimdistance child of griefprevention.claims Allows use of /claim distance check.
griefprevention.toggleclaimdistance child of griefprevention.claims Allows use of /claim distance toggle.

All of the above are children of griefprevention.claims, so existing servers with griefprevention.claims: true (the default) continue to work without changes.

See also: Permissions for the full list of granular claim command permissions.


3D Admin Claims

Create free, height-bounded administrative claims with exact Y-level boundaries.

/3dadminclaims

Use this command (or /aclaim mode admin3d) to switch to 3D admin claim mode. Unlike regular Admin mode which extends claims from the clicked Y down to the world floor, Admin3D mode uses the clicked Y coordinates directly as the top and bottom bounds.

  • Requires the griefprevention.adminclaims permission (same as regular admin claims).
  • Claims are free (no claim blocks consumed) with null owner ID.
  • Minimum size and claim block checks are bypassed.
  • Multiple admin 3D claims can be stacked at different Y levels within the same X/Z area.
  • Visualization uses a distinct ADMIN_CLAIM_3D style (glowstone/pumpkin by default).

Claim Selection

Claim selection is the most ergonomic change in GP3D.

  • Resizing a claim selects it. After you right-click a claim corner with the golden shovel, the claim becomes your "selected claim" for the session.
  • While a claim is selected, claim-local commands run against that claim even if you walk away:
  • /trust, /untrust, /containertrust, /accesstrust, /permissiontrust
  • /trustlist
  • /abandonclaim, /deleteclaim
  • /transferclaim
  • /checkclaimexpiry
  • /restrictsubclaim
  • /claimexplosions, /claimwitherexplosions
  • /extendclaim
  • This solves the common UX complaint that 1x1x1 3D subdivisions were hard to access — now selecting/resizing a claim is a real gateway into claim management.

The flow is deliberately claim-local and obvious. The most common owner actions are reachable without memorizing a long command list or constantly walking back and forth.


Subtle Changes

Small behavior improvements worth knowing:

  • Resize selects the claim. See above — commands like /trust and /abandonclaim run against the selected claim.
  • /restrictsubclaim on a parent claim instantly restricts all subdivisions inside that claim in one command, rather than one subclaim at a time.
  • /trustlist shows inherited permissions from the parent claim, not just explicit trusts.
  • Eavesdrop permission splitgriefprevention.eavesdrop.pm and griefprevention.eavesdrop.softmute are now separate nodes on top of the blanket griefprevention.eavesdrop.
  • /expandclaim on shaped segments operates on the segmented subsection rather than the whole side, when a shift-click segment marker exists.
  • Selected-claim commands: resize-oriented command variants respect the current selection context instead of only the player's block position.
  • Temporary basic-mode segment previews: shift-clicking a claim boundary in basic claims mode creates a temporary segment preview for convenience. These previews do not persist across visualization refreshes and disappear if the player does nothing with them. Only deliberate /shapedclaim shift-click segmentation persists to the claim.
  • Per-Player Locale: Enabled by default (PerPlayerLocale: true). Players with a Spanish or Portuguese client locale receive messages in their language automatically, while others use the server's configured locale. See Per-Player Locale.
  • Older-version compatibility fixes shipped for COPPER_GOLEM_STATUES, CHAINS, and chain-material lookups.

Related

Wiki: Locale

Auth0 Logo