Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
Avatar for castledking

A fork of GriefPrevention that adds 3D subdivisions

Report GriefPrevention3D?

R

18.3.14

GriefPrevention3D v18.3.14

Wiki: https://github.com/castledking/GriefPrevention3D/wiki

Overview

  • New: /scrollresize — resize claims and subdivisions with the mouse wheel and a live preview.
  • Permissions: every claim and admin command now has its own permission node, so a single command can be negated without removing the rest of griefprevention.claims or griefprevention.adminclaims. Denials send the plugin's own "no permission" message everywhere.
  • Changed: /claimpvp now needs manager trust in the claim instead of edit permission.
  • Fix: Claims.Allow3DSubdivisions and Claims.Allow3DAdminClaims are now written to config.yml.
  • Fix: 3D subdivision outlines that are one block wide or one or two layers tall now draw correctly.
  • Fix: clicking a second spot on a shaped claim's boundary in /shapedclaims placed the segment marker next to the previous one instead of where you clicked.

/scrollresize

Hold your claim tool and run /scrollresize (or /claim scrollresize, aliases /sr, /src).

Which claim: the claim or subdivision you're looking at or standing in — including 3D subdivisions too small to stand inside, like a 1x1x1 — or the claim you selected by right-clicking one of its corners.

Which side: the side your line of sight hits. From outside a claim that's the side facing you (the top when you look down on it); from inside, it's the side you're looking at. Right-clicking a corner first limits the resize to the sides at that corner (two on a 2D claim, plus the top or bottom on a 3D claim). On shaped claims and shaped subdivisions the side is the segment you're standing in front of and facing, the same one /expandclaim moves, or one of the two edges at a selected corner.

Scrolling follows your camera: scrolling up pushes the side away from you and scrolling down pulls it toward you, one block per notch. Looking down at a 1x1x1 subdivision, scroll down raises its top and scroll up brings it back to a single layer.

Preview: the new outline is drawn through GriefPrevention's normal visualization event, so fake-block and glowing borders — and visualization addons that hook that event — show it. Nearby claims and the parent claim's other subdivisions are shown too. The outline turns red if it would overlap another claim, stick out of its parent, cut into its own subdivisions, or cost more claim blocks than you have; the action bar shows the size and remaining claim blocks. (Servers without an action bar API, such as 1.8.8, get conflicts in chat right away and size updates in chat once you stop scrolling.)

Applying and cancelling:

  • Right-click applies the resize, through the same checks as the golden shovel. If the preview shows a conflict, the session stays open so you can scroll back.
  • Left-click, drop (Q), swap hands (F, 1.9+), a number key, switching off the claim tool, changing worlds, or a minute without scrolling cancels it and restores the claim's real outline.

Subdivisions never cost claim blocks. Shaped segments can be pulled inward into a notch, stopping at the last valid shape. New permission: griefprevention.scrollresize (default true, child of griefprevention.claims).

Per-command permissions

Upstream GriefPrevention gated most claim commands behind griefprevention.claims, so negating one command meant losing all of them. GP3D now gives each command its own node under a parent bundle:

  • Commands check their own node. plugin.yml commands, /claim and /aclaim subcommands, and the standalone aliases configured in alias.yml all check the command's specific permission. For example: /claim untrust checks griefprevention.untrust, /claim pvp checks griefprevention.claimpvp, /claim trust <player> access checks griefprevention.accesstrust, and /claim abandon all checks griefprevention.abandonallclaims.
  • One denial message. Every denial sends NoPermissionForCommand from messages.yml — including Bukkit's own plugin.yml permission check and dynamically registered aliases, which previously sent generic English text.
  • New nodes under griefprevention.claims (default true): griefprevention.trustlist, griefprevention.claimalerts (/claim alerts), and griefprevention.toggleclaimalerts (/claimtogglealerts, which previously used an undeclared node and so only worked for operators).
  • New nodes under griefprevention.adminclaims (default op): griefprevention.3dadminclaims, griefprevention.adminclaimslist, and griefprevention.deletealladminclaims (which also still requires griefprevention.deleteclaims). /aclaim transfer checks griefprevention.transferclaim, and /aclaim delete checks griefprevention.deleteclaims, griefprevention.deleteclaimsinworld, or griefprevention.deletealladminclaims depending on what is being deleted.
  • Previously undeclared nodes are now declared (default op): griefprevention.deleteclaimsinworld, griefprevention.deathblow, and griefprevention.eavesdrop.immune.

Everyone who has griefprevention.claims or griefprevention.adminclaims keeps the same access as before; the change only makes negating individual commands possible.

/claimpvp needs manager trust

Toggling PvP in a claim now requires manager trust (owners, players given /managetrust, and staff with griefprevention.adminclaims on admin claims) instead of edit permission, and the command permission is griefprevention.claimpvp instead of griefprevention.claims. Players without manager trust see the claim's "you don't have permission to manage permissions here" message.

3D config options now generate

Claims.Allow3DSubdivisions and Claims.Allow3DAdminClaims were read but never written back, so they never appeared in config.yml. They are now added with their current values (default true) the next time the server starts.

3D subdivision previews

Very small 3D subdivisions put several outline markers on the same block: a one-block-wide ring collapses into a column, a one-layer subdivision drew the same ring twice, and the white wool markers of a two-layer subdivision landed on the other ring's corners. Which marker appeared was random, so these subdivisions looked unchanged while resizing. Each block is now drawn once with corners winning, one-layer subdivisions draw a single ring, and the wool markers only appear when there's a gap between the top and bottom rings. This applies everywhere 3D subdivisions are shown, including the golden shovel and investigation tool.

Shaped claim segment markers

In /shapedclaims, the first click on a claim boundary places a segment marker and starts a reshape path from it. A second click elsewhere on the same boundary was read as the next point of that path and snapped to the block next to the first marker. A path that hasn't left the boundary yet is now dropped when you click another spot on the same boundary, so the new marker goes exactly where you clicked. Reshaping outward, cuts, and cross-claim merges work as before.

Upgrade notes

  • alias.yml: existing files keep their values. If yours sets subcommands.claim.pvp.permission: griefprevention.claims, you can change it to griefprevention.claimpvp; the command also checks griefprevention.claimpvp either way.
  • New messages are translated into every bundled locale.
  • No storage changes. Drop-in replacement for v18.3.13.

Information

Published
September 15, 2026
2Downloads

Platforms

Paper
Paper
1.8.8–26.2