Menu

Migration

Jack Korte

Migration from Upstream GriefPrevention

This page summarizes what is new, different, or worth double-checking when moving from the original GriefPrevention (RoboMWM) to GriefPrevention3D. It is intentionally short — the goal is to help server owners recognize what has changed without reading the whole wiki.

TL;DR

  • Claims are backwards compatible. Existing rectangle claims load without modification.
  • Most commands and permissions are identical to upstream. GP3D adds a few new ones.
  • Several features are off by default and must be opted into in config.yml.
  • There is now a unified /claim <subcommand> surface on top of the existing standalone commands.

What's New

Area What Default
3D Subdivisions /3dsubdivideclaims — subclaims with real Y-level bounds Available always
3D Admin Claims /3dadminclaims — free, height-bounded admin claims with exact Y bounds. Also /aclaim mode admin3d. Permission-gated (griefprevention.adminclaims)
Shaped Claims /shapedclaims, /shapedclaim — orthogonal polygon parent claims Off (AllowShapedClaims: false)
Nested Subclaims Subdivisions inside subdivisions Off (AllowNestedSubClaims: false)
Visualization Glow Glowing claim borders (1.19.3+) Off (VisualizationGlow: false)
Unified /claim /claim create, /claim trust, /claim abandon, etc. On in alias.yml
/makeadmin / /makebasic Convert claims to/from admin Permission-gated (griefprevention.adminclaims.convert)
/witherexplosions Per-claim wither explosion toggle Permission-gated (griefprevention.witherexplosions, default true)
Boundary Violation Alerts Warn claim owners when pistons/liquids are blocked at their border On (smart deduplication + burst detection)

What's Changed

Claim Selection After Resize

When a player resizes a claim, that claim becomes the "selected claim" for their session. Commands like /trust, /untrust, /trustlist, /abandonclaim, /claimexplosions, and /witherexplosions then run against the selected claim even if the player is no longer standing inside it. This removes the old "stand in the claim, then type the command" dance for common admin flows.

/restrictsubclaim from a Parent Claim

Running /restrictsubclaim while standing in a top-level claim (not inside a subdivision) now instantly restricts all subdivisions inside that claim in one go. Previously this had to be done per-subclaim.

/trustlist Shows Inheritance

/trustlist now displays inherited permissions from the parent claim, not just explicit trusts on the current (sub)claim. This makes it obvious why a player has access somewhere.

Eavesdrop Permissions Split

The single griefprevention.eavesdrop permission has been split for finer control:

  • griefprevention.eavesdrop.pm — see /tell-style private messages.
  • griefprevention.eavesdrop.softmute — see soft-muted messages.
  • griefprevention.eavesdrop.signs — see sign placements as chat messages (already existed upstream).
  • griefprevention.eavesdrop.immune — exempt from being eavesdropped.
  • griefprevention.eavesdrop still exists as a blanket/legacy permission.

If you previously granted griefprevention.eavesdrop to staff, they will keep the same behavior. If you want only PM eavesdropping or only softmute eavesdropping, use the narrower nodes.

Boundary Violation Alerts (New)

Pistons and liquids that get blocked at a claim boundary now send a chat message to the claim owner (if they're online) explaining where the violation occurred. This covers:

  • Piston pushing a block into a claim.
  • Piston pushing a block out of the owner's own claim into someone else's.
  • Water or lava trying to flow into or out of a claim.

Messages are deduplicated per-location, with spatial buffers (8 blocks for water, 5 blocks for lava in overworld/end, 8 for lava in the nether). Rapid sequential violations are burst-condensed into a single summary line. See Administrator's Guide › Boundary Violation Alerts.

Note: this is a feedback-only system. The goal is helping players understand where flow is being blocked, not adding new protection switches.

Upgrading Steps

  1. Backup your plugins/GriefPreventionData/ folder.
  2. Replace the plugin jar with the GP3D build.
  3. Start the server and watch the console for migration-related log messages.
  4. Review config.yml — the new toggles (AllowShapedClaims, AllowNestedSubClaims, VisualizationGlow) will be appended if missing.
  5. Review alias.yml for the unified command handler settings.
  6. Restart once more, or run /gpreload if you only changed config values.

Existing claims, trust data, and claim block totals are preserved. Rectangle claims continue to work exactly as before; shaped polygon claims are only created when a player explicitly enters shaped mode (and only if AllowShapedClaims: true).

Rollback

The data format is forward-compatible for rectangle claims, so going back to upstream GP will usually work, but:

  • Any shaped (polygon) claims created with GP3D will not round-trip back to upstream GP. Upstream does not understand polygon footprints and will reject or truncate the data.
  • Any 3D subclaims with Y-level bounds will not round-trip back to upstream GP either.

If you know you might roll back, keep AllowShapedClaims: false. Or, more simply, take a full backup of GriefPreventionData/ before enabling those features.


Related

Wiki: Configuration
Wiki: Getting Started
Wiki: Home
Wiki: _Sidebar

Auth0 Logo