Sable Engine Peripheral API
Peripheral Type: neo_sable_engine
The neo_sable_engine peripheral allows computers to interact directly with the Sable physics engine when mounted on a moving sub-level structure.
Telemetry Methods
getUUID()
Gets the unique UUID of the containing sub-level.
- Returns: string | nil
isOnSubLevel()
Checks if the engine block is currently situated on an active Sable sub-level structure.
- Returns: boolean
getName()
Retrieves the assigned name of the sub-level structure.
- Returns: string | nil
getMass()
Returns the total combined mass of the sub-level rigid body.
- Returns: number
getPosition()
Retrieves the logical position of the sub-level structure in absolute world space.
- Returns: table - {x = number, y = number, z = number}
getOrientation()
Retrieves the quaternion orientation of the sub-level structure.
- Returns: table - {x = number, y = number, z = number, w = number}
getLinearVelocity()
Gets the current linear velocity vector of the sub-level.
- Returns: table - {x = number, y = number, z = number}
getAngularVelocity()
Gets the current angular velocity vector of the sub-level.
- Returns: table - {x = number, y = number, z = number}
getCenterOfMass()
Retrieves the exact coordinates of the sub-level's center of mass.
- Returns: table | nil - {x = number, y = number, z = number}
Physical Impulse Methods
[!NOTE]
All impulse methods are rate-limited per tick to prevent server instability and physics exploitation.
applyLinearImpulse(x, y, z)
Applies an instantaneous linear momentum vector to the center of mass.
- Arguments: x, y, z (number)
- Returns: boolean - true on success.
applyAngularImpulse(x, y, z)
Applies rotational torque (angular impulse) along the given vector.
- Arguments: x, y, z (number)
- Returns: boolean - true on success.
applyImpulseAtPoint(px, py, pz, fx, fy, fz)
Applies a force vector (fx, fy, fz) at a specific absolute world coordinate (px, py, pz).
- Arguments: px, py, pz, fx, fy, fz (number)
- Returns: boolean - true on success.
applyImpulseAtRelativePoint(rx, ry, rz, fx, fy, fz)
Applies a force vector (fx, fy, fz) at a position offset (rx, ry, rz) relative to the Sable Engine Block's coordinates.
- Arguments: rx, ry, rz, fx, fy, fz (number)
- Returns: boolean - true on success.
Events
engine_tick: Fired during each simulation tick update.