Everyone picks a partner. Every pair shares one health bar.
Two players, one pool of health.
One of you takes a hit, both of you feel it. One of you drowns, both of you drown. You pick your partner on the way in, and from that moment you are playing the same life.
Why pairs, and not one bar for the whole server
Putting an entire server on a single health bar is a great bit with two or three friends. Scale it to a real cast and it falls apart:
- Every stray zombie is everybody's problem.
- Nobody can take a risk, ever, because everyone else pays for it.
- One careless player ends the run for people who weren't even online.
- There are no individual stories. There's one bar, and it belongs to nobody.
Paired Life scopes the bond to two people. Six players become three independent life pools. Twenty become ten. A death is now a story about those two — who dropped into the ravine, who insisted on fighting the creeper, who has to explain themselves. Risk becomes something a pair chooses for itself. Everyone else keeps playing.
That's the whole design: keep the intimacy of a shared life, lose the group punishment.
Choosing a partner
Unpaired players get a clickable picker when they join:
The person they pick gets [ ACCEPT ] / [ DENY ] buttons. Once both agree, the pair is locked — no swapping partners the moment things get inconvenient.
When you do want to shuffle, an admin opens a re-pair window:
Everyone gets a clickable notice, partners can be changed freely for ten minutes, then it locks again. Perfect for between episodes or seasons.
Unpaired players just play normally, so an odd number in the cast is fine.
Every pair gets a colour
The colour and tag come from a vanilla scoreboard team, so they show up everywhere a name is drawn — chat, the tab list, death messages, and the nametag floating above their head. At a glance you can see who belongs to whom. Fourteen readable colours, and pair numbers are recycled when a pair dissolves.
What actually happens when you die
The pool refills when the first of the pair respawns. If the second one is still staring at the death screen while the first is already taking hits, they respawn into whatever the pool is down to.
Both death lines are configurable text.
What's shared, and what isn't
Shared: health, and death.
Personal: hunger, XP, inventory, and status effects. Absorption hearts are personal too — a golden apple protects the player who ate it before the damage ever reaches the shared pool.
Damage stacks (two partners taking hits drains the pool twice as fast — that's the point), but healing is normalised, so a well-fed pair regenerates at one player's rate rather than double speed.
Built to survive a modded pack
- Zero mixins. Health is reconciled once a tick rather than by hooking the damage pipeline. That means there is no injection point for another mod to collide with, and it automatically picks up damage and healing from mods it has never heard of — modded weapons, custom boss attacks, healing items,
/heal, anything that moves a health bar. - Server-side only. Your players join on completely vanilla clients. Every prompt is ordinary chat with click events. Nobody installs anything.
- One dependency: Fabric API.
- Pairs persist across restarts and server crashes, saved as plain readable JSON you can inspect or hand-edit between sessions.
Commands
Players
| Command | |
|---|---|
/pair |
Open the partner picker, or show your status |
/pair <player> |
Send a request (or accept theirs) |
/pair accept|deny <player> |
Answer a request |
/pair status |
Your partner and your shared health |
/pair list |
Every pair on the server |
/unpair |
Leave your partner, during an open re-pair window |
Admins — /pairedlife, permission level 2
| Command | |
|---|---|
reroll open [minutes] / reroll close |
Open or close the re-pair window |
pair <a> <b> / unpair <player> |
Force pairs |
sethealth <player> <hp> / heal <player> |
Adjust a pair's pool |
list / reset / reload |
Inspect, wipe, reload config |
Configurable
config/pairedlife.json, reloadable live with /pairedlife reload. Among other things you can:
- Turn the shared death off, so the survivor is left on half a heart instead of dying with them.
- Raise
maxTeamSizeto 3 for trios. The internals are generic, so larger groups use the same code path, though only trios have been tested. - Unlock pairs entirely, or let players re-pair whenever they like.
- Reword every message, including both death lines.
- Switch damage feedback between action bar, chat, or off.
- Disable the scoreboard colours if your pack already uses teams.

