Compatibility
Minecraft: Java Edition
Platforms
Links
Tags
Creators
Details
๐ซ LastBreath
Death shouldn't be instant. Your friends deserve a chance to save you.
With LastBreath, a lethal hit knocks you down instead of killing you. You crawl on the ground, bleeding out, while a timer ticks away. A friend can sneak next to you to pick you back up โ or you can give up and respawn. It turns every fight, cave dive and boss battle into a co-op moment.
Built for SMPs, survival and co-op servers. Works on Paper and Folia, Minecraft 1.20 โ 26.x, with zero dependencies.
โจ Features
- ๐ฉธ Downed instead of dead. Lethal damage puts you in a crawling, bleeding-out state with a heartbeat that speeds up as time runs out.
- ๐ค Sneak to revive. Stand next to a downed friend and sneak. A progress bar, rising notes and particles show the revive. Get hit and it's interrupted.
- โณ Bleed-out timer on a boss bar, plus a floating "โ DOWNED" hologram so everyone can see who needs help.
- ๐ Finishers. Enemies (or mobs, if you want) can finish off downed players, with normal kill credit and death messages.
- ๐ Anti-abuse. Each recent down shortens the next bleed-out, and after X downs you die for real. Logging out while downed kills you, and
/home,/spawn,/tpaand friends are blocked. - ๐ Mobs ignore downed players (optional), and downed players glow so friends can find them.
- ๐งฑ Totems still work. Holding a Totem of Undying behaves exactly like vanilla.
- ๐ Per-world toggle, PvP toggle, ignored damage causes (void, lava,
/killโฆ). - ๐จ Fully customizable. Every message uses MiniMessage (gradients, hover, click). Every sound and timer can be changed.
- ๐ English and Polish included. Add your own language by copying one file.
- โก Folia-native. Each downed player ticks on their own region thread. On Paper there's no global task when nobody is downed.
- ๐งฉ Developer API with cancellable events.
๐ฎ How it plays
- You take a hit that would kill you โ "YOU'RE DOWN". You drop to a crawl and a bleed-out timer starts.
- Nearby players get a message and an action-bar hint: "Steve is down nearby โ sneak next to them to revive".
- A friend crouches next to you for 5 seconds โ REVIVED with 3 hearts and a short Regeneration boost.
- Nobody came? You bleed out, or click [Give up] in chat to respawn right away.
โจ๏ธ Commands & permissions
| Command | Description | Permission |
|---|---|---|
/lb giveup |
Give up while downed | lastbreath.giveup (everyone) |
/lb revive [player] |
Revive a downed player | lastbreath.admin |
/lb down [player] |
Knock a player down (great for testing) | lastbreath.admin |
/lb list |
List downed players and their time left | lastbreath.admin |
/lb reload |
Reload config and messages | lastbreath.admin |
Aliases: /lastbreath, /lb, /downed
| Permission | Default | Description |
|---|---|---|
lastbreath.downable |
everyone | Get downed instead of dying |
lastbreath.revive |
everyone | Revive other players |
lastbreath.giveup |
everyone | Use /lb giveup |
lastbreath.bypass.commands |
op | Use blocked commands while downed |
lastbreath.admin |
op | Admin commands |
โ๏ธ Configuration (excerpt)
downed:
bleed-out-seconds: 60
bleed-out-reduction-per-down: 15
max-downs: 3
finishable: true
mobs-ignore-downed: true
speed-multiplier: 0.3
quit-kills: true
blocked-commands: [spawn, home, warp, back, tpa, rtp]
revive:
seconds: 5
radius: 2.0
require-sneak: true
health: 6.0
pause-bleed-out: true
Every option is documented in the generated config.yml.
๐งฉ For developers
if (LastBreathAPI.isDowned(player)) { ... }
LastBreathAPI.revive(player);
@EventHandler
public void onDown(PlayerDownEvent event) {
if (inSafeZone(event.getPlayer())) event.setCancelled(true); // die normally instead
event.setBleedOutTicks(20 * 120);
}
Events: PlayerDownEvent (cancellable), PlayerReviveEvent (cancellable, change revive health) and PlayerBleedOutEvent (with a reason: TIMER, GAVE_UP, DISCONNECTED, FINISHED).
โ Compatibility
| Platform | Versions |
|---|---|
| Paper (and forks like Purpur, Pufferfish) | 1.20.1 โ 26.x |
| Folia | 1.20.1 โ 26.x |
| Java | 17+ (whatever your server needs) |
Each release is tested end to end with bots on a real server: going down, getting revived, bleeding out, giving up, being finished off, admin commands and disconnecting. These tests run on Paper 1.20.1, 1.21.4 and 26.1.2 and on Folia 1.21.4 and 26.1.2. Startup is also checked on Paper and Folia 26.3.
Spigot/Bukkit aren't supported, because LastBreath uses Paper's Adventure and scheduler APIs.
๐ฌ Found a bug or have an idea? Open an issue on GitHub. If LastBreath saved your SMP, a โญ or a follow helps a lot!


