Audio, Sound Cues & Resource Packs
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.
Cinematic sound is controlled by timeline-owned cues. SkCine should not stop unrelated server sounds when a scene ends.
Sound placement
add cine sound "minecraft:entity.ender_dragon.growl" at 1 second to {_scene}
add cine sound "myserver:cinematics/reveal" at 2 seconds to {_scene}
play cine sound "minecraft:block.note_block.pling" at {_where} for player
Proposed cue attributes: key, start tick, player/world/location target, volume, pitch, sound category, repetition (bounded), optional fade policy, and ownership.
Custom sound requirements
For myserver:cinematics/reveal, clients must receive a compatible resource pack containing that sound and a valid sounds.json entry. SkCine cannot stream arbitrary WAV/MP3 music through a vanilla Paper API.
Fades and mixing
Document each effect as either native stop/play semantics or an approximation. Adjusting volume of an already playing sound is not universally possible. Audio 'ducking' may require re-triggering owned sounds; never mute all player audio as a side effect.
Synchronized cue rules
- Playback starts on logical scene cue tick.
- Missing sound asset must not cancel critical scene logic.
- Seeking forward ordinarily skips previous one-shot sounds.
- On completion, only sounds started by that scene are eligible for stopping.
Accessibility
Support volume multipliers, subtitles and optional sound-reduced mode at the API/config layer; never assume a client supports custom audio assets.