Body
Associated namespace: sm.body
A userdata object representing a body in the game.
Values:
angularVelocity[ vec3 ]Get: The angular velocity of the body.
buildable[ bool ]Get: Whether the body is buildable or not.Set: (Server-Only) Controls whether a body is buildable.
centerOfMassPosition[ vec3 ]Get: The center of mass world position of a body.
connectable[ bool ]Get: Whether the body is connectable or not.Set: (Server-Only) Controls whether a body is connectable.
convertableToDynamic[ bool ]Get: Whether the body is convertible to dynamic or not.Set: (Server-Only) Controls whether a body is convertible to dynamic.
destructable[ bool ]Get: Whether the body is destructable or not.Set: (Server-Only) Controls whether a body is destructable.
erasable[ bool ]Get: Whether the body is erasable or not.Set: (Server-Only) Controls whether a body is erasable.
id[ int ]Get: The id of the body.
liftable[ bool ]Get: Whether the body is liftable or not.Set: (Server-Only) Controls whether a body is liftable.
mass[ number ]Get: The mass of the body.
paintable[ bool ]Get: Whether the body is paintable or not.Set: (Server-Only) Controls whether a body is paintable.
usable[ bool ]Get: Whether the body is interactable or not.Set: (Server-Only) Controls whether a body is interactable.
velocity[ vec3 ]Get: The linear velocity of the body.
worldPosition[ vec3 ]Get: The world position of the body.
worldRotation[ quat ]Get: The world rotation of the body.
Operations:
| Operation | Description |
|---|---|
Body == Body | Checks if two instances of Body refer to the same Body. |
Functions
createBlock
body:createBlock( uuid, size, position, forceAccept )
Server-Only
Creates a block on the body.
Parameters:
body(Body): The body.uuid(Uuid): The uuid of the shape.size(Vec3): The shape's size.position(Vec3): The shape's local position.forceAccept(boolean): Set true to force the body to accept the shape. (Defaults to true)
Returns:
- (Shape): The created shape.
createPart
body:createPart( uuid, position, z-axis, x-axis, forceAccept )
Server-Only
Creates a part on the body.
Parameters:
body(Body): The body.uuid(Uuid): The uuid of the shape.position(Vec3): The shape's local position.z-axis(Vec3): The shape's local z direction.x-axis(Vec3): The shape's local x direction.forceAccept(boolean): Set true to force the body to accept the shape. (Defaults to true)
Returns:
- (Shape): The created shape.
getAllSeatedCharacter
body:getAllSeatedCharacter()
Server-Only
Returns a table with all seated characters in this body.
Parameters:
body(Body): The body.
Returns:
- (table): The table of all seated characters.
getAngularVelocity
body:getAngularVelocity()
Server + Client
Returns the angular velocity of the body.
Parameters:
body(Body): The body.
Returns:
- (Vec3): The body's angular velocity.
getCenterOfMassPosition
body:getCenterOfMassPosition()
Server + Client
Returns the center of mass world position of the body.
Parameters:
body(Body): The body.
Returns:
- (Vec3): The body's center of mass position.
getCreationBodies
body:getCreationBodies()
Server + Client
Returns a table of all bodies in the creation.
A creation includes all bodies connected by joints, etc.
Parameters:
body(Body): The body.
Returns:
- (table): The table of all bodies in the creation.
getCreationId
body:getCreationId()
Server-Only
Returns the id of the creation.
Parameters:
body(Body): The body.
Returns:
- (int): The id of the creation.
getCreationJoints
body:getCreationJoints()
Server + Client
Returns a table of all joints that are part of the creation.
A creation includes all bodies connected by joints, etc.
Parameters:
body(Body): The body.
Returns:
- (table): The table of joints in the creation.
getCreationShapes
body:getCreationShapes()
Server + Client
Returns a table of all shapes that are part of the creation.
A creation includes all bodies connected by joints, etc.
Parameters:
body(Body): The body.
Returns:
- (table): The table of shapes in the creation.
getId
body:getId()
Server + Client
Returns the id of the body.
Parameters:
body(Body): The body.
Returns:
- (int): The id of the body.
getInteractables
body:getInteractables()
Server + Client
Returns a table of all interactables that are part of a body.
This will not return interactables in neighbouring bodies connected by joints, etc.
Parameters:
body(Body): The body.
Returns:
- (table): The table of interactables in the body.
getJoints
body:getJoints()
Server + Client
Returns a table of all joints that are part of a body.
This will not return joints in neighbouring bodies.
Parameters:
body(Body): The body.
Returns:
- (table): The table of joints in the body.
getLocalAabb
body:getLocalAabb()
Server + Client
Returns the local aabb of the body.
Parameters:
body(Body): The body.
Returns:
getMass
body:getMass()
Server + Client
Returns the mass of the body.
Parameters:
body(Body): The body.
Returns:
- (number): The mass of the body.
getShapes
body:getShapes()
Server + Client
Returns a table of all shapes that are part of the body.
This will not return shapes in neighbouring bodies connected by joints, etc.
Parameters:
body(Body): The body.
Returns:
- (table): The table of shapes in the body.
getVelocity
body:getVelocity()
Server + Client
Returns the linear velocity of the body.
Parameters:
body(Body): The body.
Returns:
- (Vec3): The linear velocity of the body.
getWorld
body:getWorld()
Server + Client
Returns the world that the body exists in.
Parameters:
body(Body): The body.
Returns:
- (World): The world of the body.
getWorldAabb
body:getWorldAabb()
Server + Client
Returns the world aabb of the body.
Parameters:
body(Body): The body.
Returns:
getWorldPosition
body:getWorldPosition()
Server + Client
Returns the world position of the body.
Parameters:
body(Body): The body.
Returns:
- (Vec3): The body's world position.
hasChanged
body:hasChanged( tick )
Server + Client
Returns true if the given tick is lower than the tick the body was last changed.
Parameters:
body(Body): The body.tick(int): The tick.
Returns:
- (boolean): True if the body has changed.
isBuildable
body:isBuildable()
Server + Client
Returns whether the body is buildable or not.
Parameters:
body(Body): The body.
Returns:
- (boolean): Whether the body is buildable or not.
isConnectable
body:isConnectable()
Server + Client
Returns whether the body is connectable or not.
Parameters:
body(Body): The body.
Returns:
- (boolean): Whether the body is connectable or not.
isConvertibleToDynamic
body:isConvertibleToDynamic()
Server + Client
Returns whether the body is convertable to dynamic or not.
Parameters:
body(Body): The body.
Returns:
- (boolean): Whether the body is convertable to dynamic or not.
isDestructable
body:isDestructable()
Server + Client
Returns whether the body is destructable or not.
Parameters:
body(Body): The body.
Returns:
- (boolean): Whether the body is destructable or not.
isDynamic
body:isDynamic()
Server + Client
Returns whether the body is dynamic or not.
Parameters:
body(Body): The body.
Returns:
- (boolean): Whether the body is dynamic or not.
isErasable
body:isErasable()
Server + Client
Returns whether the body is erasable or not.
Parameters:
body(Body): The body.
Returns:
- (boolean): Whether the body is erasable or not.
isLiftable
body:isLiftable()
Server + Client
Returns whether the body is liftable or not.
Parameters:
body(Body): The body.
Returns:
- (boolean): Whether the body is liftable or not.
isOnLift
body:isOnLift()
Server + Client
Returns whether the body is on a lift or not.
Parameters:
body(Body): The body.
Returns:
- (boolean): Whether the body is on a lift or not.
isPaintable
body:isPaintable()
Server + Client
Returns whether the body is paintable or not.
Parameters:
body(Body): The body.
Returns:
- (boolean): Whether the body is paintable or not.
isStatic
body:isStatic()
Server + Client
Returns whether the body is static or not.
Parameters:
body(Body): The body.
Returns:
- (boolean): Whether the body is static or not.
isUsable
body:isUsable()
Server + Client
Returns whether the body is interactable or not.
Parameters:
body(Body): The body.
Returns:
- (boolean): Whether the body is interactable or not.
setBuildable
body:setBuildable( state )
Server-Only
Controls whether the body is buildable or not.
Parameters:
body(Body): The body.state(boolean): Whether the body is buildable or not.
setConnectable
body:setConnectable( state )
Server-Only
Controls whether the body is connectable or not.
Parameters:
body(Body): The body.state(boolean): Whether the body is connectable or not.
setConvertibleToDynamic
body:setConvertibleToDynamic( state )
Server-Only
Controls whether the body is convertible to dynamic or not.
Parameters:
body(Body): The body.state(boolean): Whether the body is convertible to dynamic or not.
setDestructable
body:setDestructable( state )
Server-Only
Controls whether the body is destructable or not.
Parameters:
body(Body): The body.state(boolean): Whether the body is destructable or not.
setErasable
body:setErasable( state )
Server-Only
Controls whether the body is erasable or not.
Parameters:
body(Body): The body.state(boolean): Whether the body is erasable or not.
setLiftable
body:setLiftable( state )
Server-Only
Controls whether the body is liftable or not.
Parameters:
body(Body): The body.state(boolean): Whether the body is liftable or not.
setPaintable
body:setPaintable( state )
Server-Only
Controls whether the body is paintable or not.
Parameters:
body(Body): The body.state(boolean): Whether the body is paintable or not.
setUsable
body:setUsable( state )
Server-Only
Controls whether the body is interactable or not.
Parameters:
body(Body): The body.state(boolean): Whether the body is interactable or not.
transformPoint
body:transformPoint( point )
Server + Client
Transforms a point from local space to world space.
Parameters:
Parameters:
body(Vec3): The point in world space.