WorldPrune
PluginMIT

WorldPrune

Prunes inactive Minecraft region files — safely, with quarantine and rollback.

100
Downloads
1
Followers
4 weeks ago
Updated
📦
11
Versions

📖About WorldPrune

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

  1. /prune scan reads your GriefPrevention, Towny, Residence, and WorldGuard claims (whichever are present) and marks unclaimed regions as candidates.
  2. Heuristic filtering checks candidate regions for player-placed entities (item frames, armor stands, paintings, etc.) and keeps them even if unclaimed.
  3. /prune apply moves candidate files to <world>/quarantine/<apply-id>/. An apply-manifest.json records every move.
  4. /prune undo reads the manifest and puts files back exactly where they were.
  5. /prune drop permanently deletes a quarantine entry once you're satisfied.

All destructive operations (apply, drop) require a /prune confirm within 30 seconds, so there are no accidental deletions.

Requirements

  • Paper or Spigot 1.21 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 .data file parsing
    • Residence — API queried directly; falls back to Global.yml parsing
    • WorldGuard — API queried directly (requires WorldEdit); falls back to per-world regions.yml parsing

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.