Package org.bukkit.entity

# Interface Entity

All Superinterfaces:
  `Audience`, `CommandSender`, `HoverEventSource<HoverEvent.ShowEntity>`, `Metadatable`, `Nameable`, `Permissible`, `PersistentDataHolder`, `Pointered`, `ServerOperator`, `Sound.Emitter`

All Known Subinterfaces:
  `AbstractArrow`, `AbstractHorse`, `AbstractSkeleton`, `AbstractVillager`, `Ageable`, `Ambient`, `Animals`, `AreaEffectCloud`, `ArmorStand`, `Arrow`, `Axolotl`, `Bat`, `Bee`, `Blaze`, `Boat`, `Boss`, `Breedable`, `Cat`, `CaveSpider`, `ChestedHorse`, `Chicken`, `Cod`, `CommandMinecart`, `ComplexEntityPart`, `ComplexLivingEntity`, `Cow`, `Creature`, `Creeper`, `Damageable`, `Dolphin`, `Donkey`, `DragonFireball`, `Drowned`, `Egg`, `ElderGuardian`, `EnderCrystal`, `EnderDragon`, `EnderDragonPart`, `Enderman`, `Endermite`, `EnderPearl`, `EnderSignal`, `Evoker`, `EvokerFangs`, `ExperienceOrb`, `Explosive`, `ExplosiveMinecart`, `FallingBlock`, `Fireball`, `Firework`, `Fish`, `FishHook`, `Flying`, `Fox`, `Ghast`, `Giant`, `GlowItemFrame`, `GlowSquid`, `Goat`, `Golem`, `Guardian`, `Hanging`, `Hoglin`, `HopperMinecart`, `Horse`, `HumanEntity`, `Husk`, `Illager`, `Illusioner`, `IronGolem`, `Item`, `ItemFrame`, `LargeFireball`, `LeashHitch`, `LightningStrike`, `LingeringPotion`, `LivingEntity`, `Llama`, `LlamaSpit`, `MagmaCube`, `Marker`, `Minecart`, `Mob`, `Monster`, `Mule`, `MushroomCow`, `NPC`, `Ocelot`, `Painting`, `Panda`, `Parrot`, `Phantom`, `Pig`, `Piglin`, `PiglinAbstract`, `PiglinBrute`, `PigZombie`, `Pillager`, `Player`, `PolarBear`, `PoweredMinecart`, `Projectile`, `PufferFish`, `Rabbit`, `Raider`, `RangedEntity`, `Ravager`, `RideableMinecart`, `Salmon`, `Sheep`, `Shulker`, `ShulkerBullet`, `Silverfish`, `SizedFireball`, `Skeleton`, `SkeletonHorse`, `Slime`, `SmallFireball`, `Snowball`, `Snowman`, `SpawnerMinecart`, `SpectralArrow`, `Spellcaster`, `Spider`, `SplashPotion`, `Squid`, `Steerable`, `StorageMinecart`, `Stray`, `Strider`, `Tameable`, `ThrowableProjectile`, `ThrownExpBottle`, `ThrownPotion`, `TippedArrow`, `TNTPrimed`, `TraderLlama`, `Trident`, `TropicalFish`, `Turtle`, `Vehicle`, `Vex`, `Villager`, `Vindicator`, `WanderingTrader`, `WaterMob`, `Witch`, `Wither`, `WitherSkeleton`, `WitherSkull`, `Wolf`, `Zoglin`, `Zombie`, `ZombieHorse`, `ZombieVillager`

public interface Entity extends Metadatable, CommandSender, Nameable, PersistentDataHolder, HoverEventSource<HoverEvent.ShowEntity>, Sound.Emitter
Represents a base entity in the world

## Nested Class Summary

Nested Classes
Modifier and Type
Interface
Description
`static class`
`Entity.Spigot`

## Method Summary

