# 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]]