# Changelog
## 2.0 (August 26, 2026)
This is a big one. The mod grew from "tilted floors knock you over" into a full set of
ragdoll combat, looting, and downed-state mechanics.
### Knockback
- Hitting an active ragdoll now shoves it and can tip it off its feet. The blow pushes
the body the way the swing went and topples the whole linked assembly about its
support, plus a small overall linear kick.
- Works with plain vanilla melee and with combat overhauls like Better Combat, with no
hard dependency on either. The mod reacts to the ragdolled player actually taking
damage rather than to any specific attack event, so it does not care how the hit was
delivered.
- New config group `knockback`: toggle it on or off, scale the overall strength, and
choose whether the shove scales with the damage dealt (a heavy weapon hits harder than
a fist) or stays fixed.
### Hurt proxy (keeps ragdolls hittable by combat mods)
- Every active player ragdoll now carries an invisible stand-in hitbox. Weapon mods that
find their targets by scanning for entities can hit that hitbox, and the damage is
passed straight through to the real player. PVP rules, armor, and hit-immunity frames
all still apply. Without this, going ragdoll made you immune to those mods entirely.
This was made specifically with Better Combat in mind.
- Mobs that pick a ragdolled player as their target are sent to the body where it
actually lies, so they can walk up and land a blow. Pursuit is handed back the moment
you stand up, so ragdolling is not a way to shake a chase.
- New config group `hurtProxy`: toggle the proxy, toggle the mob retargeting, and tune
how far past the limbs the hitbox reaches.
### Attacking while ragdolled
- A ragdolled player can no longer swing at things by default. A body sprawled on the
floor has no business landing a sword hit, and combat overhauls happily play the full
attack animation and sound from down there. The block covers both the server-side
damage and the client-side animation and sound. Again, made with Better Combat in mind.
- Being hit, grabbing, and dragging are all untouched. Left-click mining is also blocked
while ragdolled, since the ragdoll mod uses that key anyway.
- New config option `attackWhileRagdolled` (off by default) to allow it.
### Limb flailing
- A conscious ragdolled player's arms and legs now whip around while airborne, whether
from a fall or an explosion launch. Unconscious players stay limp.
- The motion is a pure function of game time, so there is nothing to track or clean up.
- New config group `flail`: toggle it and scale the overall strength.
### Active balance (conscious ragdolls fight to stay standing)
- Conscious ragdolled players now struggle to stay upright the way a Euphoria-style
physics character would. Legs step to catch the fall, the head is held level, the
torso is righted by "core muscles", and a body that is stably standing gets back up on
its own.
- The actuation is all velocity-space and bounded so it cannot explode the near-weightless
ragdoll parts, and leg support is gated on real foot contact so it can never levitate a
fallen body.
- On a tilted sub-level the balance treats the deck as the floor, so the ragdoll stands
perpendicular to it and resists sliding downhill instead of fighting to be world-upright.
This matches the tilted view and entity rendering.
- New config group `balance`: master toggle, muscle strength, leg push strength, torso
righting assist, deck-relative mode, the deck tilt window where the hold fades out, and
a debug logging switch for tuning.
### Recovery gate (when a player may leave ragdoll mode)
- Every way out of ragdoll mode is now its own toggle and set of tunables, and while the
gate is on the ragdoll mod's own expiry timers are suppressed.
- Auto stand-up: a stably standing body ends the ragdoll and pops the player back on
their feet, with configurable tilt, speed, and spin limits, a hold time, and (for
tilt-triggered ragdolls) a requirement that the floor has leveled back out first.
- Manual dismount: sneak to get up once configurable posture, speed, and spin criteria
hold for a hold time. Submerging in water skips every check and dismounts immediately,
matching stock Sable Ragdolls.
- Failsafe: a player locked in ragdoll too long is force-released regardless of
stability, so nobody ever softlocks. Conscious-only by default.
- On leaving ragdoll, the player's view snaps to where the head was actually aiming
rather than the free-look camera direction (new option `restoreViewOnExit`). This
replaced an earlier fix from the July 7 work.
- A release grace period stops the tilt trigger from immediately relaunching a ragdoll
on a still-tilted floor.
### Offline ragdolls
- When a player logs out, their body now stays in the world as an unconscious ragdoll
wearing their skin and gear. Other players can right-click it to open its inventory and
shift to grab everything.
- When the player logs back in they return to the body with whatever inventory is left.
The live player data is untouched until then, so nothing can be lost to a crash.
- Curios slots are looted and restored too when Curios is present.
- Turning the feature off stops new offline ragdolls from being created. Any body already
left behind is still returned to its owner on login.
### Unconsciousness and knockouts
- A blow that would kill a player but is small relative to their maximum health now
knocks them out cold instead. They stay alive as a limp unconscious ragdoll on low
health, one hit from death.
- A player who is already unconscious always dies for real, so finishing someone off
still works. Damage types that bypass invulnerability, like `/kill` and the void,
always kill too.
- Knocked-out players come to on their own after a timer, or sooner if someone heals them
back up past a health fraction. Being out cold gives Blindness so it looks the part
from the inside.
- Other players can go through an unconscious player's inventory (shift-right-click) and
force-feed them any food, potion, or consumable (right-click holding it). Force-feeding
runs the item through the victim's own use pipeline, so every effect a modded consumable
has still applies. The feeder pays the item cost and gets any leftover container back.
- New config group `unconscious` with toggles and tunables for all of the above.
### Death corpses
- When a player actually dies, their body is left in the world as a ragdoll holding
everything that would have dropped, including Curios and Accessories items. Walk back
and shift-right-click the corpse to take your items. You can take from a corpse but
never add to it.
- A corpse is only made for a real death. A blow small enough to knock you out cold never
makes one.
- Striking a corpse shoves it, and after a configurable number of hits it breaks and
scatters its remaining items on the ground.
- By default no corpse is spawned when nothing dropped, so the keepInventory gamerule
does not litter the world with empty bodies.
- Remove any other corpse mod so bodies are not spawned twice.
- New config group `deathCorpse`.
### Admin commands
- New `/offbalance` command tree (permission level 2):
- `unconscious <targets> [true|false]` marks players unconscious or conscious, or
queries their state.
- `knockout <targets>` puts players out cold where they stand, exactly as a survivable
killing blow would.
- `ragdoll <targets>` forces players into ragdoll where they stand.
- `getup <targets>` force-releases active ragdolls, bypassing the stability gate.
### Compatibility
- Optional Curios integration for offline ragdoll looting.
- Optional Accessories integration for death corpses.
- Optional Ragdoll Revive support: a player that mod has "downed" counts as unconscious,
so the whole recovery stack leaves them pinned in ragdoll for teammates to revive
instead of standing them straight back up.
### Other
- Added a public API surface (`OffBalanceCorpses`) for other mods.
- Added a large game-test suite covering knockback, tilted sub-level behavior, the hurt
proxy, offline ragdoll inventory, unconscious bodies, and death corpses.
## 1.1 (July 7, 2026)
### Knockback groundwork
- First pass at the knockback system: hitting a ragdoll shoves it off balance. This grew
into the full feature in 1.2.
### Better sub-level angle detection
- The mod now raycasts down through the sub-level to find the face actually under your
feet instead of trusting the sub-level's local up axis. Spinning a deck so a former
side wall becomes the floor used to read a flat floor as a cliff. Standing a thin deck
on its end had the opposite problem. Reading the real surface underfoot fixes the
ragdoll trigger, the view and entity alignment, and the balance floor all at once.
### Balance improvements
- The balance controller now tracks the surface actually under the feet each tick, so a
body that falls onto other ground or slides onto another sub-level balances against
that ground instead of clinging to the deck that first threw it.
- On leaving ragdoll, the player's view is snapped to where the head was pointing.
- Standing-still and sprinting now shift the tilt angle at which you fall: planting your
feet raises the threshold, sprinting lowers it. New config values
`standingStillAngleBonus` and `sprintingAngleReduction`.
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }