promotional bannermobile promotional banner

Corpsebound

A feature-packed corpse overhaul with dynamic ragdoll physics, persistent lootable bodies, visible equipment, dismemberment, and broad support for players and mobs.
Back to Files

Corpsebound Beta-0.2.0

File nameCorpsebound_beta-0.2.0.jar
Uploaded
Sep 6, 2026
Downloads
17
Size
518.1 KB
Mod Loaders
Forge
File ID
8820754
Type
B
Beta
Supported game versions
  • 1.20.1

Curse Maven Snippet

Forge

implementation fg.deobf("curse.maven:corpsebound-1670556:8820754")

Learn more about Curse Maven

What's new

Corpsebound Changelog

beta-0.2.0

For Minecraft 1.20.1 with Forge 47.4.20. This release supersedes alpha-0.1.1.

Beta 0.2.0 focuses on long-term corpse decay, responsive impact audio, safer loot storage, and substantially lower server and client overhead when many corpses exist.

Highlights

100-hour skeletal decay

  • An exposed corpse that remains present now turns directly into skeletal remains after 7,200,000 server game ticks by default (100 hours at 20 TPS). There is no gradual texture fade.
  • Skeletonization changes the appearance in place. The corpse keeps its ragdoll pose and physics, position, inventory, equipped and held items, burial state, and detached-head state.
  • Upright bodies use Minecraft's vanilla skeleton model and texture, driven by Corpsebound's existing ragdoll joints. Quadruped, axial, and compact rigs use original profile-appropriate bone layouts instead of being forced into a humanoid shape.
  • Creatures that already use a skeletal appearance are left unchanged.
  • An uncollected severed player head now weathers with its corpse. Before skeletonization it yields the profiled player head; afterward it yields one collectible skeleton skull. The existing one-claim safeguard still prevents duplication.

Immediate positional body-impact audio

  • Added a server-authoritative body-impact sound for death falls, airborne drops, and carried-corpse releases.
  • The sound is triggered on the first valid body contact during the same server physics tick, rather than waiting for the corpse's later sleep transition.
  • Audio originates at the actual impact point. The server selects one pitch per landing from 0.70x to 1.30x (±30%), so every nearby player hears the same event.
  • The new sound has been trimmed to a fast onset and is preloaded to keep the audible impact close to the visual landing.

Burial decay changes

  • The default decay time for a fully buried corpse has changed from 1 hour to 100 hours, counted from the moment burial is completed.
  • Once decay completes, the lightweight grave record keeps every original item and adds, by default:
    • 1–3 rotten flesh
    • 2–5 bones
    • 0–2 bone meal
    • 1 skeleton skull
  • The Alpha behavior of hiding a fully buried corpse and stopping its ragdoll simulation immediately is retained. Breaking the burial block releases the preserved contents only once.
  • The old 15% skeleton-skull roll has been replaced by a configurable skull count, defaulting to one.

Performance and animation

  • Server-side corpses now share one block-collision cache during each manager tick instead of rebuilding the same collision data independently.
  • Sleeping support checks, NPC player-distance checks, and hidden-grave audits are deterministically spread across multiple ticks to avoid periodic CPU spikes.
  • Surface and buried decay use deadline queues instead of scanning every corpse record for expiry each tick.
  • Persistent data now caches each serialized corpse or grave and rebuilds only records that actually changed.
  • Each player receives only corpses within a server-controlled interest range, measured against both the body and any uncollected detached head. A 32-block leave margin prevents repeated loading and unloading at the boundary.
  • Leaving the interest range releases that corpse's client model, equipment, pose, and physics state. Re-entering restores a complete current snapshot, including skeleton, head, burial, carry, equipment, and pose data.
  • The body and detached head are frustum-culled independently. Invisible geometry is skipped, while lighting, pose transforms, bone transforms, and render positions are cached for the current tick or pose.
  • Nearby moving corpses retain full 20 Hz updates. Normal one-tick motion uses continuous linear interpolation; only delayed multi-tick updates receive mild smoothing, reducing visible stutter without adding lag to ordinary motion.