Modifier and Type
Method
Description
`boolean`
`addPassenger(@NotNull Entity passenger)`
Add a passenger to the vehicle.
`boolean`
`addScoreboardTag(@NotNull String tag)`
Add a tag to this entity.
`default HoverEvent<HoverEvent.ShowEntity>`
`asHoverEvent(UnaryOperator<HoverEvent.ShowEntity> op)`
Creates a hover event with value derived from this object.
`boolean`
`eject()`
Eject any passenger.
`boolean`
`fromMobSpawner()`
Returns whether this entity was spawned from a mob spawner.
`@NotNull BoundingBox`
`getBoundingBox()`
Gets the entity's current bounding box.
`default @NotNull Chunk`
`getChunk()`
Gets the latest chunk an entity is currently or was in.
`int`
`getEntityId()`
Returns a unique id for this entity
`CreatureSpawnEvent.SpawnReason`
`getEntitySpawnReason()`
`@NotNull BlockFace`
`getFacing()`
Get the closest cardinal `BlockFace` direction an entity is currently facing.
`float`
`getFallDistance()`
Returns the distance this entity has fallen
`int`
`getFireTicks()`
Returns the entity's current fire ticks (ticks before the entity stops being on fire).
`int`
`getFreezeTicks()`
Returns the entity's current freeze ticks (amount of ticks the entity has been in powdered snow).
`double`
`getHeight()`
Gets the entity's height
`@Nullable EntityDamageEvent`
`getLastDamageCause()`
Retrieve the last `EntityDamageEvent` inflicted on this entity.
`@NotNull Location`
`getLocation()`
Gets the entity's current position
`@Nullable Location`
`getLocation(@Nullable Location loc)`
Stores the entity's current position in the provided Location object.
`int`
`getMaxFireTicks()`
Returns the entity's maximum fire ticks.
`int`
`getMaxFreezeTicks()`
Returns the entity's maximum freeze ticks (amount of ticks before it will be fully frozen)
`@NotNull List<Entity>`
`getNearbyEntities(double x, double y, double z)`
Returns a list of entities within a bounding box centered around this entity
`@Nullable Location`
`getOrigin()`
Gets the location where this entity originates from.
`@Nullable Entity`
`getPassenger()`
Deprecated.
entities may have multiple passengers, use `getPassengers()`
`@NotNull List<Entity>`
`getPassengers()`
Gets a list of passengers of this vehicle.
`@NotNull PistonMoveReaction`
`getPistonMoveReaction()`
Returns the reaction of the entity when moved by a piston.
`int`
`getPortalCooldown()`
Gets the period of time (in ticks) before this entity can use a portal.
`@NotNull Pose`
`getPose()`
Gets the entity's current pose.
`@NotNull Set<String>`
`getScoreboardTags()`
Returns a set of tags for this entity.
`@NotNull Server`
`getServer()`
Gets the `Server` that contains this Entity
`int`
`getTicksLived()`
Gets the amount of ticks this entity has lived for.
`@NotNull Set<Player>`
`getTrackedPlayers()`
Returns a set of `Players` within this entity's tracking range (players that can "see" this entity).
`@NotNull EntityType`
`getType()`
Get the type of the entity.
`@NotNull UUID`
`getUniqueId()`
Returns a unique and persistent id for this entity
`@Nullable Entity`
`getVehicle()`
Get the vehicle that this player is inside.
`@NotNull Vector`
`getVelocity()`
Gets this entity's current velocity
`double`
`getWidth()`
Gets the entity's width
`@NotNull World`
`getWorld()`
Gets the current world this entity resides in
`boolean`
`hasGravity()`
Returns whether gravity applies to this entity.
`boolean`
`isCustomNameVisible()`
Gets whether or not the mob's custom name is displayed client side.
`boolean`
`isDead()`
Returns true if this entity has been marked for removal.
`boolean`
`isEmpty()`
Check if a vehicle has passengers.
`boolean`
`isFrozen()`
Gets if the entity is fully frozen (it has been in powdered snow for max freeze ticks).
`boolean`
`isGlowing()`
Gets whether the entity is glowing or not.
`boolean`
`isInBubbleColumn()`
Check if entity is in bubble column
`boolean`
`isInLava()`
Check if entity is in lava
`boolean`
`isInRain()`
Check if entity is in rain
`boolean`
`isInsideVehicle()`
Returns whether this entity is inside a vehicle.
`boolean`
`isInvulnerable()`
Gets whether the entity is invulnerable or not.
`boolean`
`isInWater()`
Returns true if the entity is in water.
`boolean`
`isInWaterOrBubbleColumn()`
Check if entity is in water or bubble column
`boolean`
`isInWaterOrRain()`
Check if entity is in water or rain
`boolean`
`isInWaterOrRainOrBubbleColumn()`
Check if entity is in water or rain or bubble column
`boolean`
`isOnGround()`
Returns true if the entity is supported by a block.
`boolean`
`isPersistent()`
Returns true if the entity gets persisted.
`boolean`
`isSilent()`
Gets whether the entity is silent or not.
`boolean`
`isTicking()`
Check if entity is inside a ticking chunk
`boolean`
`isValid()`
Returns false if the entity has died or been despawned for some other reason.
`boolean`
`isVisualFire()`
Gets if the entity has visual fire (it will always appear to be on fire).
`boolean`
`leaveVehicle()`
Leave the current vehicle.
`void`
`playEffect(@NotNull EntityEffect type)`
Performs the specified `EntityEffect` for this entity.
`void`
`remove()`
Mark the entity's removal.
`boolean`
`removePassenger(@NotNull Entity passenger)`
Remove a passenger from the vehicle.
`boolean`
`removeScoreboardTag(@NotNull String tag)`
Removes a given tag from this entity.
`void`
`setCustomNameVisible(boolean flag)`
Sets whether or not to display the mob's custom name client side.
`void`
`setFallDistance(float distance)`
Sets the fall distance for this entity
`void`
`setFireTicks(int ticks)`
Sets the entity's current fire ticks (ticks before the entity stops being on fire).
`void`
`setFreezeTicks(int ticks)`
Sets the entity's current freeze ticks (amount of ticks the entity has been in powdered snow).
`void`
`setGlowing(boolean flag)`
Sets whether the entity has a team colored (default: white) glow.
`void`
`setGravity(boolean gravity)`
Sets whether gravity applies to this entity.
`void`
`setInvulnerable(boolean flag)`
Sets whether the entity is invulnerable or not.
`void`
`setLastDamageCause(@Nullable EntityDamageEvent event)`
Record the last `EntityDamageEvent` inflicted on this entity
`boolean`
`setPassenger(@NotNull Entity passenger)`
Deprecated.
entities may have multiple passengers, use `addPassenger(org.bukkit.entity.Entity)`
`void`
`setPersistent(boolean persistent)`
Sets whether or not the entity gets persisted.
`void`
`setPortalCooldown(int cooldown)`
Sets the period of time (in ticks) before this entity can use a portal.
`void`
`setRotation(float yaw, float pitch)`
Sets the entity's rotation.
`void`
`setSilent(boolean flag)`
Sets whether the entity is silent or not.
`void`
`setTicksLived(int value)`
Sets the amount of ticks this entity has lived for.
`void`
`setVelocity(@NotNull Vector velocity)`
Sets this entity's velocity in meters per tick
`void`
`setVisualFire(boolean fire)`
Sets if the entity has visual fire (it will always appear to be on fire).
`default boolean`
`spawnAt(@NotNull Location location)`
Spawns the entity in the world at the given `Location` with the default spawn reason.
`boolean`
`spawnAt(@NotNull Location location, CreatureSpawnEvent.SpawnReason reason)`
Spawns the entity in the world at the given `Location` with the reason given.
`@NotNull Entity.Spigot`
`spigot()`
`Component`
`teamDisplayName()`
Gets the entity's display name formatted with their team prefix/suffix and the entity's default hover/click events.
`boolean`
`teleport(@NotNull Entity destination)`
Teleports this entity to the target Entity.
`boolean`
`teleport(@NotNull Entity destination, @NotNull PlayerTeleportEvent.TeleportCause cause)`
Teleports this entity to the target Entity.
`boolean`
`teleport(@NotNull Location location)`
Teleports this entity to the given location.
`boolean`
`teleport(@NotNull Location location, @NotNull PlayerTeleportEvent.TeleportCause cause)`
Teleports this entity to the given location.
`default CompletableFuture<Boolean>`
`teleportAsync(@NotNull Location loc)`
Loads/Generates(in 1.13+) the Chunk asynchronously, and then teleports the entity when the chunk is ready.
`default CompletableFuture<Boolean>`
`teleportAsync(@NotNull Location loc, @NotNull PlayerTeleportEvent.TeleportCause cause)`
Loads/Generates(in 1.13+) the Chunk asynchronously, and then teleports the entity when the chunk is ready.

