Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details
WorldPrune identifies region files that aren't covered by GriefPrevention claims and safely moves them into a quarantine folder. Nothing is permanently deleted until you explicitly say so — every apply is fully reversible via a built-in undo command.
Why use it?
Over time, Minecraft worlds accumulate thousands of region files generated by explorers who never claimed anything. WorldPrune lets you reclaim that disk space without risking player builds. A quarantine-first design means you can always roll back.
How it works
/prune scanreads your GriefPrevention, Towny, Residence, and WorldGuard claims (whichever are present) and marks unclaimed regions as candidates.- Heuristic filtering checks candidate regions for player-placed entities (item frames, armor stands, paintings, etc.) and keeps them even if unclaimed.
- CoreProtect rescue (optional) — if CoreProtect is installed, any unclaimed region with recent player block activity is automatically rescued from pruning, catching builds that were never claimed.
/prune applymoves candidate files to<world>/quarantine/<apply-id>/. Anapply-manifest.jsonrecords every move./prune undoreads the manifest and puts files back exactly where they were./prune droppermanently deletes a quarantine entry once you're satisfied.- Web map overlay (optional) — if BlueMap or Dynmap is installed, keep/prune markers are automatically pushed to the web map after each scan.
All destructive operations (apply, drop) require a /prune confirm within 30 seconds, so there are no accidental deletions.
Requirements
- Paper or Spigot 1.20.1 or newer
- Java 21 or newer
- At least one claim plugin (all optional — WorldPrune works standalone, but claim awareness prevents false positives):
- GriefPrevention — API queried directly; falls back to claim file parsing
- Towny Advanced — API queried directly; falls back to townblock
.datafile parsing - Residence — API queried directly; falls back to
Global.ymlparsing - WorldGuard — API queried directly (requires WorldEdit); falls back to per-world
regions.ymlparsing
- CoreProtect — optional; enables activity-based rescue of unclaimed regions with recent player interaction
- BlueMap or Dynmap — optional; region markers pushed to the web map after each scan
Commands
| Command | What it does |
|---|---|
/prune scan [world|all] |
Analyse one or all worlds and generate a prune plan |
/prune apply [world] |
Preview and stage an apply |
/prune confirm |
Execute the staged operation |
/prune undo [world] |
Restore files from quarantine |
/prune drop <world> <apply-id> |
Permanently delete a quarantine entry (staged) |
/prune plans [world] |
List stored plans |
/prune map [world] |
Get a filled map showing the keep/prune grid |
/prune status |
Show current configuration |
Permissions
prune.admin (default: op) covers read-only commands. Destructive actions require prune.admin.apply (apply/undo) or prune.admin.purge (drop/quarantine).
Source
MIT licensed. Source available on GitHub.


