# Scenes A scene is a named collection of recordings (or other scenes) that play together. Each entry has a position offset and a start-delay tick so a scene can stage an entire battle, parade, or cinematic. --- ## Creating a scene ``` /recap scene create <name> ``` Scene names are auto-prefixed with `.` (e.g. `arena_replay` → `.arena_replay`). The dot prevents the suggester from confusing scene names with recording names. --- ## Adding entries ``` /recap scene <name> add <recording> /recap scene <name> add <child_scene> ``` A scene can contain recordings AND other scenes. Nested scenes are flattened recursively at playback time (cycle-protected). Offsets and start delays are configured by editing the scene JSON in `plugins/Recap/scenes/<name>.json`: ```json { "name": ".arena_replay", "entries": [ { "recording": "warrior_run", "delay": 0, "ox": 0, "oy": 0, "oz": 0 }, { "recording": "archer_volley", "delay": 40, "ox": 4, "oy": 0, "oz": -2 } ] } ``` `delay` is in ticks (20 ticks = 1 second). `ox`/`oy`/`oz` are world-space block offsets applied to every frame of the entry. --- ## Removing entries ``` /recap scene <name> remove <entry> ``` Removes the entry whose recording-name matches `<entry>`. --- ## Listing ``` /recap scene list # all scenes /recap scene <name> list # entries inside one scene ``` --- ## Playing a scene ``` /recap play <name> /recap play <name> true # per-actor loop /recap scene <name> play # equivalent /recap scene <name> play true # equivalent + loop ``` Duplicate plays of the same scene are rejected — `/recap stopall` first. --- ## Composite scenes A scene can reference other scenes as children. This is useful for building reusable scene blocks (e.g. a "guards on patrol" child scene reused across multiple parent battles). Child references are added the same way: ``` /recap scene parent_battle add .guards_patrol ``` The parent's flattened entry list includes everything from each child plus the parent's own direct entries. --- ## Auto-append from `/recap start` ``` /recap start big_fight @a --scene arena_replay ``` Each player's output recording is appended to `arena_replay` automatically when their recording stops. Scene must already exist. --- ## Hijack interaction When a scene is hijacked (see [[Recap/Server Owners/Features/Hijack]]), touched NPCs are swapped in the scene for a "reactive" recording capturing their modified behavior. The hijacker's own path is auto-appended to the same scene with a **playback-only** flag — visible during `/recap play` but skipped on re-hijack so a second hijack doesn't spawn duplicate NMS Players at the same origin. --- ## See Also - [[Recap/Server Owners/Features/Recording]] - [[Recap/Server Owners/Features/Playback]] - [[Recap/Server Owners/Features/Hijack]]