### Methods inherited from interface net.kyori.adventure.audience.Audience

`clearTitle, filterAudience, forEachAudience, hideBossBar, openBook, openBook, playSound, playSound, playSound, resetTitle, sendActionBar, sendActionBar, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendPlayerListFooter, sendPlayerListFooter, sendPlayerListHeader, sendPlayerListHeader, sendPlayerListHeaderAndFooter, sendPlayerListHeaderAndFooter, sendTitlePart, showBossBar, showTitle, stopSound, stopSound`

### Methods inherited from interface org.bukkit.command.CommandSender

`getName, name, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage`

### Methods inherited from interface net.kyori.adventure.text.event.HoverEventSource

`asHoverEvent`

### Methods inherited from interface org.bukkit.metadata.Metadatable

`getMetadata, hasMetadata, removeMetadata, setMetadata`

### Methods inherited from interface org.bukkit.Nameable

`customName, customName, getCustomName, setCustomName`

### Methods inherited from interface org.bukkit.permissions.Permissible

`addAttachment, addAttachment, addAttachment, addAttachment, getEffectivePermissions, hasPermission, hasPermission, isPermissionSet, isPermissionSet, permissionValue, permissionValue, recalculatePermissions, removeAttachment`

### Methods inherited from interface org.bukkit.persistence.PersistentDataHolder

