npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@rbxts/falldown

v1.0.3

Published

A realistic ragdoll physics system for Roblox with smooth getup animations, collision management, and customizable velocity modes. Supports both R6 and R15 rigs with surface-aware positioning.

Downloads

306

Readme

@rbxts/falldown

Documentation

Roblox-ts library for realistic ragdoll physics with smooth getup animations and collision management. Automatically detects R6/R15 rigs, replaces Motor6Ds with ball-socket constraints, and provides surface-aware positioning when characters recover from ragdoll state.

Features

  • Automatic R6/R15 rig detection and constraint setup
  • Customizable getup animations (front/back orientations)
  • Multiple velocity distribution modes (RootOnly, AllEqual, SplitEqual, RandomMax)
  • Surface-aware positioning with slope alignment when standing up
  • Collision proxy system to prevent self-collision during ragdoll
  • Lifecycle signals: Destroyed and Ended for ragdoll state management
  • Optional automatic duration with smooth fade transitions
  • Manual control via Destroy() or static UnragdollCharacter() methods

Documentation

Full API documentation: https://irishfix.github.io/rbxts-falldown/

Installation

npm install @rbxts/falldown

Quick start

import { Falldown } from "@rbxts/falldown";

// Basic ragdoll with automatic recovery after 5 seconds and 0.5s fade transition
const ragdoll = Falldown.RagdollCharacter(character, 0.5, 5);

// Apply velocity when ragdolling starts
if (ragdoll) {
    ragdoll.AddVelocity(new Vector3(20, 40, 10), Falldown.VelocityMode.SplitEqual);
    
    // Listen for when ragdoll ends
    ragdoll.Ended.Once(() => {
        print(`${character.Name} recovered!`);
    });
}

// Manual ragdoll control (no automatic duration)
const manualRagdoll = Falldown.RagdollCharacter(character, 0.5);
task.wait(3);
manualRagdoll?.Destroy(); // End ragdoll manually

// Ragdoll with custom getup animations
const getupFront = new Instance("Animation");
getupFront.AnimationId = "rbxassetid://your_front_animation";

const getupBack = new Instance("Animation");
getupBack.AnimationId = "rbxassetid://your_back_animation";

const ragdollWithAnims = Falldown.RagdollCharacter(character, 0.5, 5, getupFront, getupBack);

API hints

  • Ragdolling: Falldown.RagdollCharacter(character, standupFadeTime, automaticDuration?, getupFront?, getupBack?) returns IActiveRagdoll | undefined.
  • Velocity modes:
    • RootOnly: Apply to HumanoidRootPart only (most efficient)
    • AllEqual: Apply full velocity to every body part
    • SplitEqual: Distribute velocity evenly across all parts (realistic)
    • RandomMax: Random velocity per part (chaotic effects)
  • Manual control: ragdoll.Destroy() or Falldown.UnragdollCharacter(character, delayTime?) to end ragdoll state.
  • Bulk operations: Falldown.UnragdollAllCharacters(delayTime?) to recover all ragdolled characters.
  • Velocity application: AddVelocity(velocity, mode) for directional force, AddRandomVelocity(maxVelocity) for chaotic motion.
  • Lifecycle events: ragdoll.Ended fires when getup animation completes, ragdoll.Destroyed fires after cleanup.
  • Properties: Access Character, Humanoid, HumanoidRootPart, Owner (Player | undefined), and animation tracks via the returned interface.

License

MIT