Documentation / Your First Cinematic
PROPOSED API
API specification — not a released addon. SkCine-specific syntax shown here is proposed and must be implemented and server-tested before use.

Your First Cinematic

API status — PROPOSED, NOT IMPLEMENTED. SkCine is currently a design specification in this conversation; no built SkCine.jar or syntax registry was supplied. All SkCine-specific examples are intended API contracts, not verified runnable .sk. Do not advertise these as tested until each example passes a real Skript reload and runtime test.

This is the proposed v1 imperative API contract. The sample is not currently load-tested.

A basic, dynamically positioned camera flyby

command /cineintro:
    permission: skcine.demo
    trigger:
        set {_origin} to location of player
        set {_high} to {_origin} offset by vector(0, 7, -9)
        set {_close} to {_origin} offset by vector(2, 3, -3)

        set {_scene} to new cine scene named "demo:first"
        set cine duration of {_scene} to 7 seconds
        set cine skippable of {_scene} to true

        set {_camera} to new cine camera at {_high}
        add cine camera keyframe at {_high} to {_camera} at 0 seconds
        add cine camera keyframe at {_close} to {_camera} at 4 seconds
        add cine camera keyframe at {_origin} to {_camera} at 7 seconds
        set cine easing of {_camera} to "ease-in-out-cubic"
        set cine camera of {_scene} to {_camera}

        add cine title "<gold>Welcome" at 1 second to {_scene}
        add cine sound "minecraft:entity.player.levelup" at 2 seconds to {_scene}
        set {_playback} to play cine scene {_scene} for player

Skript note: location offset by vector and custom SkCine patterns are proposed here. The final addon must use whichever concrete forms load in its supported Skript versions; update examples and docs with verified syntax accordingly.

What this scene demonstrates

  1. new cine scene named constructs a reusable blueprint dynamically.
  2. new cine camera at creates a camera definition.
  3. Keyframes define positions at times 0s → 4s → 7s.
  4. cine camera of scene attaches one timeline camera track.
  5. Timed title and sound cues accompany the camera.
  6. play cine scene returns an instance handle for this playback.
  7. On finish, the engine restores camera and owned state.

Expected tests after implementation

  • /sk reload cineintro has zero errors.
  • Start scene; client sees a smooth camera path.
  • Stop/skip mid-scene; player is restored with no temporary camera entity remaining.
  • Two viewers can start the same definition independently.
  • With packet backend disabled, capability fallbacks are explained rather than crashing.

Next: Cameras, Timelines and the API grammar.

© 2026 DHeaven · SkCine documentation design · All scene authoring happens in Skript (.sk).