DeathStats

Description

DeathStats 🔗

A cinematic death screen, ragdoll physics, and player statistics mod for Luanti.

When you die in Luanti, DeathStats turns what used to be an instant respawn prompt into a cinematic moment. An orbiting camera circles your fallen character as ragdoll physics take over, custom banners and screen splatters react to how you met your end, and an on-screen dossier tallies everything you did during that life.


Key Features 🔗

  • Cinematic Death Presentation:

    • Themed "YOU DIED" banners and fullscreen screen splatters adapt to the cause of death (lava, fire, drowning, combat, and hazards).
    • Smooth 360° camera orbit around the fallen corpse with raycast obstacle avoidance to prevent wall clipping.
    • Photo Mode: hide all UI with an on-screen button or /stats photo for clean screenshots.
    • Natural CC0 vocal death groans and hurt sounds on impact.
  • Procedural Ragdoll Physics:

    • Knockback and tumbling scaled to the fatal hit (explosions launch bodies, falls pancake on impact, and poison/starvation slump in place).
    • Terrain awareness: corpses roll down steep hills, match stair inclines, and settle into organic resting poses (prone, supine, lateral side-recovery, or sitting propped against a wall).
    • Appearance sync: accurately inherits your skin, equipped armor, wielded item, and custom meshes across popular skin frameworks (skinsdb, 3d_armor, clothing, player_api, mcl_skins, etc.).
    • Bones mod compatible: docks cleanly onto placed bones blocks when bones_mode = "bones" is active so inventory drops stay fully functional.
  • Persistent Corpses & Grave Epitaphs:

    • Corpses remain resting in the world for a few minutes (default: 3 minutes) before dissolving into a puff of smoke.
    • Other players can right-click any corpse to view an epitaph plaque with survival time, death cause, killer name, and humorous epitaph notes.
    • Strictly capped to 1 corpse per player to keep servers tidy.
  • Death Attribution & Nemesis Revenge:

    • Tracks killers, weapons, and ranged projectile attacks (x_bows arrows, spells).
    • Environmental detection for falls, drowning, fire, lava, suffocation, void, and hunger/thirst frameworks (hbhunger, stamina, thirsty, unified_stamina).
    • Slaying your nemesis in your next life triggers a server-wide revenge announcement and awards the [RVNG] Avenger title badge.
  • Lifetime Dossier (/stats):

    • Summary of active life achievements: survival time, mined ores, combat damage dealt/taken, kills, crafted items, and distance traveled.
    • Interactive dashboard with tabs for Overview, Ores Breakdown, Combat & Mobs, and Server Hall of Fame.
  • Tactical Multiplayer Scoreboard:

    • Hold Sneak + Aux1 (or Zoom) to display a live HUD overlay showing player names, kills, deaths, K/D, damage, mined blocks, survival time, armor, health, ping, and AFK status.
    • Full scrollable roster dialog accessible anytime via /scores.
    • Pluggable column API: other mods can register custom metrics with deathstats.register_scoreboard_column.

Scoreboard Extension API 🔗

Other mods can register custom columns with deathstats.register_scoreboard_column:

deathstats.register_scoreboard_column("coins", {
    order = 65,
    title = "COINS",
    title_small = "C",
    pct = 0.08,
    min_w = 45,
    icon = "deathstats_icon_star.png",
    tooltip = "Gold Coins",
    get_value = function(player, item, is_small)
        return tostring(my_economy.get_coins(item.name) or 0)
    end,
    get_color = function(player, item)
        return 0xFFD700
    end,
})

For the complete, exhaustive developer API reference including all class definitions, type aliases, method signatures, parameter tables, and return types, see API.md.


Multiplayer Performance 🔗

  • Throttled flailing updates (10 Hz in flight, 5 Hz on ground slides).
  • Dirty-delta bone rotation filtering skips packets for micro-movements under 2.8°.
  • Zero-cost settled state: resting corpses sleep with zero tick calculations.
  • Non-loading node queries keep chunk loading light.

⚠️ Warning: ContentDB AI Labeling

ContentDB is enforcing AI labels unfairly. Don't be misled by their AI labels. Based on their knowledge of AI, the time at which your code is committed or the commit message can cause the entire package to be labelled as AI-generated.

ℹ️ AI Disclosure (Assisted)

Core logic, gameplay mechanics, and all media assets (textures, 3D models, audio) are 100% human-authored without generative AI. AI tools are used solely for auxiliary productivity—such as documentation drafting, commit formatting, and test scaffolding. All code is manually tested and verified by the maintainer.

Reviews

Review

Do you recommend this mod?

Releases

3.3.2

Download

Luanti 5.4+

5 hours ago

3.3.2 🔗

  • docs(cdb): update ContentDB disclosure footer syntax

3.3.1

Download

Luanti 5.4+

5 hours ago

3.3.1 🔗

  • docs(cdb): update package metadata and documentation

3.3.0

Download

Luanti 5.4+

2026-10-15 21:31 UTC

3.3.0 🔗

  • feat(corpse): integrate recursive attachment hiding, visual size preservation, and shield parity
  • fix(corpse): freeze pose to eliminate breathing and lay motion animations

3.2.1

Download

Luanti 5.4+

2026-10-09 17:03 UTC

3.2.1 🔗

  • feat(corpse): integrate x_player_armor visual attachments and enhance corpse ragdoll parity

3.2.0

Download

Luanti 5.4+

2026-10-02 20:40 UTC

3.2.0 🔗

  • fix(skins): prevent canonical redirection when x_player_api is absent and add humanoid meshes
  • feat(camera): unify uniform corpse spawning and corpse-centric orbit tracking
All releases

Information

Provides

deathstats

Dependencies

Required
No required dependencies
Optional
3d_armor bones clothing collectible_skins default edit_skin hbarmor hbhunger hbsprint hudbars hunger_ng mcl_armor mcl_core mcl_death_drop mcl_mobs mcl_skins mobs_redo myappearance nc_skins player_api simple_skins skinsdb sprint_lite stamina thirsty u_skins unified_stamina wardrobe x_player_api x_player_armor x_player_bridge

Information

Type
Mod
Technical Name
deathstats
Languages
English
License
LGPL-2.1-or-later for code,
CC0-1.0 for media.
Maintenance State
Actively Developed
Added
2026-09-08 14:51 UTC
Maintainers
SaKeL

Used By