# Commands All commands live under `/recap` (alias `/re`) and require the `recap.admin` permission. --- ## Top-Level Verbs | Command | Description | |---|---| | `/recap start <name> [players] [flags]` | Start recording. Flags: `--radius <n>` / `-r`, `--scene <name>` / `-s`, `--environment` / `--env` (+ `--uncapped`). | | `/recap stop` | Stop your own recording, end your active hijack, or — with neither active — stop the nearest playback. | | `/recap stopall` | Stop every active recorder and every playback. | | `/recap cancel` | Discard your in-flight recording (no save). | | `/recap cancelall` | Discard every in-flight recording. | | `/recap recordings list` | List saved recordings. | | `/recap recordings delete <name>` | Delete a saved recording. | | `/recap play <name> [loop]` | Play a recording OR a scene at your location. | | `/recap pause` / `resume` / `seek <tick>` / `speed <multiplier>` | Playback controls — only appear when something is playing. | | `/recap hijack <scene> [players] [flags]` | Start a hijack session. Flags: `--new <name>` / `-n` (force a new scene), `--stop-on-end` / `--soe` (auto-end when the scene finishes). | | `/recap revert [scene] [--maintain]` | Undo the last hijack's scene mutation. `--maintain` keeps the reactive recording on disk. | | `/recap version` | Print the running impl version. | --- ## /recap scene | Command | Description | |---|---| | `/recap scene list` | List all scenes. | | `/recap scene create <name>` | Create a new empty scene (auto-prefixed with `.`). | | `/recap scene delete <name>` | Delete a scene. | | `/recap scene <name> list` | List entries inside the scene. | | `/recap scene <name> play [loop]` | Play the scene at your location. Rejected if the scene is already playing. | | `/recap scene <name> add <recording \| scene>` | Add a recording or child scene. | | `/recap scene <name> remove <recording \| scene>` | Remove an entry. | --- ## Recording ### Start one player ``` /recap start <name> ``` Records the command sender. ### Start multiple players ``` /recap start <name> @a ``` Each player gets their own output named `<name>_<PlayerName>`. ### `--scene <existing>` / `-s` Auto-append each output recording to the named scene when the recording stops. Scene must already exist. ``` /recap start big_battle @a -s arena_replay ``` ### `--radius <n>` / `-r` Override the surroundings radius for this recording (default `recording.capture-radius`, 16; max 128): nearby mobs and a geometry snapshot cube. The cube replays viewer-only at the playback location, so the scene plays back in any world. Use `--radius 0` for a player-only recording. (World-driven block changes need `--environment`; the radius scopes their range.) ``` /recap start arena_take @a --radius 32 ``` ### `--environment` / `--env` Also record world-driven block changes near the player — pistons and redstone (dust, lamps, repeaters, comparators, observers, piston triggers). Default recordings stay purely player-driven. Add `--uncapped` to lift the per-tick block-change limit for large or fast contraptions. ``` /recap start contraption @a --env --uncapped ``` Flags can combine in any order: ``` /recap start 300_fight @a --radius 32 -s big_battle ``` --- ## Playback ### Play a recording ``` /recap play <recording> ``` ### Play a scene with per-actor loop ``` /recap play <scene> true ``` Each recording in the scene loops at its own end-of-stream so ambient scenes don't depopulate as short clips finish. ### Stop playback `/recap stopall` ends every playback session. `/recap stop`, when you have no active recording or hijack, falls through to stop the nearest playback session — so you don't need `stopall` just to end one `/recap play`. The playback-control commands (`pause/resume/seek/speed`) target the session closest to your position. Larger scenes show a two-stage notification on play: `Loading scene 'X'…` immediately, then `Now playing 'X' (N actors)` once actors finish initialising. --- ## Hijack ### Start a hijack on a scene ``` /recap hijack <scene> ``` Each NPC in the scene spawns as a real NMS Player you can fight. Inventory drops on kill. ### Co-op hijack ``` /recap hijack <scene> @a ``` All online players hijack the same scene. Each hijacker gets their own output recording. ### Force a new output scene ``` /recap hijack <scene> --new <name> ``` By default, hijacking a scene EDITS that scene in place (touched NPCs swap to their reactive). `--new <name>` / `-n <name>` forces creation of a separate scene instead. ### Auto-end when the scene finishes ``` /recap hijack <scene> --stop-on-end /recap hijack <scene> --soe ``` Ends the hijack automatically the moment the scene's last recording finishes playing, saving the output exactly like a manual `/recap stop`. Combinable with `--new`. ### End a hijack `/recap stop` ends your hijack and finalises the swap. `/recap cancel` ends without saving the reactive or applying the swap. --- ## Revert `/recap revert` undoes the most recent hijack-induced scene mutation, restoring the original recording in the scene. Add `--maintain` to keep the reactive recording on disk (only the scene entry is reverted, not the file). --- ## World Snapshots | Command | Description | |---|---| | `/recap world apply <snapshot>` | Apply a captured world snapshot for the calling viewer. | | `/recap world restore` | Restore the viewer's pre-snapshot blocks. |