Skip to main content

Corpse

🔄 Coming Soon — The Corpse Extension is still in development and is not available to players yet.

Spawns a corpse at the death location holding the player's inventory and experience.

The Corpse Extension creates a corpse where a player died. It holds their inventory and experience until someone loots it or it expires, and it renders through whichever entity backend you already use.

Key features

  • Rendered per viewer — every player nearby sees the corpse, each with their own copy of the model, using the engine's entity.show-range setting.
  • Five model backends — EntityExtension, ModelEngine, BetterModel, BTC Mob NPC and MythicMobs NPC. With none configured, the corpse is a plain player entity in the vanilla dying pose, wearing the victim's skin and armour.
  • Survives restarts — corpses are stored in MySQL when available, otherwise in the plugin folder. A restart or reload no longer destroys the inventory the corpse holds.
  • Loot protection — owner-only looting, or a timed window after which the corpse opens to everyone. The rule is captured when the corpse is created.
  • Precise interaction — clicking the corpse model is what loots it, so ordinary right-clicks near a corpse are unaffected.
  • Client-side glow — a configurable outline drawn by the client instead of server-sent particles.
  • Folia-safe — world changes run on the region that owns the corpse.
  • Fully modular — most settings are dynamic values, so they can be driven by placeholders and facts.

Entries

Manifests

EntryDescription
corpse_settingsServer-wide corpse behaviour.
corpse_definitionHow a corpse looks and how long it lasts.

Events

EntryDescription
on_corpse_spawnA player died and their corpse appeared.
on_corpse_lootA corpse was emptied.
on_corpse_expireA corpse ran out of time unlooted.

Facts

EntryDescription
has_corpseWhether the player has a corpse waiting.
corpse_countHow many corpses the player has.

Audiences

EntryDescription
corpse_owner_audiencePlayers who have a corpse waiting.
corpse_waypointPoints players back to their own corpse.

Objectives

EntryDescription
corpse_recovery_objectiveActive until the player recovers their corpse.

Commands

EntryDescription
corpse_admin_commandStaff command to inspect and clear corpses.

How looting works

  1. A player dies. Their inventory and experience move into the corpse and the vanilla drops are cleared.
  2. Right-clicking the corpse loots it, dropping everything at its feet.
  3. With enableInventoryGUI on, sneak + right-click opens a menu to take items one at a time. Set dropOnInteract to false to make a plain right-click open the menu instead.
  4. If nobody loots it, the corpse expires after duration seconds and its contents are lost.

Requirements

RequirementNeeded for
Basic ExtensionBase entries
Entity ExtensionModel rendering and the player fallback
Quest ExtensionThe recovery objective
MySQL ExtensionCross-restart storage (optional — falls back to a local file)