Documentation / Dialogue, Subtitles & Interactive Choices
PROPOSED API
API specification — not a released addon. SkCine-specific syntax shown here is proposed and must be implemented and server-tested before use.

Dialogue, Subtitles & Interactive Choices

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.

SkCine dialogue should support localized cinematic storytelling written directly in .sk files. UI presentation is permitted; it is not a GUI editor.

Speaker and subtitle

add cine dialogue "<gold>Guardian:</gold> Who enters my realm?" at 1 second to {_scene}
set cine dialogue mode of {_scene} to "subtitle"
set cine dialogue typing speed of {_scene} to 4

The typing-speed unit must be explicitly defined in the implementation (e.g. chars per tick), with caps to avoid packet floods. Never treat formatting bytes as visible characters in typewriter calculations.

Modes

Mode Pros Caveats
Chat High compatibility Chat history stays
Title/subtitle Cinematic and readable Display limits; must respect title timing
Action bar Compact Overwrites other action bar sources temporarily
Boss bar Stable progress/message Requires ownership-aware cleanup
Text display In-world dialogue Visibility and distance constraints
Choice inventory Clear interactive choices Inventory is for playing dialogue, not authoring scenes

Branching decisions

add cine choice "accept" named "Accept the quest" to {_scene} at 3 seconds
add cine choice "decline" named "Leave" to {_scene} at 3 seconds
on cine choice:
    if event-cine-choice-id is "accept":
        send "Quest accepted!" to event-player

Callback contract: event values are only valid inside their declared event scopes; verify native parse types. For rewards, use your own authoritative Skript logic and make it idempotent.

Localisation and placeholders

Support audience-specific rendered text, explicit locale/fallback values, and safe placeholder interpolation. Prefer Adventure MiniMessage with escaping for untrusted text, not raw insertion of arbitrary player input.

Timeout policies

Choices need duration, default selection, close/cancel behavior and reconnect policy. A timed-out choice should send a distinct event reason; it must not arbitrarily choose accept for economy-sensitive actions.

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