`getPersistentDataContainer`

### Methods inherited from interface net.kyori.adventure.pointer.Pointered

`get, getOrDefault, getOrDefaultFrom, pointers`

### Methods inherited from interface org.bukkit.permissions.ServerOperator

`isOp, setOp`

## Method Details

### getLocation

@NotNull @NotNull Location getLocation()
Gets the entity's current position

Returns:
  a new copy of Location containing the position of this entity

### getLocation

@Contract("null -> null; !null -> !null") @Nullable @Nullable Location getLocation(@Nullable @Nullable Location loc)
Stores the entity's current position in the provided Location object.

If the provided Location is null this method does nothing and returns null.

Parameters:
  `loc` - the location to copy into
Returns:
  The Location object provided or null

### setVelocity

void setVelocity(@NotNull @NotNull Vector velocity)
Sets this entity's velocity in meters per tick

Parameters:
  `velocity` - New velocity to travel with

### getVelocity

@NotNull @NotNull Vector getVelocity()
Gets this entity's current velocity

Returns:
  Current traveling velocity of this entity

### getHeight

double getHeight()
Gets the entity's height

Returns:
  height of entity

### getWidth

double getWidth()
Gets the entity's width

Returns:
  width of entity

### getBoundingBox

@NotNull @NotNull BoundingBox getBoundingBox()
Gets the entity's current bounding box.

The returned bounding box reflects the entity's current location and size.

Returns:
  the entity's current bounding box

### isOnGround

boolean isOnGround()
Returns true if the entity is supported by a block. This value is a state updated by the server and is not recalculated unless the entity moves.

Returns:
  True if entity is on ground.
See Also:
  - `Player.isOnGround()`

### isInWater

boolean isInWater()
Returns true if the entity is in water.

Returns:
  `true` if the entity is in water.

### getWorld

@NotNull @NotNull World getWorld()
Gets the current world this entity resides in

Returns:
  World

### setRotation

void setRotation(float yaw, float pitch)
Sets the entity's rotation.

Note that if the entity is affected by AI, it may override this rotation.

Parameters:
  `yaw` - the yaw
  `pitch` - the pitch
