LastBreath

LastBreath

Get downed instead of dying! Crawl, bleed out, and let your friends sneak next to you to revive you. A polished co-op revive system for Paper & Folia 1.20โ€“26.x.

1 downloads 0 followers

๐Ÿซ€ 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, /tpa and 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

  1. You take a hit that would kill you โ†’ "YOU'RE DOWN". You drop to a crawl and a bleed-out timer starts.
  2. Nearby players get a message and an action-bar hint: "Steve is down nearby โ€” sneak next to them to revive".
  3. A friend crouches next to you for 5 seconds โ†’ REVIVED with 3 hearts and a short Regeneration boost.
  4. 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!

Version Minecraft Loader Download

LastBreath 1.0.0

1.0.0

1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 26.1, 26.1.1, 26.1.2, 26.2, 26.3
bukkit, folia, paper, purpur, spigot
Download