# IEntityManager
> Manages entity-related effects for players running the Lectern client.
`gg.lode.lecternapi.api.manager.IEntityManager`
---
## Signature
```java
public interface IEntityManager
```
---
## Methods
### setCape
```java
void setCape(Player player, UUID entityUuid, String capeId)
```
Sets a custom cape on an entity as seen by the target player.
| Parameter | Type | Description |
|---|---|---|
| `player` | `Player` | The player who will see the cape. |
| `entityUuid` | `UUID` | The UUID of the entity to apply the cape to. |
| `capeId` | `String` | The cape texture identifier (e.g. `"namespace:textures/cape.png"`). |
---
### removeCape
```java
void removeCape(Player player, UUID entityUuid)
```
Removes a custom cape from an entity as seen by the target player.
| Parameter | Type | Description |
|---|---|---|
| `player` | `Player` | The target player. |
| `entityUuid` | `UUID` | The UUID of the entity. |
---
### clearCapes
```java
void clearCapes(Player player)
```
Clears all custom capes on the target player's client.
| Parameter | Type | Description |
|---|---|---|
| `player` | `Player` | The target player. |
---
### setSkin
```java
void setSkin(Player player, UUID entityUuid, String skinId)
```
Overrides the skin of an entity as seen by the target player.
| Parameter | Type | Description |
|---|---|---|
| `player` | `Player` | The player who will see the skin. |
| `entityUuid` | `UUID` | The UUID of the entity to reskin. |
| `skinId` | `String` | The skin texture identifier. |
---
### setSkinToPlayer
```java
void setSkinToPlayer(Player player, UUID entityUuid, String playerName)
```
Overrides the skin of an entity to match another player's skin, looked up by player name. The client fetches the skin from the Mojang API.
| Parameter | Type | Description |
|---|---|---|
| `player` | `Player` | The player who will see the skin. |
| `entityUuid` | `UUID` | The UUID of the entity to reskin. |
| `playerName` | `String` | The username of the player whose skin to use. |
---
### setSkinToUuid
```java
void setSkinToUuid(Player player, UUID entityUuid, UUID skinUuid)
```
Overrides the skin of an entity to match another player's skin, looked up by UUID. The client fetches the skin from the Mojang API.
| Parameter | Type | Description |
|---|---|---|
| `player` | `Player` | The player who will see the skin. |
| `entityUuid` | `UUID` | The UUID of the entity to reskin. |
| `skinUuid` | `UUID` | The UUID of the player whose skin to use. |
---
### removeSkin
```java
void removeSkin(Player player, UUID entityUuid)
```
Removes a skin override from an entity as seen by the target player.
| Parameter | Type | Description |
|---|---|---|
| `player` | `Player` | The target player. |
| `entityUuid` | `UUID` | The UUID of the entity. |
---
### clearSkins
```java
void clearSkins(Player player)
```
Clears all skin overrides on the target player's client.
| Parameter | Type | Description |
|---|---|---|
| `player` | `Player` | The target player. |
---
### setNametag
```java
void setNametag(Player player, UUID entityUuid, String name)
```
Overrides the nametag text of an entity as seen by the target player.
| Parameter | Type | Description |
|---|---|---|
| `player` | `Player` | The player who will see the nametag. |
| `entityUuid` | `UUID` | The UUID of the entity. |
| `name` | `String` | The nametag text. |
---
### setNametagColor
```java
void setNametagColor(Player player, UUID entityUuid, int color)
```
Overrides the nametag color of an entity as seen by the target player.
| Parameter | Type | Description |
|---|---|---|
| `player` | `Player` | The player who will see the color. |
| `entityUuid` | `UUID` | The UUID of the entity. |
| `color` | `int` | The color as a packed RGB integer. |
---
### removeNametag
```java
void removeNametag(Player player, UUID entityUuid)
```
Removes a nametag text override from an entity.
| Parameter | Type | Description |
|---|---|---|
| `player` | `Player` | The target player. |
| `entityUuid` | `UUID` | The UUID of the entity. |
---
### removeNametagColor
```java
void removeNametagColor(Player player, UUID entityUuid)
```
Removes a nametag color override from an entity.
| Parameter | Type | Description |
|---|---|---|
| `player` | `Player` | The target player. |
| `entityUuid` | `UUID` | The UUID of the entity. |
---
### clearNametags
```java
void clearNametags(Player player)
```
Clears all nametag text overrides on the target player's client.
| Parameter | Type | Description |
|---|---|---|
| `player` | `Player` | The target player. |
---
### clearNametagColors
```java
void clearNametagColors(Player player)
```
Clears all nametag color overrides on the target player's client.
| Parameter | Type | Description |
|---|---|---|
| `player` | `Player` | The target player. |
---
### tintEntity
```java
void tintEntity(Player player, UUID entityUuid, int red, int green, int blue, float alpha)
```
Tints an entity with a color as seen by the target player.
| Parameter | Type | Description |
|---|---|---|
| `player` | `Player` | The player who will see the tint. |
| `entityUuid` | `UUID` | The UUID of the entity to tint. |
| `red` | `int` | Red component (0-255). |
| `green` | `int` | Green component (0-255). |
| `blue` | `int` | Blue component (0-255). |
| `alpha` | `float` | The tint opacity (0.0 to 1.0). |
---
### removeTint
```java
void removeTint(Player player, UUID entityUuid)
```
Removes a tint from an entity.
| Parameter | Type | Description |
|---|---|---|
| `player` | `Player` | The target player. |
| `entityUuid` | `UUID` | The UUID of the entity. |
---
### clearTints
```java
void clearTints(Player player)
```
Clears all entity tints on the target player's client.
| Parameter | Type | Description |
|---|---|---|
| `player` | `Player` | The target player. |
---
### hideEntity
```java
void hideEntity(Player player, UUID entityUuid)
```
Hides an entity on the target player's client.
| Parameter | Type | Description |
|---|---|---|
| `player` | `Player` | The target player. |
| `entityUuid` | `UUID` | The UUID of the entity to hide. |
---
### showEntity
```java
void showEntity(Player player, UUID entityUuid)
```
Shows a previously hidden entity on the target player's client.
| Parameter | Type | Description |
|---|---|---|
| `player` | `Player` | The target player. |
| `entityUuid` | `UUID` | The UUID of the entity to show. |
---
### clearEntityVisibility
```java
void clearEntityVisibility(Player player)
```
Clears all entity visibility overrides on the target player's client.
| Parameter | Type | Description |
|---|---|---|
| `player` | `Player` | The target player. |
---
### setHandVisible
```java
void setHandVisible(Player player, boolean visible)
```
Hides or shows the player's hand rendering.
| Parameter | Type | Description |
|---|---|---|
| `player` | `Player` | The target player. |
| `visible` | `boolean` | `true` to show hands, `false` to hide. |
---
### playEmote
```java
void playEmote(Player player, UUID entityUuid, String emoteId, boolean showHands, int priority)
```
Plays an emote animation on an entity as seen by the target player.
| Parameter | Type | Description |
|---|---|---|
| `player` | `Player` | The player who will see the emote. |
| `entityUuid` | `UUID` | The UUID of the entity to animate. |
| `emoteId` | `String` | The emote identifier (e.g. `"lodestone:wave"`). |
| `showHands` | `boolean` | Whether to show the entity's hands during the emote. |
| `priority` | `int` | The animation priority. |
---
### stopEmote
```java
void stopEmote(Player player, UUID entityUuid, String emoteId)
```
Stops a specific emote on an entity.
| Parameter | Type | Description |
|---|---|---|
| `player` | `Player` | The target player. |
| `entityUuid` | `UUID` | The UUID of the entity. |
| `emoteId` | `String` | The emote identifier to stop. |
---
### stopAllEmotes
```java
void stopAllEmotes(Player player, UUID entityUuid)
```
Stops all emotes on an entity.
| Parameter | Type | Description |
|---|---|---|
| `player` | `Player` | The target player. |
| `entityUuid` | `UUID` | The UUID of the entity. |
---
### clearEmotes
```java
void clearEmotes(Player player)
```
Clears all emote state on the target player's client.
| Parameter | Type | Description |
|---|---|---|
| `player` | `Player` | The target player. |
---
### attachModel
```java
void attachModel(Player player, String attachmentId, UUID entityUuid, String itemId, String customModel, String bodyPart, float offsetX, float offsetY, float offsetZ, float scaleX, float scaleY, float scaleZ, float rotationX, float rotationY, float rotationZ)
```
Attaches a model to a body part of an entity as seen by the target player.
| Parameter | Type | Description |
|---|---|---|
| `player` | `Player` | The player who will see the attachment. |
| `attachmentId` | `String` | A unique identifier for this attachment. |
| `entityUuid` | `UUID` | The UUID of the entity to attach to. |
| `itemId` | `String` | The item identifier for the model. |
| `customModel` | `String` | The custom model data string. |
| `bodyPart` | `String` | The body part: `"head"`, `"hat"`, `"body"`, `"right_arm"`, `"left_arm"`, `"right_leg"`, or `"left_leg"`. |
| `offsetX` | `float` | X offset from the body part. |
| `offsetY` | `float` | Y offset from the body part. |
| `offsetZ` | `float` | Z offset from the body part. |
| `scaleX` | `float` | X scale factor. |
| `scaleY` | `float` | Y scale factor. |
| `scaleZ` | `float` | Z scale factor. |
| `rotationX` | `float` | X rotation in degrees. |
| `rotationY` | `float` | Y rotation in degrees. |
| `rotationZ` | `float` | Z rotation in degrees. |
---
### removeAttachment
```java
void removeAttachment(Player player, String attachmentId)
```
Removes a model attachment by its unique identifier.
| Parameter | Type | Description |
|---|---|---|
| `player` | `Player` | The target player. |
| `attachmentId` | `String` | The unique identifier of the attachment to remove. |
---
### clearAttachments
```java
void clearAttachments(Player player)
```
Clears all model attachments on the target player's client.
| Parameter | Type | Description |
|---|---|---|
| `player` | `Player` | The target player. |
---
### setVisualChain
```java
void setVisualChain(Player player, boolean enabled)
```
Enables or disables the visual chain leash effect on the target player's client. When enabled, leash connections render as chain blocks instead of the default leash rope.
| Parameter | Type | Description |
|---|---|---|
| `player` | `Player` | The target player. |
| `enabled` | `boolean` | `true` to enable chain rendering, `false` to disable. |
---
## Related Pages
- [[ILecternAPI]] — Access via `getEntityManager()`