Nomad Cairn

Death chests for Paper and Folia. Your items wait in a grave where you died, tracked by a ledger so an interrupted retrieval resolves to one side, never both.

  • Paper
  • Folia

Tested by breaking it on purpose

0 duplicated 0 lost

across 160,000 items and 2,500 simulated death-and-retrieval cycles with 5 players, every item counted at the end.

  • 859 automated tests. 0 failures.
  • 24 crash-and-recovery stress tests, the server killed mid-retrieval on purpose. 0 failures.
  • 190 live-server cases on Folia 26.2, plus 190 on Paper 26.2. 0 failures.
  • 160,000 items in the simulated run, each accounted for exactly once: 130,848 handed back, 29,152 still safely held.
Transactional custody ledger
Every item is booked in when a player dies and booked out when it is handed back, like a bank ledger. An item is never in two places, or none.
Crash-injected
The tests pull the plug at chosen points on purpose, then check where every item ended up.
Partial delivery
A full inventory takes what fits. The rest stays safely held in the ledger until there is room.
Fast-restart recovery
When the server comes back quickly after a crash, Cairn works out from its records which side of the hand-over each item is on.

The volume run is a simulation rather than a live server, and the results describe Cairn's own accounting. Read every scenario, including what the suite does not prove.

The guarantee

Cairn tracks every item a death puts in its custody in a transactional ledger. If the server dies in the middle of a retrieval, the hand-over resolves to one side: the player has the items or the ledger still holds them, never both and never neither. That is a claim about Cairn's accounting, not a promise that a crash costs nothing. Minecraft writes a connected player's inventory on quit and at a clean shutdown, not continuously, so a hard kill can take items that were never on disk, below Cairn and below every other plugin. Anything Cairn cannot decide after a crash is held, reported, and handed back with /cairn restore.

The guarantee covers items in Cairn's custody. A rollback plugin, an inventory editor or a second graves plugin reacting to the same death can create items outside it, so Cairn checks for another graves plugin at startup and warns if it finds one.

The evidence

Every release runs a stress suite that crashes a server at chosen points in the death and retrieval paths, then counts every item: each one must be in an inventory or in the ledger, exactly once. It also runs against a real Folia server with headless clients. The figures below come from the run that produced the current jar.

RunResult
Stress scenarios24 tests, 0 failures
Whole test suite859 tests, 0 failures, 0 errors
Volume run160,000 items buried, 130,848 delivered, 29,152 still held, 0 duplicated, 0 lost
Live suite on Folia 26.2184 of 190 cases passed, 0 failed, 4 skipped, 2 unobservable
Live suite on Paper 26.2184 of 190 cases passed, 0 failed, 4 skipped, 2 unobservable

Run on 2026-09-23. Read every scenario, including what the suite does not prove.

What it does

  • Six marker styles. Player head, armour stand, block display, hologram only, headstone, and corpse (a life-size figure lying where the player died, wearing their skin). Set a default per world, or let players pick their own with /cairn style, one permission node per style.
  • Regions. With WorldGuard, a cairn-death flag gives a region its own rule: no-marker keeps blocks out of a build while still holding the items, and keep-inventory, drop, relocate and normal cover the rest. Without WorldGuard, plain coordinate zones in config.yml do the same.
  • Fees and permission tiers. Grave count, expiry time, XP retention, teleport and fee waivers are all set by permission, so better death recovery can be a rank perk. An optional Vault retrieval fee, flat or by distance, is skipped rather than blocking a player from their own items if no economy is installed.
  • Grave compass. An ordinary compass a player carries points at their nearest grave in the current world, or their most recent one elsewhere. No item is given.
  • Join reminder. On login, a player is told in chat how many graves are waiting for them.
  • Hologram. The label above a grave shows the owner, a summary of the contents, and a live countdown of the protection window that disappears when it closes. Blank a line in messages.yml to hide it.
  • /cairn restore. Rebuilds a grave from the audit log where the admin is standing. It refuses if the ledger says the items were already delivered; an admin can override that, and the override is logged under their name.
  • /cairn verify. Cross-checks every grave against the ledger and reports anything to look at, without changing anything. The same check also runs on a timer and when a player joins.
  • /cairn history. Every change to a player's graves, with a time and a reason, so a missing-items ticket starts from a record instead of a guess.

Not supported: Spigot and CraftBukkit

Cairn will not load on Spigot or CraftBukkit. Its crash safety depends on writing a delivery record into the player's persistent data container, which Paper saves in the same file as the inventory, so the two survive or roll back together. That is how Cairn answers "did the items reach them?" after an unclean shutdown. Spigot has no equivalent, and a Spigot build would be a weaker product under the same name. Check your server software before buying.

Install

  1. Put the jar in your server's plugins/ folder.
  2. Start or restart the server once. It writes config.yml and messages.yml to plugins/NomadCairn/, and the defaults work unchanged.
  3. Optional: install Vault and an economy plugin and set retrieval.fee.model for retrieval fees, or apply the LuckPerms rank template for tiered limits.
  4. After editing the config, run /cairn reload. Moving storage.folder needs a restart.

To check it works, die holding a few items. A player head appears where you died; right-click it or run /cairn to get them back.

Before you buy

Questions

Does Cairn run on Spigot or CraftBukkit?

No, and it will not load on them. Its crash safety depends on writing a delivery record into the player's persistent data container, which Paper saves in the same file as the inventory. Spigot has no equivalent, so check your server software before buying.

Which server versions does it support?

Paper 1.21.1 through the current 26.x line, its forks (Purpur, Pufferfish and Leaf), and Folia, all from one jar on Java 21. The corpse marker style needs Paper 26.2 or newer; on older servers it renders as an armour stand.

Can a crash still cost my players items?

Yes. Minecraft writes a connected player's inventory on quit and at a clean shutdown, not continuously, so a hard kill can take items that were never on disk, before any plugin is involved. What Cairn guarantees is its own accounting: items in its custody are with the player or in the ledger, never both and never neither.

A player says their items vanished. What do I do?

Run /cairn history for that player. Every change to their graves is listed with a time and a reason. If the items were never delivered, /cairn restore rebuilds the grave where you are standing. /cairn held lists everything the ledger is still holding.

What happens when a grave expires?

By default it is archived: the items stay in the ledger, /cairn verify lists the exact restore command, and /cairn restore puts the grave back. Set on-expiry to destroy if losing an expired grave is part of your game.

Do I need Vault, LuckPerms or WorldGuard?

No. Vault with an economy plugin adds retrieval fees. Any permissions plugin can grant the tier nodes; LuckPerms has a ready-made rank template. WorldGuard adds the cairn-death region flag, and the zone list in config.yml does the same job without it.

Can I run it alongside another graves plugin?

No. Two plugins reacting to the same death can create items, and no ledger can prevent that. Cairn checks for another graves plugin at startup and warns loudly if it finds one.

How do I get updates?

From the permanent download link in your purchase email, or the download page it opens, using the email you bought with. Every release is listed in the changelog.