Throws:
  `UnsupportedOperationException` - if used for players

### teleport

boolean teleport(@NotNull @NotNull Location location)
Teleports this entity to the given location. If this entity is riding a vehicle, it will be dismounted prior to teleportation.

Parameters:
  `location` - New location to teleport this entity to
Returns:
  `true` if the teleport was successful

### teleport

boolean teleport(@NotNull @NotNull Location location, @NotNull @NotNull PlayerTeleportEvent.TeleportCause cause)
Teleports this entity to the given location. If this entity is riding a vehicle, it will be dismounted prior to teleportation.

Parameters:
  `location` - New location to teleport this entity to
  `cause` - The cause of this teleportation
Returns:
  `true` if the teleport was successful

### teleport

boolean teleport(@NotNull @NotNull Entity destination)
Teleports this entity to the target Entity. If this entity is riding a vehicle, it will be dismounted prior to teleportation.

Parameters:
  `destination` - Entity to teleport this entity to
Returns:
  `true` if the teleport was successful

### teleport

boolean teleport(@NotNull @NotNull Entity destination, @NotNull @NotNull PlayerTeleportEvent.TeleportCause cause)
Teleports this entity to the target Entity. If this entity is riding a vehicle, it will be dismounted prior to teleportation.

Parameters:
  `destination` - Entity to teleport this entity to
  `cause` - The cause of this teleportation
Returns:
  `true` if the teleport was successful

### teleportAsync

@NotNull default CompletableFuture<Boolean> teleportAsync(@NotNull @NotNull Location loc)
Loads/Generates(in 1.13+) the Chunk asynchronously, and then teleports the entity when the chunk is ready.

Parameters:
  `loc` - Location to teleport to
Returns:
  A future that will be completed with the result of the teleport

### teleportAsync

@NotNull default CompletableFuture<Boolean> teleportAsync(@NotNull @NotNull Location loc, @NotNull @NotNull PlayerTeleportEvent.TeleportCause cause)
Loads/Generates(in 1.13+) the Chunk asynchronously, and then teleports the entity when the chunk is ready.

Parameters:
  `loc` - Location to teleport to
  `cause` - Reason for teleport
Returns:
  A future that will be completed with the result of the teleport

### getNearbyEntities

@NotNull @NotNull List<Entity> getNearbyEntities(double x, double y, double z)
Returns a list of entities within a bounding box centered around this entity

Parameters:
  `x` - 1/2 the size of the box along x axis
  `y` - 1/2 the size of the box along y axis
  `z` - 1/2 the size of the box along z axis
Returns:
  `List<Entity>` List of entities nearby

### getEntityId

int getEntityId()
Returns a unique id for this entity

Returns:
  Entity id

### getFireTicks

int getFireTicks()
Returns the entity's current fire ticks (ticks before the entity stops being on fire).

Returns:
  int fireTicks

### getMaxFireTicks

int getMaxFireTicks()
Returns the entity's maximum fire ticks.

Returns:
  int maxFireTicks

### setFireTicks

void setFireTicks(int ticks)
Sets the entity's current fire ticks (ticks before the entity stops being on fire).

Parameters:
  `ticks` - Current ticks remaining

### setVisualFire

void setVisualFire(boolean fire)
Sets if the entity has visual fire (it will always appear to be on fire).

Parameters:
  `fire` - whether visual fire is enabled

### isVisualFire

boolean isVisualFire()
Gets if the entity has visual fire (it will always appear to be on fire).

Returns:
  whether visual fire is enabled

### getFreezeTicks

int getFreezeTicks()
Returns the entity's current freeze ticks (amount of ticks the entity has been in powdered snow).

Returns:
  int freeze ticks

### getMaxFreezeTicks

int getMaxFreezeTicks()
Returns the entity's maximum freeze ticks (amount of ticks before it will be fully frozen)

Returns:
  int max freeze ticks

### setFreezeTicks

void setFreezeTicks(int ticks)
Sets the entity's current freeze ticks (amount of ticks the entity has been in powdered snow).

Parameters:
  `ticks` - Current ticks

