Arbiter
Server-side ground item cleaner for Fabric with bossbar countdown, TPS-aware emergency clearing, and per-dimension protection rules.
- Loaders
- Fabric
- Downloads on Modrinth
- 205
- Followers on Modrinth
- 0
- version
- 1
- Updated
- April 4, 2026Apr 4
- Published
- in 2026
At a glance
Install on the server only; players don't need it
What is Arbiter?
Arbiter is an open-source, server-side Fabric mod that automatically clears ground item entities on a configurable schedule — no client install required and vanilla game mechanics unchanged. It replaces blunt /kill @e[type=item] scripts with intelligent item clear logic: scheduled clears, TPS-aware emergency sweeps, per-dimension auto clear rules, and a protection system that ensures item despawn never takes something that matters.
Compatibility
| Side | Status | Notes |
|---|---|---|
| Server | Required | All features run server-side only |
| Client | Not needed | Players do not need to install Arbiter to join |
| Java | 21+ required | Fabric Loader + Fabric API also required |
Features
- Smart Item Protection — Named (anvil-renamed) and enchanted items are never cleared; rarity-based protection defaults to RARE and above (
protect_rarity_minimum: "RARE"). - TPS-Aware Emergency Clear — Monitors server TPS and triggers an accelerated sweep when TPS drops below
emergency_tps_threshold(default:15.0), with aemergency_clear_cooldown_seconds(default:60) to prevent rapid-fire clearing. - Bossbar Countdown — Color-graduated bossbar (green → yellow → red) broadcasts a
warning_start_seconds(default:30) warning to all players, including late joiners, before each scheduled clear. - Per-Dimension Configuration — Each dimension carries independent
clear_interval_seconds,item_count_threshold, and protection overrides; unset fields inherit from global config. - 10-Rule Protection Priority Chain — Item fate is resolved by a deterministic chain:
item_overridesBLACKLIST beats PROTECT beatsprotected_itemslist beatsprotected_namespacesbeats rarity beats proximity. No item is cleared unexpectedly. - Mod Namespace Protection — Add any mod's registry ID to
protected_namespacesto protect all of its items with one line; assign priority tiers (LOW/NORMAL/HIGH) vianamespace_tiers. - Hot-Reload JSON5 Config — File changes apply within ~1 second via file-watch;
/arbiter reloadforces an immediate reload. Invalid values are clamped to safe ranges on load.
Quick Start Modes
Arbiter ships with three built-in presets. Apply any preset with a single command — the config is rewritten and hot-reloaded automatically.
| Mode | Interval | Item Threshold | Protection Level | Command |
|---|---|---|---|---|
aggressive | 60 s | 0 (always clear) | EPIC rarity only; named/enchanted/namespace disabled | /arbiter mode aggressive |
warden | 180 s | 50 items | Named, enchanted, RARE+, namespace list | /arbiter mode warden |
calm | 600 s | 200 items | Named, enchanted, UNCOMMON+, namespace list, extended protected items | /arbiter mode calm |
custom | from config | from config | Hand-tuned; all values from config file | /arbiter mode custom |
Commands
| Command | Effect | Permission Node | Default OP Level |
|---|---|---|---|
/arbiter force [dimension] | Force-clear all worlds or a specific dimension | arbiter.force | 4 |
/arbiter status | Show TPS, time until next clear, item counts per world | arbiter.status | 2 |
/arbiter reload | Reload config from disk without restarting | arbiter.reload | 4 |
/arbiter stats | View session statistics (clears run, items removed) | arbiter.stats | 2 |
/arbiter dryrun [dimension] | Preview what would be cleared without removing anything | arbiter.dryrun | 2 |
/arbiter testbar [seconds] | Run a bossbar countdown test | arbiter.testbar | 4 |
| `/arbiter mode ` | Apply a preset: aggressive / warden / calm / custom | arbiter.mode | 4 |
LuckPerms integration is automatic — falls back to OP level if LuckPerms is not installed.
dryrun output example: Would CLEAR: 47 items — Would protect: 12
Configuration
Arbiter works out of the box. config/arbiter.json5 is generated on first run and is fully annotated — every setting is documented inline.
| Setting | Default | Description |
|---|---|---|
clear_interval_seconds | 300 | Time between scheduled clears |
warning_start_seconds | 30 | Bossbar countdown starts this many seconds before clear |
item_count_threshold | 100 | Skip clear if fewer item entities than this exist |
emergency_tps_threshold | 15.0 | Trigger emergency clear when TPS drops below this; 0 disables |
emergency_clear_cooldown_seconds | 60 | Minimum seconds between emergency clears |
protect_named_items | true | Protect anvil-renamed items |
protect_enchanted_items | true | Protect enchanted items |
protect_rarity_minimum | "RARE" | Minimum vanilla rarity to auto-protect (EPIC / RARE / UNCOMMON / COMMON) |
player_proximity_radius | 10 | Protect items within N blocks of any player |
protected_namespaces | ["mod_namespace"] | Protect all items from listed mod namespaces |
protected_items | ["minecraft:nether_star", ...] | Exact item IDs always protected |
item_overrides | {"minecraft:dirt": "BLACKLIST"} | Per-item PROTECT or BLACKLIST — overrides all other rules |
bossbar_enabled | true | Show bossbar countdown |
actionbar_warnings_enabled | false | Show countdown in actionbar alongside bossbar |
broadcast_clear_results | true | Announce clear results to all players |
Note:
protect_rarity_minimum: "EPIC"protects almost nothing in vanilla — enchanted golden apple is the only EPIC item. Use"RARE"or"UNCOMMON"for meaningful protection.
Full Example Config (click to expand)
// Arbiter configuration — changes are hot-reloaded automatically
{
// ── Timing ──────────────────────────────────────────────────
"clear_interval_seconds": 300,
"warning_start_seconds": 30,
// ── Thresholds ──────────────────────────────────────────────
"item_count_threshold": 100,
"emergency_tps_threshold": 15.0,
"emergency_clear_cooldown_seconds": 60,
// ── Item Protection ─────────────────────────────────────────
"protect_named_items": true,
"protect_enchanted_items": true,
"protect_rarity_minimum": "RARE",
"player_proximity_radius": 10,
// ── Mod & Item Lists ────────────────────────────────────────
"protected_namespaces": [
"your_mod"
],
"protected_items": [
"minecraft:nether_star",
"minecraft:elytra",
"minecraft:dragon_egg",
"minecraft:totem_of_undying"
],
"namespace_tiers": {
"minecraft": "NORMAL",
"create": "NORMAL"
},
// Per-item overrides — PROTECT or BLACKLIST specific items
// These override ALL other rules
"item_overrides": {
"minecraft:dirt": "BLACKLIST",
"minecraft:cobblestone": "BLACKLIST",
"minecraft:netherite_ingot": "PROTECT"
},
// ── Display ─────────────────────────────────────────────────
"bossbar_enabled": true,
"bossbar_style": "NOTCHED_10",
"bossbar_yellow_threshold_seconds": 15,
"bossbar_red_threshold_seconds": 5,
"actionbar_warnings_enabled": false,
// ── Per-Dimension Overrides ─────────────────────────────────
"dimensions": {
"minecraft:the_nether": {
"clear_interval_seconds": 180,
"item_count_threshold": 50
},
"minecraft:the_end": {
"clear_interval_seconds": 120
}
},
// ── Logging ─────────────────────────────────────────────────
"log_clears_to_console": true,
"broadcast_clear_results": true
}How It Compares
| Feature | Arbiter | ICL | ClearLagg |
|---|---|---|---|
| Bossbar countdown | ✅ Color-graduated | ❌ Chat only | ❌ Chat only |
| Named item protection | ✅ | ❌ | ⚠️ Partial |
| Enchanted item protection | ✅ | ❌ | ⚠️ Partial |
| Rarity-based protection | ✅ | ❌ | ❌ |
| Mod namespace protection | ✅ | ❌ | ❌ |
| Per-item PROTECT/BLACKLIST | ✅ | ❌ | ⚠️ Whitelist only |
| TPS emergency clear | ✅ With cooldown | ❌ | ⚠️ No cooldown |
| Item count threshold | ✅ | ❌ | ❌ |
| Per-dimension config | ✅ | ❌ | ❌ |
| Hot-reload config | ✅ File watch + command | ❌ | ❌ |
| Player proximity protection | ✅ | ❌ | ❌ |
No System.gc() stutter | ✅ | ✅ | ❌ |
| Silent clears (no sounds) | ✅ | ❌ Noteblock beep | ✅ |
| Server-side only | ✅ | ✅ | ✅ (Bukkit) |
Requirements
- Minecraft 1.21.1
- Fabric Loader (latest)
- Fabric API
- Java 21+
- LuckPerms (optional — falls back to OP levels)
FAQ
Is Arbiter server-side only? Yes. Players connect to a server running Arbiter without installing anything client-side.
Will Arbiter be backported to older Minecraft versions? No backport is currently planned. Watch the GitHub repository for future version announcements.
Does Arbiter conflict with ClearLagg, ICL, or other item-clearing mods? Running two item-clearing mods simultaneously is redundant and not recommended. Arbiter is otherwise compatible with all Fabric mods.
Can I protect items from modded dimensions or custom registries? Yes — add any mod's registry namespace to protected_namespaces. Per-item overrides via item_overrides work for any item ID regardless of mod.
FAQ
How to install Arbiter?
Install Fabric for your Minecraft version, download Arbiter for the same version and loader, put the file into the mods folder and launch the game with the loader profile.
Which Minecraft versions does Arbiter support?
Arbiter has builds for Minecraft 1.21.1–1.21.11.
Is Arbiter needed on the server?
Server only — players don't need to install it