Skip to content

Public API

Leo-T22 edited this page Jun 27, 2026 · 1 revision

Public API

Addon mods can depend on this mod jar and call the public methods in dev.leo.sableplayerragdoll.api.RagdollAPI.

Main Entry Points

RagdollAPI.launch(player, velocity);
RagdollAPI.launch(player, velocity, despawnConditions);
RagdollAPI.launch(player, velocity, launchOptions);
RagdollAPI.spawnPlayerless(level, position, headingDegrees);
RagdollAPI.spawnPlayerless(level, position, headingDegrees, velocity);
RagdollAPI.spawnPlayerless(level, position, headingDegrees, profile, velocity);
RagdollAPI.detachActive(player, playerlessDespawnRule);
RagdollAPI.activeSession(player);
RagdollAPI.isRagdolled(player);
RagdollAPI.isRagdollSubLevel(subLevelId);
RagdollAPI.isRagdollSubLevel(subLevel);
RagdollAPI.remove(level, subLevelId);
RagdollAPI.remove(level, subLevelId, smokePuff);
RagdollAPI.dismember(level, rootSubLevelId, bodyPart);
RagdollAPI.dismember(level, partSubLevelId);
RagdollAPI.setGrabDisabled(level, partSubLevelId, disabled);
RagdollAPI.captureEquipment(player, equipmentScope);
RagdollAPI.applyEquipmentSnapshot(level, rootSubLevelId, snapshot);

Mob ragdoll helpers:

RagdollAPI.launchMob(level, mob, linearVelocity);
RagdollAPI.launchMob(level, mob, linearVelocity, angularVelocity, launchOptions);
RagdollAPI.isMobRagdolled(mob);
RagdollAPI.releaseMob(mob);
RagdollAPI.spawnMobless(level, entityType, position);
RagdollAPI.spawnMobless(level, entityType, position, linearVelocity, durationTicks);
RagdollAPI.removeMobRagdoll(level, subLevelId);
RagdollAPI.removeMobRagdoll(level, subLevelId, smokePuff);
RagdollAPI.dismemberMob(level, partSubLevelId);

Events

Addon hooks are posted on the NeoForge game event bus:

RagdollStartEvent
RagdollEndEvent
RagdollInteractEvent

RagdollStartEvent fires before a player ragdoll is assembled. It is cancellable, and listeners can replace the launch velocity.

RagdollEndEvent fires after a player exits a ragdoll. It exposes the player, the exit velocity inherited from the ragdoll, and a reason.

RagdollInteractEvent fires when a player interacts with a ragdoll part. It exposes the player, root sublevel UUID, interacted part sublevel UUID, world position, and server level. It is cancellable, allowing addon mods to replace the default interaction behavior.

Notes

isRagdollSubLevel lets other mods check whether a given sub-level, or its UUID, belongs to a ragdoll.

The API covers spawning, despawning, playerless detaching, per-limb pose and joint control, temporary wailing effects, session locking, visual equipment snapshots, part interaction hooks, basic session queries, and sub-level identification.

It does not currently expose direct force application to an already active ragdoll or full inventory storage.

Clone this wiki locally