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
new cine scene namedconstructs a reusable blueprint dynamically.new cine camera atcreates a camera definition.- Keyframes define positions at times
0s → 4s → 7s. cine camera of sceneattaches one timeline camera track.- Timed title and sound cues accompany the camera.
play cine scenereturns an instance handle for this playback.- On finish, the engine restores camera and owned state.
Expected tests after implementation
/sk reload cineintrohas 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.