-
Notifications
You must be signed in to change notification settings - Fork 12
Public API
Addon mods can depend on this mod jar and call the public methods in
dev.leo.sableplayerragdoll.api.RagdollAPI.
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);Addon hooks are posted on the NeoForge game event bus:
RagdollStartEvent
RagdollEndEvent
RagdollInteractEventRagdollStartEvent 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.
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.