Sable registers aDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/ryanhcode/sable/llms.txt
Use this file to discover all available pages before exploring further.
/sable command tree that requires operator permission level 2. The commands cover the full lifecycle of sub-levels at runtime: assembling structures from world blocks, inspecting and teleporting sub-levels, applying physics impulses, managing load tickets, and searching on-disk storage. All commands that accept a sub-level selector use SubLevelArgumentType, which resolves sub-levels by UUID, display name, or a selector expression.
Core commands
Core commands
These top-level sub-commands are registered directly on
Toggles or explicitly sets the physics pause state for the current level’s physics system.
Pauses physics and sends the executing player into the physics gizmo client mode, which provides interactive handles for repositioning and rotating sub-levels.
Adds a
Removes the
Prints a summary for each matched sub-level including its display name, position, orientation (quaternion), mass, linear velocity, and angular velocity. The name component is clickable and generates a
/sable./sable paused [true|false]
Toggles or explicitly sets the physics pause state for the current level’s physics system.- No argument — toggles between paused and unpaused.
true/false— sets the pause state explicitly.
/sable engage_gizmo
Pauses physics and sends the executing player into the physics gizmo client mode, which provides interactive handles for repositioning and rotating sub-levels./sable forceload add <sub_level>
Adds a COMMAND_FORCED load ticket for each matched sub-level, preventing it from unloading while the ticket is held./sable forceload remove <sub_level>
Removes the COMMAND_FORCED load ticket from each matched sub-level./sable info <sub_level>
Prints a summary for each matched sub-level including its display name, position, orientation (quaternion), mass, linear velocity, and angular velocity. The name component is clickable and generates a /execute in … tp command to the sub-level’s current position.assemble — assembly and shattering
assemble — assembly and shattering
Registered under
/sable assemble. These commands convert world blocks into sub-levels (assemble) or split existing sub-levels back into individual per-block sub-levels (shatter).Assemble commands
| Syntax | Description |
|---|---|
/sable assemble area <from> <to> | Assembles all blocks in the rectangular region into a single sub-level |
/sable assemble connected [<from>] [<capacity>] | Flood-fills from <from> (defaults to one block below the executor) and assembles all connected blocks, up to <capacity> (default 256,000) |
/sable assemble sphere <radius> [<origin>] | Assembles all non-air blocks within <radius> blocks of <origin> (defaults to executor position) into a single sub-level |
/sable assemble cube <range> [<origin>] | Assembles all blocks in a cube of half-side <range> centered on <origin> into a single sub-level |
Shatter commands
Shatter splits each solid block in the target region into its own individual single-block sub-level.| Syntax | Description |
|---|---|
/sable assemble shatter sub_level <sub_level> | Shatters each matched sub-level that contains more than one solid block |
/sable assemble shatter connected [<from>] [<capacity>] | Flood-fills from <from> and shatters all connected blocks |
/sable assemble shatter sphere <radius> [<origin>] | Shatters all solid blocks within <radius> of <origin> |
/sable assemble shatter cube <range> [<origin>] | Shatters all solid blocks in a cube of half-side <range> centered on <origin> |
/sable assemble shatter area <from> <to> | Shatters all solid blocks in the rectangular region |
The
shatter sub_level variant skips any sub-level that contains only a single solid block, since shattering it would produce an identical structure.name — display name management
name — display name management
Registered under
/sable name. Display names are used by SubLevelArgumentType for selector resolution and appear in /sable info output.| Syntax | Description |
|---|---|
/sable name set <sub_level> <name> | Assigns a display name to each matched sub-level |
/sable name clear <sub_level> | Clears the display name from each matched sub-level |
/sable name get <sub_level> | Prints the display name of a single matched sub-level; fails if the sub-level has no name |
teleport — sub-level teleportation
teleport — sub-level teleportation
Registered under
/sable teleport. Resets velocity before teleporting.| Syntax | Description |
|---|---|
/sable teleport <targets> <destination> | Teleports each matched sub-level to <destination>, preserving current orientation |
/sable teleport <targets> <destination> <angle> | Teleports each matched sub-level to <destination> and sets orientation from the Minecraft rotation argument (yaw/pitch) |
remove — remove sub-levels
remove — remove sub-levels
Registered under
/sable remove. Permanently removes each matched sub-level from the container.physics — impulses and transforms
physics — impulses and transforms
Registered under
/sable physics. All vector arguments that accept global / local modifiers default to global space.Impulse
| Syntax | Description |
|---|---|
/sable physics impulse <sub_level> linear <impulse> [global|local] | Applies a linear impulse to each matched sub-level in global (default) or local space |
/sable physics impulse <sub_level> angular <impulse> [global|local] | Applies an angular impulse to each matched sub-level in global (default) or local space |
Rotation
| Syntax | Description |
|---|---|
/sable physics rotation <sub_level> add entity <rotation> [global|local] | Adds a yaw/pitch rotation to each matched sub-level |
/sable physics rotation <sub_level> add axis <axis> <angle> [global|local] | Adds a rotation around <axis> by <angle> degrees |
/sable physics rotation <sub_level> set entity <rotation> | Sets the orientation of each matched sub-level from a yaw/pitch rotation |
/sable physics rotation <sub_level> set axis <axis> <angle> | Sets the orientation of each matched sub-level to a rotation around <axis> by <angle> degrees |
Translation
| Syntax | Description |
|---|---|
/sable physics translation <sub_level> add <translation> [global|local] | Offsets each matched sub-level’s position by <translation> in global (default) or local space |
/sable physics translation <sub_level> set <translation> | Sets the absolute position of each matched sub-level |
spawn — debug spawn commands
spawn — debug spawn commands
Registered under
/sable spawn. These commands are primarily intended for testing and debugging.| Syntax | Description |
|---|---|
/sable spawn block [<block>] [<name>] | Spawns a single-block sub-level at the executor’s position (default: stone) |
/sable spawn platform <size> [<block>] [<name>] | Spawns a flat square platform of half-side <size> (default: stone) |
/sable spawn sphere <radius> [<block>] [<name>] | Spawns a solid sphere of radius <radius> (default: stone) |
/sable spawn grid <sideLength> [<block>] [<name>] | Spawns a sideLength³ grid of single-block sub-levels |
/sable spawn jenga <height> [<name>] | Spawns a Jenga tower of <height> layers |
/sable spawn clone <sub_level> [<name>] | Clones an existing sub-level, spawning the copy above the original |
/sable spawn schematic <name> | Loads an .nbt schematic from the schematics/ folder and spawns it as a sub-level |
/sable spawn slope_test [<name>] | Spawns a 10×10 grid of platforms at varying yaw and pitch orientations |
/sable spawn joint_test | Spawns two stone blocks connected by a rotary constraint |
/sable spawn rope_test | Spawns a 10-segment rope anchored at the executor’s position |
storage — on-disk sub-level search
storage — on-disk sub-level search
Registered under
/sable storage. These commands scan the sub-level region files on disk without requiring the sub-levels to be loaded, and print results to chat with clickable teleport links.| Syntax | Description |
|---|---|
/sable storage find_all_sub_levels | Scans all region files in the current level and lists every stored sub-level with its last-known position and size |
/sable storage find <name> | Scans all region files and lists only sub-levels whose display name matches <name> exactly |
The <sub_level> selector
Wherever a command accepts a <sub_level> argument, it uses SubLevelArgumentType to resolve one or more ServerSubLevel instances. The argument type supports:
- UUID — the unique ID of the sub-level (e.g.
550e8400-e29b-41d4-a716-446655440000) - Display name — the name assigned via
/sable name set - Selector syntax — a selector expression that matches multiple sub-levels at once
SubLevelArgumentType.singleSubLevel() (such as /sable name get and /sable spawn clone) require the selector to resolve to exactly one sub-level.