# 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()`