Sable Integration

These values become meaningful when Sable is present.


Getter

Getter Output Description
sublevel SubLevel Returns the sublevel containing the target block’s position. If the target is not inside a sublevel, a sentinel value is returned.

Sublevel Mappers

Produced by: sublevel

Mapper Output Description
name String The sublevel’s display name. Returns "" if unnamed or not inside a sublevel.
id String The sublevel UUID as a string. Returns "" if not inside a sublevel.
pos Vec Pos The sublevel pose position in global space. Returns the target block’s own centered position if not inside a sublevel.
world_vel Vec Dir The target block’s global velocity, accounting for sublevel motion. Returns zero if not inside a sublevel.
local_vel Vec Dir The target block’s velocity rotated into the sublevel’s local frame. Returns zero if not inside a sublevel.
bounding_box Vec Box The sublevel bounding box dimensions in local space, in blocks. Does not change as the sublevel rotates. Returns zero if not inside a sublevel.
dir <direction> Vec Dir A cardinal direction (north, south, east, west, up, down) rotated to match the sublevel’s current orientation. Returns the unrotated direction if not inside a sublevel.

Examples

Check if the block is in a sublevel:

if sublevel id == "" set_redstone 0 else set_redstone 15

Set redstone based on upward sublevel motion:

if sublevel world_vel y > 0 set_redstone 15

Check which way the sublevel’s north is pointing:

if sublevel dir north y < 0 set_redstone 15

Activate when the sublevel is large:

if sublevel bounding_box volume > 1000 set_redstone 15