# IEmoteManager > Manages emote playback for players running the Lectern client. `gg.lode.lecternapi.api.manager.IEmoteManager` --- ## Signature ```java public interface IEmoteManager ``` --- ## Targeting Modes IEmoteManager provides four levels of targeting: | Mode | Description | |---|---| | **Targeted** | Play an emote on a specific entity, visible to a specific viewer. | | **Local** | Play an emote on a player, visible only to themselves. | | **Broadcast** | Play an emote on an entity, visible to all online players. | | **Collection** | Play an emote on an entity, visible to a specific set of viewers. | --- ## Methods — Targeted ### playEmote ```java void playEmote(Player viewer, UUID entityUuid, String emoteId, boolean showHands, int priority) ``` Plays an emote on an entity as seen by the target player. | Parameter | Type | Description | |---|---|---| | `viewer` | `Player` | The player who will see the emote. | | `entityUuid` | `UUID` | The UUID of the entity to animate. | | `emoteId` | `String` | The emote identifier (registered in the client animation registry). | | `showHands` | `boolean` | Whether to show the entity's hands during the emote. | | `priority` | `int` | The animation layer priority (higher = on top). | --- ### stopEmote ```java void stopEmote(Player viewer, UUID entityUuid, String emoteId) ``` Stops a specific emote on an entity as seen by the target player. | Parameter | Type | Description | |---|---|---| | `viewer` | `Player` | The target player. | | `entityUuid` | `UUID` | The UUID of the entity. | | `emoteId` | `String` | The emote identifier to stop. | --- ### stopAllEmotes ```java void stopAllEmotes(Player viewer, UUID entityUuid) ``` Stops all emotes on an entity as seen by the target player. | Parameter | Type | Description | |---|---|---| | `viewer` | `Player` | The target player. | | `entityUuid` | `UUID` | The UUID of the entity. | --- ### clearEmotes ```java void clearEmotes(Player viewer) ``` Clears all emote state on the target player's client. | Parameter | Type | Description | |---|---|---| | `viewer` | `Player` | The target player. | --- ## Methods — Local ### playLocalEmote ```java void playLocalEmote(Player player, String emoteId, boolean showHands, int priority) ``` Plays an emote on the player, visible only to themselves. | Parameter | Type | Description | |---|---|---| | `player` | `Player` | The player to animate (also the viewer). | | `emoteId` | `String` | The emote identifier. | | `showHands` | `boolean` | Whether to show hands during the emote. | | `priority` | `int` | The animation layer priority. | --- ### stopLocalEmote ```java void stopLocalEmote(Player player, String emoteId) ``` Stops a specific local emote on the player. | Parameter | Type | Description | |---|---|---| | `player` | `Player` | The target player. | | `emoteId` | `String` | The emote identifier to stop. | --- ### stopAllLocalEmotes ```java void stopAllLocalEmotes(Player player) ``` Stops all local emotes on the player. | Parameter | Type | Description | |---|---|---| | `player` | `Player` | The target player. | --- ## Methods — Broadcast ### broadcastEmote (UUID) ```java void broadcastEmote(UUID entityUuid, String emoteId, boolean showHands, int priority) ``` Plays an emote on an entity, visible to all online players. | Parameter | Type | Description | |---|---|---| | `entityUuid` | `UUID` | The UUID of the entity to animate. | | `emoteId` | `String` | The emote identifier. | | `showHands` | `boolean` | Whether to show hands during the emote. | | `priority` | `int` | The animation layer priority. | --- ### broadcastEmote (Player) ```java void broadcastEmote(Player target, String emoteId, boolean showHands, int priority) ``` Plays an emote on a player, visible to all online players. Convenience overload that extracts the player's UUID. | Parameter | Type | Description | |---|---|---| | `target` | `Player` | The player to animate. | | `emoteId` | `String` | The emote identifier. | | `showHands` | `boolean` | Whether to show hands during the emote. | | `priority` | `int` | The animation layer priority. | --- ### broadcastStopEmote (UUID) ```java void broadcastStopEmote(UUID entityUuid, String emoteId) ``` Stops a specific emote on an entity for all online players. | Parameter | Type | Description | |---|---|---| | `entityUuid` | `UUID` | The UUID of the entity. | | `emoteId` | `String` | The emote identifier to stop. | --- ### broadcastStopEmote (Player) ```java void broadcastStopEmote(Player target, String emoteId) ``` Stops a specific emote on a player for all online players. | Parameter | Type | Description | |---|---|---| | `target` | `Player` | The player. | | `emoteId` | `String` | The emote identifier to stop. | --- ### broadcastStopAllEmotes (UUID) ```java void broadcastStopAllEmotes(UUID entityUuid) ``` Stops all emotes on an entity for all online players. | Parameter | Type | Description | |---|---|---| | `entityUuid` | `UUID` | The UUID of the entity. | --- ### broadcastStopAllEmotes (Player) ```java void broadcastStopAllEmotes(Player target) ``` Stops all emotes on a player for all online players. | Parameter | Type | Description | |---|---|---| | `target` | `Player` | The player. | --- ## Methods — Collection-Based ### playEmote (Collection) ```java void playEmote(Collection<? extends Player> viewers, UUID entityUuid, String emoteId, boolean showHands, int priority) ``` Plays an emote on an entity, visible to a specific collection of viewers. | Parameter | Type | Description | |---|---|---| | `viewers` | `Collection<? extends Player>` | The players who will see the emote. | | `entityUuid` | `UUID` | The UUID of the entity to animate. | | `emoteId` | `String` | The emote identifier. | | `showHands` | `boolean` | Whether to show hands during the emote. | | `priority` | `int` | The animation layer priority. | --- ### stopEmote (Collection) ```java void stopEmote(Collection<? extends Player> viewers, UUID entityUuid, String emoteId) ``` Stops a specific emote on an entity for a collection of viewers. | Parameter | Type | Description | |---|---|---| | `viewers` | `Collection<? extends Player>` | The viewer set. | | `entityUuid` | `UUID` | The UUID of the entity. | | `emoteId` | `String` | The emote identifier to stop. | --- ### stopAllEmotes (Collection) ```java void stopAllEmotes(Collection<? extends Player> viewers, UUID entityUuid) ``` Stops all emotes on an entity for a collection of viewers. | Parameter | Type | Description | |---|---|---| | `viewers` | `Collection<? extends Player>` | The viewer set. | | `entityUuid` | `UUID` | The UUID of the entity. | --- ### clearEmotes (Collection) ```java void clearEmotes(Collection<? extends Player> viewers) ``` Clears all emote state for a collection of viewers. | Parameter | Type | Description | |---|---|---| | `viewers` | `Collection<? extends Player>` | The viewer set. | --- ## Related Pages - [[ILecternAPI]] — Access via `getEmoteManager()`