### isFrozen

boolean isFrozen()
Gets if the entity is fully frozen (it has been in powdered snow for max freeze ticks).

Returns:
  freeze status

### remove

void remove()
Mark the entity's removal.

### isDead

boolean isDead()
Returns true if this entity has been marked for removal.

Returns:
  True if it is dead.

### isValid

boolean isValid()
Returns false if the entity has died or been despawned for some other reason.

Returns:
  True if valid.

### getServer

@NotNull @NotNull Server getServer()
Gets the `Server` that contains this Entity

Specified by:
  `getServer` in interface `CommandSender`
Returns:
  Server instance running this Entity

### isPersistent

boolean isPersistent()
Returns true if the entity gets persisted.

By default all entities are persistent. An entity will also not get persisted, if it is riding an entity that is not persistent.

The persistent flag on players controls whether or not to save their playerdata file when they quit. If a player is directly or indirectly riding a non-persistent entity, the vehicle at the root and all its passengers won't get persisted.

This should not be confused with `LivingEntity.setRemoveWhenFarAway(boolean)` which controls despawning of living entities.

Returns:
  true if this entity is persistent

### setPersistent

void setPersistent(boolean persistent)
Sets whether or not the entity gets persisted.

Parameters:
  `persistent` - the persistence status
See Also:
  - `isPersistent()`

### getPassenger

@Deprecated @Nullable @Nullable Entity getPassenger()
Deprecated.
entities may have multiple passengers, use `getPassengers()`
Gets the primary passenger of a vehicle. For vehicles that could have multiple passengers, this will only return the primary passenger.

Returns:
  an entity

### setPassenger

@Deprecated boolean setPassenger(@NotNull @NotNull Entity passenger)
Deprecated.
entities may have multiple passengers, use `addPassenger(org.bukkit.entity.Entity)`
Set the passenger of a vehicle.

Parameters:
  `passenger` - The new passenger.
Returns:
  false if it could not be done for whatever reason

### getPassengers

@NotNull @NotNull List<Entity> getPassengers()
Gets a list of passengers of this vehicle.

The returned list will not be directly linked to the entity's current passengers, and no guarantees are made as to its mutability.

Returns:
  list of entities corresponding to current passengers.

### addPassenger

boolean addPassenger(@NotNull @NotNull Entity passenger)
Add a passenger to the vehicle.

Parameters:
  `passenger` - The passenger to add
Returns:
  false if it could not be done for whatever reason

### removePassenger

boolean removePassenger(@NotNull @NotNull Entity passenger)
Remove a passenger from the vehicle.

Parameters:
  `passenger` - The passenger to remove
Returns:
  false if it could not be done for whatever reason

### isEmpty

boolean isEmpty()
Check if a vehicle has passengers.

Returns:
  True if the vehicle has no passengers.

### eject

boolean eject()
Eject any passenger.

Returns:
  True if there was a passenger.

### getFallDistance

float getFallDistance()
Returns the distance this entity has fallen

Returns:
  The distance.

### setFallDistance

void setFallDistance(float distance)
Sets the fall distance for this entity

Parameters:
  `distance` - The new distance.

### setLastDamageCause

void setLastDamageCause(@Nullable @Nullable EntityDamageEvent event)
Record the last `EntityDamageEvent` inflicted on this entity

Parameters:
  `event` - a `EntityDamageEvent`

### getLastDamageCause

@Nullable @Nullable EntityDamageEvent getLastDamageCause()
Retrieve the last `EntityDamageEvent` inflicted on this entity. This event may have been cancelled.

Returns:
  the last known `EntityDamageEvent` or null if hitherto unharmed

### getUniqueId

@NotNull @NotNull UUID getUniqueId()
Returns a unique and persistent id for this entity

Returns:
  unique id

### getTicksLived

int getTicksLived()
Gets the amount of ticks this entity has lived for.

This is the equivalent to "age" in entities.

Returns:
  Age of entity

### setTicksLived

void setTicksLived(int value)
Sets the amount of ticks this entity has lived for.

This is the equivalent to "age" in entities. May not be less than one tick.

