Shows
Shows let you create time-coded, multithreaded sequences of cues (scheduled events). A show is a list of cues that run at precise times relative to when the show is started. Because shows run multithreaded, in-game lag (TPS drops) will not affect cue timing - audio and events stay in sync.
This document explains timecodes, supported trigger types, and the commands you use to create, manage, and edit shows.
Basic usage
Create a new show named demo:
Add cues to the show:
Get the show status:
Start or cancel a running show:
Open the show editor GUI:
Timecodes
A timecode is an offset from the moment a show is started. OpenAudioMc supports these formats:
m- minutes.
Example:1m= 1 minute,1.5m= 1 minute 30 seconds.s- seconds.
Example:1s= 1 second,1.5s= 1.5 seconds (1 second 500 milliseconds).ms- milliseconds.
Example:100ms= 100 milliseconds.t- Minecraft ticks (1 tick = 50 milliseconds).
Example:20t= 1 second.HH:mm:ss- hours:minutes:seconds.
Example:00:05:00= 5 minutes.
Timecodes are relative to when you issue the start command for the show.
Supported trigger types
Triggers determine what happens when a cue fires. Common built-in trigger types:
-
command- Executes a console command. All following arguments are joined to form the command.
Example:Command Example/openaudio show add demo 0s command say I fire at the start<>Required[]Optional -
chat- Sends a chat message to players matching a selector. The first argument is the selector; the rest is the message. Selectors follow standard Minecraft selector syntax (see selectors.md).
Example:Command Example/openaudio show add demo 1s chat @a[region=spawn] &7Welcome to spawn!<>Required[]Optional -
actionbar- Likechat, but displays the message in the actionbar.
Example:Command Example/openaudio show add demo 1s actionbar @a &eHeads up!<>Required[]Optional -
custom - Implement and register your own Java-based show triggers via the API (requires plugin development).
Notes:
- For
chatandactionbar, the first argument after the trigger type MUST be a player selector; everything after is treated as the message text.
Examples
Add three cues to demo - at start, after 1 second, and after 1 minute:
Full workflow example:
- Create the show:
Command Example/openaudio show create demo<>Required[]Optional
- Add cues:
Command Example/openaudio show add demo 0s command say Welcome to the show! CMD:/openaudio show add demo 10s chat @a[region=spawn] &7Enjoy the music! CMD:/openaudio show add demo 00:01:00 actionbar @a &eOne minute in...<>Required[]Optional
- Start the show:
Command Example/openaudio show start demo<>Required[]Optional
- Inspect the show:
Command Example/openaudio show info demo<>Required[]Optional
- Cancel the show (if needed):
Command Example/openaudio show cancel demo<>Required[]Optional
GUI editing
Use the GUI to visually inspect and edit a show:
From the GUI you can:
- View the show state and list of cues
- Scroll through cues
- Delete cues
- Start/cancel the show
Tips & behavior
- Shows are multithreaded: cue timing is not affected by server TPS drops.
- Timecodes are measured from the moment you run
/openaudio show start. - Use
commandcues for server-side actions,chat/actionbarfor player-visible messages, or implement custom triggers for special behavior. - When composing messages for
chatoractionbar, remember the first argument after the trigger type must be a Minecraft player selector.
If you'd like, I can also:
- Convert the examples to short runnable demo files,
- Or produce a ready-to-merge README update in your repository using this format.
Permissions
This permission is required to use the /oa show command
Default access level: op
