Commands
/eta and /emberstextapi are interchangeable aliases for the main subcommand tree (test, send, queue, clearqueue, stopqueue, closeall). The docs use /eta throughout; every example in those sections works unchanged with /emberstextapi. The one exception is reload, which is registered only on the long /emberstextapi root.
test op level 2 server-side
Section titled “test ”test <id>
Section titled “test <id>”Fires one of the 33 built-in demo messages at the executing player.
Syntax
/eta test <id>Arguments
| Argument | Type | Required | Notes |
|---|---|---|---|
id | integer 1-33 | yes | Selects a preset demo. Covers plain text, backgrounds, fade, typewriter, effects, inline items/entities, and queue sequences. |
Example
/eta test 6Plays the fade-in/fade-out demo (20-tick fade in, 140-tick duration, 20-tick fade out).
Source: MessageCommands.java#testSubcommand
test effect <name> [mode]
Section titled “test effect <name> [mode]”Sends an immersive message (or chat line, or item) that demonstrates a single named effect.
Syntax
/eta test effect <name> [mode]Arguments
| Argument | Type | Required | Notes |
|---|---|---|---|
name | string (word) | yes | One of: rainbow, glitch, wave, bounce, shake, pulse, swing, turb, circle, wiggle, pend, grad, shadow, neon, type, font, obfuscate, all |
mode | string (word) | no | immersive (default), chat, or item |
Example
/eta test effect wave/eta test effect rainbow chat/eta test effect all immersiveSource: EffectTestCommands.java#buildEffectTestCommand
test combo <effects>
Section titled “test combo <effects>”Wraps a set of effect tags around the literal text “Combined Effects!” and sends the result as an immersive message.
Syntax
/eta test combo <effects>Arguments
| Argument | Type | Required | Notes |
|---|---|---|---|
effects | string (greedy) | yes | Space-separated effect names, same set as test effect. Each name is wrapped as a tag and nested in order. |
Example
/eta test combo rainbow wave/eta test combo glitch shake neonSource: EffectTestCommands.java#buildComboCommand
send op level 2 server-side
Section titled “send ”Sends an immersive message to one or more players. Duration is in ticks (20 ticks = 1 second). If the text contains <...> or [...] it is parsed as ETA markup; otherwise it is treated as a plain string.
Syntax
/eta send <player> <duration> <text>Arguments
| Argument | Type | Required | Notes |
|---|---|---|---|
player | entity selector | yes | One or more players, e.g. @a, Steve |
duration | float (ticks) | yes | How long the message stays visible. 20 = 1 second, 100 = 5 seconds. |
text | string (greedy) | yes | Plain text or ETA markup. Consumes the rest of the command line. |
Example
/eta send @a 100 Hello world/eta send Steve 60 <rainbow><bold>You found a secret!</bold></rainbow>/eta send @a 120 <type speed=50>Loading complete.</type>Source: MessageCommands.java#sendSubcommand
queue op level 2 server-side
Section titled “queue ”Sends a sequenced queue of immersive messages to one or more players on a named channel. Messages in the queue play one step at a time; multiple messages in the same step display simultaneously.
Syntax
/eta queue <player> <channel> <queue_definition>Arguments
| Argument | Type | Required | Notes |
|---|---|---|---|
player | entity selector | yes | Target player(s). |
channel | string (word) | yes | A channel name used to manage this queue independently of others on the same player. |
queue_definition | string (greedy) | yes | Steps separated by |. Messages within a step separated by &. Each message must embed its duration via <dur:N> markup. |
Each message in queue_definition must include a <dur:N> tag so the queue knows how long to hold on that step. If omitted, the step defaults to 60 ticks.
Example
/eta queue @a cutscene "<dur:80><rainbow><bold>Quest Complete!</bold></rainbow>" | "<dur:80><type speed=40>You have slain the dragon...</type>" | "<dur:100><neon c=FFD700><wave>+ 1000 XP</wave></neon>"Source: MessageCommands.java#queueSubcommand
clearqueue op level 2 server-side
Section titled “clearqueue ”Clears a message queue on the target player(s). Without a channel name it clears all queues; with one it clears only that channel.
Syntax
/eta clearqueue <player> [channel]Arguments
| Argument | Type | Required | Notes |
|---|---|---|---|
player | entity selector | yes | Target player(s). |
channel | string (word) | no | If omitted, all queues on the player are cleared. |
Example
/eta clearqueue Steve/eta clearqueue @a cutsceneSource: MessageCommands.java#clearQueueSubcommand
stopqueue op level 2 server-side
Section titled “stopqueue ”Stops a running queue on the target player(s) and discards the remaining steps. Without a channel name it stops all queues.
Syntax
/eta stopqueue <player> [channel]Arguments
| Argument | Type | Required | Notes |
|---|---|---|---|
player | entity selector | yes | Target player(s). |
channel | string (word) | no | If omitted, all queues on the player are stopped. |
Example
/eta stopqueue Steve/eta stopqueue @a cutsceneSource: MessageCommands.java#stopQueueSubcommand
closeall op level 2 server-side
Section titled “closeall ”Immediately dismisses every active immersive message on the target player(s), regardless of channel or remaining lifetime.
Syntax
/eta closeall <player>Arguments
| Argument | Type | Required | Notes |
|---|---|---|---|
player | entity selector | yes | Target player(s). |
Example
/eta closeall Steve/eta closeall @aSource: MessageCommands.java#closeAllSubcommand
/emberstextapi reload
Section titled “/emberstextapi reload”Reload the client and server config files without restarting the game. This is the one subcommand registered only on the long /emberstextapi root; the short /eta alias does not carry it.
Syntax
/emberstextapi reloadArguments
None.
Example
/emberstextapi reloadSource: EmbersTextApiCommand.java
Reference summary
Section titled “Reference summary”| Subcommand | Permission | Args | Side |
|---|---|---|---|
test <id> | op 2 | integer 1-33 | server |
test effect <name> [mode] | op 2 | word, optional word | server |
test combo <effects> | op 2 | greedy string | server |
send <player> <duration> <text> | op 2 | selector, float (ticks), greedy string | server |
queue <player> <channel> <queue_definition> | op 2 | selector, word, greedy string | server |
clearqueue <player> [channel] | op 2 | selector, optional word | server |
stopqueue <player> [channel] | op 2 | selector, optional word | server |
closeall <player> | op 2 | selector | server |
/emberstextapi reload | op 2 | none | server |