Parameters:
  `value` - Age of entity

### playEffect

void playEffect(@NotNull @NotNull EntityEffect type)
Performs the specified `EntityEffect` for this entity.

This will be viewable to all players near the entity.

If the effect is not applicable to this class of entity, it will not play.

Parameters:
  `type` - Effect to play.

### getType

@NotNull @NotNull EntityType getType()
Get the type of the entity.

Returns:
  The entity type.

### isInsideVehicle

boolean isInsideVehicle()
Returns whether this entity is inside a vehicle.

Returns:
  True if the entity is in a vehicle.

### leaveVehicle

boolean leaveVehicle()
Leave the current vehicle. If the entity is currently in a vehicle (and is removed from it), true will be returned, otherwise false will be returned.

Returns:
  True if the entity was in a vehicle.

### getVehicle

@Nullable @Nullable Entity getVehicle()
Get the vehicle that this player is inside. If there is no vehicle, null will be returned.

Returns:
  The current vehicle.

### setCustomNameVisible

void setCustomNameVisible(boolean flag)
Sets whether or not to display the mob's custom name client side. The name will be displayed above the mob similarly to a player.

This value has no effect on players, they will always display their name.

Parameters:
  `flag` - custom name or not

### isCustomNameVisible

boolean isCustomNameVisible()
Gets whether or not the mob's custom name is displayed client side.

This value has no effect on players, they will always display their name.

Returns:
  if the custom name is displayed

### setGlowing

void setGlowing(boolean flag)
Sets whether the entity has a team colored (default: white) glow. nb: this refers to the 'Glowing' entity property, not whether a glowing potion effect is applied

Parameters:
  `flag` - if the entity is glowing

### isGlowing

boolean isGlowing()
Gets whether the entity is glowing or not. nb: this refers to the 'Glowing' entity property, not whether a glowing potion effect is applied

Returns:
  whether the entity is glowing

### setInvulnerable

void setInvulnerable(boolean flag)
Sets whether the entity is invulnerable or not.

When an entity is invulnerable it can only be damaged by players in creative mode.

Parameters:
  `flag` - if the entity is invulnerable

### isInvulnerable

boolean isInvulnerable()
Gets whether the entity is invulnerable or not.

Returns:
  whether the entity is

### isSilent

boolean isSilent()
Gets whether the entity is silent or not.

Returns:
  whether the entity is silent.

### setSilent

void setSilent(boolean flag)
Sets whether the entity is silent or not.

When an entity is silent it will not produce any sound.

Parameters:
  `flag` - if the entity is silent

### hasGravity

boolean hasGravity()
Returns whether gravity applies to this entity.

Returns:
  whether gravity applies

### setGravity

void setGravity(boolean gravity)
Sets whether gravity applies to this entity.

Parameters:
  `gravity` - whether gravity should apply

### getPortalCooldown

int getPortalCooldown()
Gets the period of time (in ticks) before this entity can use a portal.

Returns:
  portal cooldown ticks

### setPortalCooldown

void setPortalCooldown(int cooldown)
Sets the period of time (in ticks) before this entity can use a portal.

Parameters:
  `cooldown` - portal cooldown ticks

### getScoreboardTags

@NotNull @NotNull Set<String> getScoreboardTags()
Returns a set of tags for this entity.
Entities can have no more than 1024 tags.

Returns:
  a set of tags for this entity

### addScoreboardTag

boolean addScoreboardTag(@NotNull @NotNull String tag)
Add a tag to this entity.
Entities can have no more than 1024 tags.

Parameters:
  `tag` - the tag to add
Returns:
  true if the tag was successfully added

### removeScoreboardTag

boolean removeScoreboardTag(@NotNull @NotNull String tag)
Removes a given tag from this entity.

Parameters:
  `tag` - the tag to remove
Returns:
  true if the tag was successfully removed

### getPistonMoveReaction

@NotNull @NotNull PistonMoveReaction getPistonMoveReaction()
Returns the reaction of the entity when moved by a piston.

Returns:
  reaction

### getFacing

