ActionBarCompositor

public final class ActionBarCompositor implements Listener

Owns EliteMobs' single action-bar output channel.

Callers publish independent source messages instead of writing to the client directly. The highest-priority live message is displayed, and a lower-priority message automatically resumes when the message above it expires. Entries at the same priority are ordered by their most recent publication. This is particularly important for the persistent class HUD: combat feedback can cover it temporarily without destroying it.

All state and player interaction is confined to the server thread. Calls made off-thread are queued and drained by the same global task that expires and renders messages.

Types

Link copied to clipboard
public enum Source
A source owns its arbitration priority, normal lifetime, and the component encoding used by the producer it replaces.

Functions

Link copied to clipboard
public static void clear(Player player, ActionBarCompositor.Source source)
Removes one source without disturbing messages owned by other sources.
Link copied to clipboard
public static void initialize()
Starts the compositor and its quit listener.
Link copied to clipboard
public void onPlayerQuit(PlayerQuitEvent event)
Link copied to clipboard
public static long readingDurationTicks(String message)
Ticks a slow reader needs for this message.
Link copied to clipboard
public static void show(Player player, ActionBarCompositor.Source source, String message)
Publishes a message for the source's normal lifetime, extended when the text needs longer to read.
public static void show(Player player, ActionBarCompositor.Source source, String message, long durationTicks)
Publishes a transient message for an explicit number of server ticks.
Link copied to clipboard
public static void shutdown()
Stops rendering and releases every retained player message.
Link copied to clipboard
public static void start()
Starts the compositor and its quit listener.