Corpse inventory and Curios overhaul

  • Replaced Alpha's fixed 48-slot general-loot area and separate 36-slot Curios area with a dynamic inventory made from complete nine-slot rows.
  • Containers now use only the rows they need. Exact 9, 18, or 27 stack counts no longer create an unnecessary extra row.
  • The previous 48-slot general-loot limit has been removed. Inventories larger than six rows use vanilla-styled pages instead of dropping excess stacks or creating an incomplete row.
  • General loot and empty spaces are randomized exactly once when death drops are finalized. Reopening the corpse, adding items, or reloading the world no longer rearranges existing contents.
  • Curios still pass through their final drop, keep, destroy, Soulbound, and Vanishing Curse rules, but accepted drops now join the general paged inventory instead of using a separate custom panel.
  • Upright bodies retain dedicated armor and hand slots whose contents directly control the rendered equipment. Non-upright bodies no longer expose irrelevant equipment slots; unusual modded equipment is preserved as general loot.
  • Page transitions wait for the server-confirmed page snapshot, and dynamically expanded menus refresh all current viewers safely at the tick boundary.

Carrying, interaction, and compatibility improvements

  • Unified carried-corpse placement and the raised two-hand pose across normal third person, first person, remote players, and Epic Fight.
  • Improved carried limb stability. Attached points retain one third of their motion per tick, and upright heads now obey the same physical 30-degree cone used by rendering.
  • A released corpse now searches for a safe whole-body placement, reducing wall separation and invalid joint positions.
  • FirstPerson Model and Epic Fight no longer produce duplicate first-person arms while carrying.
  • Attack, pick-block, block, entity, and item interactions are blocked consistently until the carried corpse is released.
  • Epic Fight death rendering can no longer bypass Corpsebound's model capture, while non-Epic high-fidelity model capture remains available.

Fixed

  • Fixed some corpses being impossible to pick up again after they had been carried and placed down once.
  • Fixed carried bodies being pushed apart by walls or blocked by ordinary block interaction.
  • Fixed rejected burial clicks showing a false local swing during the shovel cooldown. The successful burial-step interval is now 1.6 seconds.
  • Fixed corpse contents changing positions when the menu was reopened or updated.
  • Fixed excess loot being forced onto the ground by the old 48-slot limit.
  • Fixed stale items appearing briefly during page changes under network latency.
  • Fixed unsafe menu replacement when a corpse inventory grew while one or more players were viewing it.
  • Fixed armor slots accepting the wrong item type or a full stack on the client.
  • Fixed Curios ownership being claimed before the final outer death-drop event, avoiding duplication and conflicts when another mod cancels or rewrites drops.
  • Fixed non-upright corpses hiding unusual equipment inside inaccessible slots.
  • Fixed carried upright heads exceeding their configured physical displacement limit.
  • Fixed final-priority death protection leaving both a living equipped entity and an already-created corpse copy.

Upgrade notes

  • Back up the world before upgrading. Existing Alpha corpse inventories are migrated automatically: general slots 0–47, equipment slots 48–53, and Curios slots 54–89 are preserved. Legacy Curios contents become accessible as general loot.
  • Beta writes inventory format version 2. After a world has been saved with beta-0.2.0, do not downgrade to an older Corpsebound JAR; an older build cannot read the new dynamic inventory and may overwrite those contents as empty.
  • Old corpses and complete graves that do not yet have a decay timestamp receive a fresh 100-hour timer when first loaded by this Beta, rather than skeletonizing immediately.
  • The network protocol changes from 17 to 20. The server and every connecting client must use Corpsebound_beta-0.2.0.jar; mismatched versions are rejected safely.
  • Surface decay defaults to corpseDecay.surfaceSkeletonTicks = 7200000.
  • Buried decay now uses corpseBurial.skeletalDecayTicks = 7200000. This new key intentionally replaces Alpha's one-hour corpseBurial.decayTicks setting so the old value cannot silently carry into the upgrade.
  • Curios and Epic Fight remain optional. Corpse Curios Compat is not required because Corpsebound includes its own Curios integration.
  • Avoid running another corpse or gravestone mod that clears the same death drops unless explicit compatibility is provided.

Metadata

  • Release file: Corpsebound_beta-0.2.0.jar
  • Internal Forge version: beta-0.2.0
  • Author: Simon Vaerion

This mod has no additional files