@NotNull @NotNull BlockFace getFacing()
Get the closest cardinal `BlockFace` direction an entity is currently facing.
This will not return any non-cardinal directions such as `BlockFace.UP` or `BlockFace.DOWN`.
`Hanging` entities will override this call and thus their behavior may be different.

Returns:
  the entity's current cardinal facing.
See Also:
  - `Hanging`
  - `Directional.getFacing()`

### getPose

@NotNull @NotNull Pose getPose()
Gets the entity's current pose. Note that the pose is only updated at the end of a tick, so may be inconsistent with other methods. eg `Player.isSneaking()` being true does not imply the current pose will be `Pose.SNEAKING`

Returns:
  current pose

### spigot

@NotNull @NotNull Entity.Spigot spigot()

Specified by:
  `spigot` in interface `CommandSender`

### teamDisplayName

@NotNull Component teamDisplayName()
Gets the entity's display name formatted with their team prefix/suffix and the entity's default hover/click events.

Returns:
  the team display name

### asHoverEvent

@NotNull default HoverEvent<HoverEvent.ShowEntity> asHoverEvent(@NotNull UnaryOperator<HoverEvent.ShowEntity> op)
Description copied from interface: `net.kyori.adventure.text.event.HoverEventSource`
Creates a hover event with value derived from this object.

The event value will be passed through the provided callback to allow transforming the original value of the event.

Specified by:
  `asHoverEvent` in interface `HoverEventSource<HoverEvent.ShowEntity>`
Parameters:
  `op` - transformation on value
Returns:
  a hover event

### getOrigin

@Nullable @Nullable Location getOrigin()
Gets the location where this entity originates from.

This value can be null if the entity hasn't yet been added to the world.

Returns:
  Location where entity originates or null if not yet added

### fromMobSpawner

boolean fromMobSpawner()
Returns whether this entity was spawned from a mob spawner.

Returns:
  True if entity spawned from a mob spawner

### getChunk

@NotNull default @NotNull Chunk getChunk()
Gets the latest chunk an entity is currently or was in.

Returns:
  The current, or most recent chunk if the entity is invalid (which may load the chunk)

### getEntitySpawnReason

@NotNull CreatureSpawnEvent.SpawnReason getEntitySpawnReason()

Returns:
  The `CreatureSpawnEvent.SpawnReason` that initially spawned this entity.

### isInRain

boolean isInRain()
Check if entity is in rain

### isInBubbleColumn

boolean isInBubbleColumn()
Check if entity is in bubble column

### isInWaterOrRain

boolean isInWaterOrRain()
Check if entity is in water or rain

### isInWaterOrBubbleColumn

boolean isInWaterOrBubbleColumn()
Check if entity is in water or bubble column

### isInWaterOrRainOrBubbleColumn

boolean isInWaterOrRainOrBubbleColumn()
Check if entity is in water or rain or bubble column

### isInLava

boolean isInLava()
Check if entity is in lava

### isTicking

boolean isTicking()
Check if entity is inside a ticking chunk

### getTrackedPlayers

@NotNull @NotNull Set<Player> getTrackedPlayers()
Returns a set of `Players` within this entity's tracking range (players that can "see" this entity).

Returns:
  players in tracking range

### spawnAt

default boolean spawnAt(@NotNull @NotNull Location location)
Spawns the entity in the world at the given `Location` with the default spawn reason.

This will not spawn the entity if the entity is already spawned or has previously been despawned.

Also, this method will fire the same events as a normal entity spawn.

Parameters:
  `location` - The location to spawn the entity at.
Returns:
  Whether the entity was successfully spawned.

### spawnAt

boolean spawnAt(@NotNull @NotNull Location location, @NotNull CreatureSpawnEvent.SpawnReason reason)
Spawns the entity in the world at the given `Location` with the reason given.

This will not spawn the entity if the entity is already spawned or has previously been despawned.

Also, this method will fire the same events as a normal entity spawn.

Parameters:
  `location` - The location to spawn the entity at.
  `reason` - The reason for the entity being spawned.
Returns:
  Whether the entity was successfully spawned.