Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Links
Tags
Creators
Details
DuraPing
Never break your favorite gear again. Timely durability alerts through chat, sound, screen flash, or hotbar toast, the moment a tool, weapon, or armor piece runs low.
DuraPing is a client-side quality-of-life mod that watches the durability of everything you have equipped and warns you before it breaks. Pick how you want to be told (chat, sound, a screen flash, or a hotbar toast), set the thresholds that matter to you, and stop losing enchanted gear to one swing too many. It runs on Fabric and NeoForge, needs nothing on the server, and stays out of your way until your gear is actually in danger.
At a glance
| 🔔 Multi-tier alerts | Warn, Danger, and Critical thresholds, plus an emergency alert at 2 durability that bypasses snooze. |
| 📺 Four alert channels | Chat, custom sound, screen flash, and hotbar toast. Each one toggles independently. |
| 🎒 Every slot watched | Main hand, offhand, and all four armor pieces, every tick. |
| 🤫 Smart anti-spam | Per-tier cooldowns, hysteresis re-arming, and activity-aware quieting while you mine. |
| 🎚️ Per-item thresholds | Override warn, danger, and critical percentages for specific items by id. |
| ⏱️ Snooze and toggle | Keybinds to silence alerts for a few minutes or switch all alerts off. |
| 🧩 In-game config | A Cloth Config screen on both loaders (Fabric via Mod Menu, NeoForge via the Mods list), plus a plain JSON file. |
| 🌍 Client-side only | Works on vanilla servers, modded servers, and singleplayer. No server install. |
Every feature
Alerts
- Multi-tier thresholds: Warn (25%), Danger (10%), and Critical (5%) by default, each with its own color and cooldown.
- Emergency alert at 2 durability: ignores snooze and uses every alert type you have on: a banner in chat, a layered critical sound, and a strong flash and toast if you enabled them.
- Chat messages with the item name and exact uses remaining.
- Custom sounds for warn and critical.
- Screen flash: a brief, low-opacity white overlay across the whole screen for a glance-free heads-up.
- Hotbar toast messages for a quieter, text-only nudge.
Smart monitoring
- Watches the main hand, offhand, and all armor continuously.
- Warn and danger fire once on a downward threshold crossing, then re-arm only after you recover, with configurable hysteresis for Mending or modded durability regen. Critical keeps repeating on its cooldown (every 7 seconds by default) until you repair or swap the item, or snooze.
- While you are mining, warn and danger alert once as you cross them, so a long dig does not spam you. Danger also repeats on its cooldown while a single block takes 2 seconds or more to break, such as obsidian.
- Optional quiet-below-warn: each drop into the warn tier still alerts normally, and warn reminders after that are visual-only (flash or toast), no sound or chat.
Customization
- Per-item overrides: different thresholds for an elytra, a netherite pickaxe, or anything else, keyed by item id.
- Tunable thresholds, per-tier cooldowns, and snooze duration.
- In-game config screen on both loaders via Cloth Config: Fabric through Mod Menu, NeoForge through the Mods list (Mods → DuraPing → Config). The JSON config file still works everywhere.
Controls
- Keybinds to toggle, snooze or cancel, and show main-hand durability on demand (defaults on the numpad, fully rebindable).
Auto-swap (off by default)
- Swaps a worn-down tool for a more durable copy of the same item when you hit or use a block, and worn-down armor for a more durable piece that fits the slot. That piece can be a lower tier unless you turn off Allow Lower Quality, and a worn elytra can be replaced by a chestplate, never another elytra. Uses server-synced inventory actions that hold up on real servers.
Configuration
The config lives at config/duraping.json and is created on first launch with every setting. This excerpt shows the main keys at their defaults, plus an example elytra override (overrides is empty by default). Edit the file with the game closed: it is read once at startup, and toggling DuraPing or saving the config screen overwrites it.
{
"enabled": true,
"chat": true,
"sound": true,
"flash": false,
"toast": false,
"warn": 25,
"danger": 10,
"critical": 5,
"warnCooldownSec": 30,
"dangerCooldownSec": 15,
"criticalCooldownSec": 7,
"overrides": {
"minecraft:elytra": { "warn": 15, "danger": 7, "critical": 1 }
}
}
You can change every setting except per-item overrides live from the in-game config screen: Escape → Mods → DuraPing, then Config on NeoForge or the sliders icon on Fabric (Fabric also needs Mod Menu; both need Cloth Config). On 26.2 and 26.3, Mods is an icon in the pause menu. Per-item overrides go in the JSON file, keyed by the namespaced item id, for example minecraft:netherite_pickaxe.
Keybinds
| Key | Action |
|---|---|
| Numpad 7 | Toggle all alerts on or off |
| Numpad 8 | Snooze for 5 minutes, or cancel an active snooze |
| Numpad 9 | Show current main-hand durability |
| Numpad 0 | Manual auto-swap trigger (auto-swap must be on, and it only swaps gear at or below the auto-swap threshold, 15% by default) |
Rebind any of these under Options, Controls, Key Binds, Miscellaneous.
Requirements
| Loader | Fabric or NeoForge |
| Required on Fabric | Fabric API |
| Minecraft | 1.21.9 to 1.21.11, 26.1 to 26.1.2, 26.2, or 26.3 |
| Java | 21 (1.21.x) or 25 (26.x) |
Files are split by Minecraft version and loader, so pick the one that matches your game on Modrinth or CurseForge. On NeoForge, the 26.1 line needs 26.1.2. On Fabric, 26.3 needs Fabric Loader 0.19.3 or newer.
On NeoForge, two builds crash when you click Mods, with or without DuraPing installed: 21.9.16-beta (Minecraft 1.21.9) and 21.10.0-beta (Minecraft 1.21.10). This is a NeoForge bug. Use 21.9.15-beta on 1.21.9, and 21.10.1-beta or newer on 1.21.10. DuraPing still runs on the affected builds, but its config screen can't be opened there, so change settings in config/duraping.json and restart the game.
Optional: Cloth Config for the in-game settings screen (plus Mod Menu on Fabric). Everything works without them through the config file.
Multiplayer
DuraPing is fully client-side. Its alerts read only your own inventory, so it works on vanilla servers, modded servers that do not have it, and in singleplayer, with no permissions or server-side install required. The 26.x builds also send the usage metrics described below.
Usage metrics
The 26.x builds report pseudonymous usage statistics to FastStats: a random id, the game, mod and loader versions, the loader name, the Java version and vendor, the operating system name, version and architecture, the CPU core count, the number of players on the current server or world, whether the launcher reports a signed-in online account, DuraPing's mod id, and that this is a client. The id is stored in config/faststats/config.properties, stays the same until that file is deleted, and is shared by every FastStats mod in the instance. FastStats also records an approximate country for each install, inferred by Cloudflare, and says it does not store your IP address. The totals are public on the DuraPing dashboard.
The 1.21.x builds do not include FastStats, and DuraPing's copy does not load on Fabric 26.1 or 26.1.1.
In an instance without that file, nothing is sent on the first launch unless you open the FastStats screen and press Done with metrics still on. The first report then goes out at the next scheduled send, normally 30 minutes after launch, or when the game closes on Fabric. Otherwise a report is sent about 30 seconds after launch and every 30 minutes after that. On Fabric, another report is sent when the game closes.
To opt out, open Options, Telemetry Data, FastStats, untick the boxes, and press Done, or set enabled=false in config/faststats/config.properties and restart. If Telemetry Data is greyed out, which happens on offline accounts and accounts with telemetry turned off, use the config file. Either one applies to every FastStats mod in the instance.
Found a bug? Have an idea?
Bug reports and feature ideas are welcome. Post them in the Discord with your loader and Minecraft version, your DuraPing version, and any relevant console output. It is also the place for quick questions and helping test.


