EzClean Hands-off entity sweeps with countdown alerts, pay-to-cancel safety nets, and live scheduler monitoring Paper/Purpur 1.21+ • Java 17+ • Multi-profile scheduler • Dynamic MiniMessage broadcasts • WorldGuard bypass flag • Vault (optional)
Why EzClean?
Profile-based scheduling – Define multiple cleaner profiles with their own intervals, worlds, entity rules, and broadcast copy.
Interactive countdowns – Send themed warnings, summary recaps, and staff-only cancel prompts using MiniMessage placeholders for `{minutes}`, `{count}`, `{cleaner}`, and `{cost}`.
Granular removal rules – Toggle hostile mobs, passive mobs, villagers, vehicles, drops, orbs, projectiles, TNT, and clouds while protecting players, armor stands, displays, tamed pets, and named mobs.
World targeting – Aim cleanups at specific worlds or cover the entire network with the wildcard "*" entry.
Force keep/remove lists – Override defaults by tagging any `EntityType` to always stay or go for event arenas or custom mechanics.
Feature Highlights
MiniMessage ready – Ship themed warning, interval, dynamic, and cancel broadcasts using Adventure MiniMessage tags for minutes, count, cleaner id, and cancel costs.
WorldGuard integration – Regions flagged with `ezclean-bypass` are automatically skipped during sweeps.
Pay-to-cancel safety net – Optional Vault hooks let you charge players to cancel a cleanup, complete with hover tooltips and refund protection.
Safe defaults – Critical entities stay untouched until you explicitly opt into removing them.
Lightweight configuration – Cleaners, MiniMessage copy, and death chests live in tidy YAML files inside the plugin data folder.
Hot reload friendly – Use your favorite plugin manager or `/reload confirm` to apply profile changes on the fly.
Smart pile detection – Automatically cull stacks of drops or other spammy entities that exceed your per-block limit.
Optional death chests – Capture player drops in temporary containers that despawn on a timer instead of scattering items everywhere.
Configure What Gets Cleaned
Create as many cleaner profiles as you need with their own world targets, countdown cadence, and broadcast copy.
Toggle entity groups like hostile mobs, passive mobs, villagers, vehicles, drops, orbs, projectiles, clouds, falling blocks, and TNT on a per-profile basis.
Fine-tune specific `EntityType` values using the `keep`/`remove` arrays to protect custom mobs or purge event clutter.
Mix profiles for global sweeps, world-specific cleanups, or niche arenas without touching other schedules.
Reload the plugin to immediately apply your adjustments and monitor `/ezclean time` for updated countdowns.
Pay-to-Cancel Cleanups
Clickable countdown broadcasts let staff with `ezclean.cancel` delay the next cleanup without typing commands.
Charge an optional Vault-backed fee per cleaner profile and automatically refund players if the cancellation cannot proceed.
Customize hover, success, broadcast, and error copy with MiniMessage placeholders for `{player}`, `{cleaner}`, `{minutes}`, and `{cost}`.
Players without permission still see the standard warning, keeping the interaction gated to trusted ranks.
Monitor Async Scheduler Load
Use `/ezclean usage` for instant snapshots of pending sync/async tasks and the busiest plugins on your server.
Run `/ezclean usage live` in-game to stream chat updates plus an action bar graph—perfect for catching spikes as they happen.
Stop the feed anytime with `/ezclean usage stop` or filter the output to a specific plugin name.
Optional Death Chests
Convert player drops into a 54-slot chest near the death location instead of littering the ground with items.
Set a despawn timer (or keep chests indefinitely) and auto-drop leftovers if the chest breaks or expires.
Customize the MiniMessage inventory title and toggle the feature on the fly without restarting the server.
Keeps messy drop piles off the ground so your cleanup cycles have less to sweep in the first place.
Admin Commands
/ezclean run [cleaner] – Trigger any configured profile instantly when staff need a manual sweep.
/ezclean cancel [cleaner] – Delay the next cleanup cycle (and optionally charge a Vault fee) via command or the clickable broadcast prompt.
/ezclean time [cleaner] – Check how many minutes remain before the next scheduled cleanup runs.
/ezclean reload – Reload EzClean's configuration bundle without restarting to apply new profiles, messages, or entity rules.
/ezclean usage [plugin|live|stop] [plugin] – Diagnose heavy scheduler usage, start a live monitor, or cancel an active session (`ezclean.usage`).
Quick Start
Drop `EzClean.jar` into your Paper or Purpur `plugins/` directory and restart the server.
Let EzClean generate `cleaners/default.yml`, `messages.yml`, and `death-chests.yml` inside its data folder on first launch.
Duplicate `cleaners/default.yml` for world-specific schedules, then adjust world lists, removal toggles, broadcast cadence, and cancel costs per profile.
Theme broadcasts in `messages.yml`, tweak death chest timers in `death-chests.yml`, and reload the plugin (or restart) to apply changes before checking `/ezclean time`.
WorldGuard Bypass Tag
Install WorldGuard alongside EzClean to unlock region-based exclusions.
EzClean automatically registers the `ezclean-bypass` state flag during startup—no manual flag setup required.
Use `/rg flag <region> ezclean-bypass allow` to mark safe zones (spawn, showcases, redstone labs) that should never be swept.
Switch the flag back to `deny` (or remove it) when you want EzClean to resume removing entities from that region.
Entities inside an `allow` region are skipped while the rest of the server is tidied normally.
Cleanup Scope at a Glance
Category
Default
Notes
Hostile mobs
Enabled
Removes Enemy instances unless explicitly kept.
Passive mobs
Disabled
Culls Animals, WaterMob, Ambient, Golem, and Allay entities when enabled.
Villagers & traders
Disabled
Targets villagers and wandering traders (AbstractVillager) on opt-in profiles.
Vehicles
Disabled
Removes Vehicle entities such as boats and minecarts when explicitly enabled.
Dropped items
Enabled
Clears loose Item entities server-wide.
Projectiles & orbs
Enabled
Targets arrows, snowballs, thrown potions, and experience orbs.
Area effect clouds
Enabled
Sweeps lingering potion clouds from combat-heavy areas.
Falling blocks & TNT
Enabled
Removes rogue falling blocks and primed TNT to keep TPS stable.
Players, armor stands & displays
Protected
Stay intact unless you toggle the `protect.*` switches off.
Tamed mobs
Protected
Ignored while `protect.tamed-mobs` stays enabled.
Named mobs
Protected
Skip entities with custom names when `protect.name-tagged-mobs` is enabled.