Interface LivingEntity
- All Superinterfaces:
Attributable,Audience,CommandSender,Damageable,Entity,Frictional,HoverEventSource<HoverEvent.ShowEntity>,Metadatable,Nameable,Permissible,PersistentDataHolder,Pointered,ProjectileSource,ServerOperator,Sound.Emitter
- All Known Subinterfaces:
AbstractHorse,AbstractSkeleton,AbstractVillager,Ageable,Allay,Ambient,Animals,ArmorStand,Axolotl,Bat,Bee,Blaze,Breedable,Camel,Cat,CaveSpider,ChestedHorse,Chicken,Cod,CollarColorable,ComplexLivingEntity,Cow,Creature,Creeper,Dolphin,Donkey,Drowned,ElderGuardian,EnderDragon,Enderman,Endermite,Enemy,Evoker,Fish,Flying,Fox,Frog,Ghast,Giant,GlowSquid,Goat,Golem,Guardian,Hoglin,Horse,HumanEntity,Husk,Illager,Illusioner,IronGolem,Llama,MagmaCube,Mob,Monster,Mule,MushroomCow,NPC,Ocelot,Panda,Parrot,Phantom,Pig,Piglin,PiglinAbstract,PiglinBrute,PigZombie,Pillager,Player,PolarBear,PufferFish,Rabbit,Raider,RangedEntity,Ravager,Salmon,SchoolableFish,Sheep,Shulker,Silverfish,Skeleton,SkeletonHorse,Slime,Sniffer,Snowman,Spellcaster,Spider,Squid,Steerable,Stray,Strider,Tadpole,Tameable,TraderLlama,TropicalFish,Turtle,Vex,Villager,Vindicator,WanderingTrader,Warden,WaterMob,Witch,Wither,WitherSkeleton,Wolf,Zoglin,Zombie,ZombieHorse,ZombieVillager
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.bukkit.entity.Entity
Entity.Spigot -
Method Summary
Modifier and TypeMethodDescriptionbooleanaddPotionEffect(@NotNull PotionEffect effect) Adds the givenPotionEffectto the living entity.booleanaddPotionEffect(@NotNull PotionEffect effect, boolean force) Deprecated.no need to force since multiple effects of the same type are now supported.booleanaddPotionEffects(@NotNull Collection<PotionEffect> effects) Attempts to add all of the givenPotionEffectto the living entity.voidMakes this entity attack the given entity with a melee attack.voidNotifies all clients tracking this entity that the item in the slot of this entity broke.voidbroadcastSlotBreak(@NotNull EquipmentSlot slot, @NotNull Collection<Player> players) Notifies specified players that the item in the slot of this entity broke.booleanReturns true if this entity can breathe underwater and will not take suffocation damage when its air supply reaches zero.voidInterrupts any ongoing active "usage" or consumption or an item.booleanRemoves all active potion effects for this entity.voiddamageItemStack(@NotNull EquipmentSlot slot, int amount) Damages the itemstack in this slot by the specified amount.damageItemStack(@NotNull ItemStack stack, int amount) Damages the itemstack in this slot by the specified amount.Get's the item being actively "used" or consumed.Returns all currently activePotionEffects on the living entity.intGets the time in ticks until the next arrow leaves the entity's body.intGets the amount of arrows in an entity's body.intDeprecated.intGets the time in ticks until the next bee stinger leaves the entity's body.intGets the amount of bee stingers in an entity's body.floatGets entity body yawbooleanGets if the living entity can pick up items.Get the category to which this entity belongs.Gets a mutable set of UUIDs of the entities which are exempt from the entity's collidable rule and which's collision with this entity will behave the opposite of it.Get theSoundthis entity will make on death.getDrinkingSound(@NotNull ItemStack itemStack) getEatingSound(@NotNull ItemStack itemStack) Gets the inventory with the equipment worn by the living entity.doubleGets the height of the living entity's eyes above its Location.doublegetEyeHeight(boolean ignorePose) Gets the height of the living entity's eyes above its Location.Get a Location detailing the current eye position of the living entity.getFallDamageSound(int fallHeight) Get theSoundthis entity will make when falling from the given height (in blocks).Get theSoundthis entity will make when falling from a large height.Get theSoundthis entity will make when falling from a small height.Gets the hand raised by this living entity.intGet how long the players hands have been raised (Charging Bow attack, using a potion, etc)floatGets player hurt directionGet theSoundthis entity will make when damaged.intGet's remaining time a player needs to keep hands raised with an item to finish using it.Gets the player identified as the killer of the living entity.doubleReturns the living entity's last damage taken in the current no damage ticks time.getLastTwoTargetBlocks(@Nullable Set<Material> transparent, int maxDistance) Gets the last two blocks along the living entity's line of sight.Gets the entity that is currently leading this entity.getLineOfSight(@Nullable Set<Material> transparent, int maxDistance) Gets all blocks along the living entity's line of sight.intReturns the maximum amount of air the living entity can have, in ticks.intReturns the living entity's current maximum no damage ticks.<T> TReturns the value of the memory specified.intGet the ticks that this entity has performed no action.intReturns the living entity's current no damage ticks.Returns the activePotionEffectof the specified type.intReturns the amount of air that the living entity has remaining, in ticks.booleanReturns if the living entity despawns when away from players or not.intGet the delay (in ticks) before blocking is effective for this entitygetTargetBlock(int maxDistance) Deprecated, for removal: This API element is subject to removal in a future version.getTargetBlock(int maxDistance, TargetBlockInfo.FluidMode fluidMode) Deprecated, for removal: This API element is subject to removal in a future version.getTargetBlock(@Nullable Set<Material> transparent, int maxDistance) Gets the block that the living entity has targeted.getTargetBlockExact(int maxDistance) Gets the block that the living entity has targeted.getTargetBlockExact(int maxDistance, @NotNull FluidCollisionMode fluidCollisionMode) Gets the block that the living entity has targeted.default BlockFacegetTargetBlockFace(int maxDistance) Gets the blockface of that block that the living entity has targeted, ignoring fluidsgetTargetBlockFace(int maxDistance, @NotNull FluidCollisionMode fluidMode) Gets the blockface of that block that the living entity has targetedgetTargetBlockFace(int maxDistance, TargetBlockInfo.FluidMode fluidMode) Deprecated, for removal: This API element is subject to removal in a future version.default TargetBlockInfogetTargetBlockInfo(int maxDistance) Deprecated, for removal: This API element is subject to removal in a future version.getTargetBlockInfo(int maxDistance, TargetBlockInfo.FluidMode fluidMode) Deprecated, for removal: This API element is subject to removal in a future version.getTargetEntity(int maxDistance) Gets information about the entity being targetedgetTargetEntity(int maxDistance, boolean ignoreBlocks) Gets information about the entity being targeteddefault TargetEntityInfogetTargetEntityInfo(int maxDistance) Deprecated, for removal: This API element is subject to removal in a future version.getTargetEntityInfo(int maxDistance, boolean ignoreBlocks) Deprecated, for removal: This API element is subject to removal in a future version.booleanhasAI()Checks whether an entity has AI.booleanhasLineOfSight(@NotNull Entity other) Checks whether the living entity has block line of sight to another.booleanhasLineOfSight(@NotNull Location location) Checks whether the living entity has block line of sight to the given block.booleanReturns whether the living entity already has an existing effect of the givenPotionEffectTypeapplied to it.booleanGets if the entity is climbing.booleanGets if this entity is subject to collisions with other entities.booleanChecks to see if an entity is gliding, such as using an Elytra.booleanWhether or not this entity is using or charging an attack (Bow pulled back, drinking potion, eating food)booleanGets whether the entity is invisible or not.booleanGet entity jump state.booleanReturns whether the entity is currently leashed.booleanChecks to see if an entity is currently using the Riptide enchantment.booleanReturns whether this entity is slumbering.booleanChecks to see if an entity is swimming.voidknockback(double strength, double directionX, double directionZ) Knocks back this entity from a specific direction with a specified strength.voidplayHurtAnimation(float yaw) Makes this entity flash red as if they were damaged.default voidPlays pickup item animation towards this entity.voidplayPickupItemAnimation(@NotNull Item item, int quantity) Plays pickup item animation towards this entity.rayTraceBlocks(double maxDistance) Performs a ray trace that provides information on the targeted block.rayTraceBlocks(double maxDistance, @NotNull FluidCollisionMode fluidCollisionMode) Performs a ray trace that provides information on the targeted block.default @Nullable RayTraceResultrayTraceEntities(int maxDistance) Gets information about the entity being targetedrayTraceEntities(int maxDistance, boolean ignoreBlocks) Gets information about the entity being targetedvoidRemoves any effects present of the givenPotionEffectType.voidsetAI(boolean ai) Sets whether an entity will have AI.voidsetArrowCooldown(int ticks) Sets the time in ticks until the next arrow leaves the entity's body.default voidsetArrowsInBody(int count) Set the amount of arrows in the entity's body.voidsetArrowsInBody(int count, boolean fireEvent) Set the amount of arrows in the entity's body.voidsetArrowsStuck(int arrows) Deprecated.voidsetBeeStingerCooldown(int ticks) Sets the time in ticks until the next stinger leaves the entity's body.voidsetBeeStingersInBody(int count) Set the amount of bee stingers in the entity's body.voidsetBodyYaw(float bodyYaw) Sets entity body yawvoidsetCanPickupItems(boolean pickup) Sets whether or not the living entity can pick up items.voidsetCollidable(boolean collidable) Set if this entity will be subject to collisions with other entities.voidsetGliding(boolean gliding) Makes entity start or stop gliding.voidsetHurtDirection(float hurtDirection) Deprecated.voidsetInvisible(boolean invisible) Sets whether the entity is invisible or not.voidsetJumping(boolean jumping) Set entity jump statevoidSets the player identified as the killer of the living entity.voidsetLastDamage(double damage) Sets the damage dealt within the current no damage ticks time period.booleansetLeashHolder(@Nullable Entity holder) Sets the leash on this entity to be held by the supplied entity.voidsetMaximumAir(int ticks) Sets the maximum amount of air the living entity can have, in ticks.voidsetMaximumNoDamageTicks(int ticks) Sets the living entity's current maximum no damage ticks.<T> voidSets the value of the memory specified.voidsetNoActionTicks(int ticks) Set the ticks that this entity has performed no action.voidsetNoDamageTicks(int ticks) Sets the living entity's current no damage ticks.voidsetRemainingAir(int ticks) Sets the amount of air that the living entity has remaining, in ticks.voidsetRemoveWhenFarAway(boolean remove) Sets whether or not the living entity despawns when away from players or not.voidsetShieldBlockingDelay(int delay) Set the delay (in ticks) before blocking is effective for this entityvoidsetSwimming(boolean swimming) Deprecated.This does nothing and is immediately reverted by the server, in the next tickdefault voidswingHand(EquipmentSlot hand) Makes this entity swing their hand.voidMakes this entity swing their main hand.voidMakes this entity swing their off hand.Methods inherited from interface org.bukkit.attribute.Attributable
getAttribute, registerAttributeMethods inherited from interface net.kyori.adventure.audience.Audience
clearTitle, deleteMessage, deleteMessage, filterAudience, forEachAudience, hideBossBar, openBook, openBook, playSound, playSound, playSound, resetTitle, sendActionBar, sendActionBar, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendPlayerListFooter, sendPlayerListFooter, sendPlayerListHeader, sendPlayerListHeader, sendPlayerListHeaderAndFooter, sendPlayerListHeaderAndFooter, sendTitlePart, showBossBar, showTitle, stopSound, stopSoundMethods inherited from interface org.bukkit.command.CommandSender
getName, name, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendPlainMessage, sendRichMessage, sendRichMessageMethods inherited from interface org.bukkit.entity.Damageable
damage, damage, getAbsorptionAmount, getHealth, getMaxHealth, resetMaxHealth, setAbsorptionAmount, setHealth, setMaxHealthMethods inherited from interface org.bukkit.entity.Entity
addPassenger, addScoreboardTag, asHoverEvent, collidesAt, eject, fromMobSpawner, getBoundingBox, getChunk, getEntityId, getEntitySpawnReason, getFacing, getFallDistance, getFireTicks, getFreezeTicks, getHeight, getLastDamageCause, getLocation, getLocation, getMaxFireTicks, getMaxFreezeTicks, getNearbyEntities, getOrigin, getPassenger, getPassengers, getPistonMoveReaction, getPitch, getPortalCooldown, getPose, getScheduler, getScoreboardEntryName, getScoreboardTags, getServer, getSpawnCategory, getSwimHighSpeedSplashSound, getSwimSound, getSwimSplashSound, getTicksLived, getTrackedPlayers, getType, getUniqueId, getVehicle, getVelocity, getWidth, getWorld, getX, getY, getYaw, getZ, hasFixedPose, hasGravity, isCustomNameVisible, isDead, isEmpty, isFreezeTickingLocked, isFrozen, isGlowing, isInBubbleColumn, isInLava, isInPowderedSnow, isInRain, isInsideVehicle, isInvulnerable, isInWater, isInWaterOrBubbleColumn, isInWaterOrRain, isInWaterOrRainOrBubbleColumn, isOnGround, isPersistent, isSilent, isSneaking, isTicking, isUnderWater, isValid, isVisibleByDefault, isVisualFire, leaveVehicle, lockFreezeTicks, playEffect, remove, removePassenger, removeScoreboardTag, setCustomNameVisible, setFallDistance, setFireTicks, setFreezeTicks, setGlowing, setGravity, setInvulnerable, setLastDamageCause, setPassenger, setPersistent, setPortalCooldown, setPose, setPose, setRotation, setSilent, setSneaking, setTicksLived, setVelocity, setVisibleByDefault, setVisualFire, spawnAt, spawnAt, spigot, teamDisplayName, teleport, teleport, teleport, teleport, teleport, teleport, teleportAsync, teleportAsync, wouldCollideUsingMethods inherited from interface io.papermc.paper.entity.Frictional
getFrictionState, setFrictionStateMethods inherited from interface net.kyori.adventure.text.event.HoverEventSource
asHoverEventMethods inherited from interface org.bukkit.metadata.Metadatable
getMetadata, hasMetadata, removeMetadata, setMetadataMethods inherited from interface org.bukkit.Nameable
customName, customName, getCustomName, setCustomNameMethods inherited from interface org.bukkit.permissions.Permissible
addAttachment, addAttachment, addAttachment, addAttachment, getEffectivePermissions, hasPermission, hasPermission, isPermissionSet, isPermissionSet, permissionValue, permissionValue, recalculatePermissions, removeAttachmentMethods inherited from interface org.bukkit.persistence.PersistentDataHolder
getPersistentDataContainerMethods inherited from interface net.kyori.adventure.pointer.Pointered
get, getOrDefault, getOrDefaultFrom, pointersMethods inherited from interface org.bukkit.projectiles.ProjectileSource
launchProjectile, launchProjectile, launchProjectileMethods inherited from interface org.bukkit.permissions.ServerOperator
isOp, setOp
-
Method Details
-
getEyeHeight
double getEyeHeight()Gets the height of the living entity's eyes above its Location.- Returns:
- height of the living entity's eyes above its location
-
getEyeHeight
double getEyeHeight(boolean ignorePose) Gets the height of the living entity's eyes above its Location.- Parameters:
ignorePose- if set to true, the effects of pose changes, eg sneaking and gliding will be ignored- Returns:
- height of the living entity's eyes above its location
-
getEyeLocation
Get a Location detailing the current eye position of the living entity.- Returns:
- a location at the eyes of the living entity
-
getLineOfSight
@NotNull @NotNull List<Block> getLineOfSight(@Nullable @Nullable Set<Material> transparent, int maxDistance) Gets all blocks along the living entity's line of sight.This list contains all blocks from the living entity's eye position to target inclusive. This method considers all blocks as 1x1x1 in size.
- Parameters:
transparent- Set containing all transparent block Materials (set to null for only air)maxDistance- this is the maximum distance to scan (may be limited by server by at least 100 blocks, no less)- Returns:
- list containing all blocks along the living entity's line of sight
-
getTargetBlock
@NotNull @NotNull Block getTargetBlock(@Nullable @Nullable Set<Material> transparent, int maxDistance) Gets the block that the living entity has targeted.This method considers all blocks as 1x1x1 in size. To take exact block collision shapes into account, see
getTargetBlockExact(int, FluidCollisionMode).- Parameters:
transparent- Set containing all transparent block Materials (set to null for only air)maxDistance- this is the maximum distance to scan (may be limited by server by at least 100 blocks, no less)- Returns:
- block that the living entity has targeted
-
getTargetBlock
Deprecated, for removal: This API element is subject to removal in a future version.Gets the block that the living entity has targeted, ignoring fluids- Parameters:
maxDistance- this is the maximum distance to scan- Returns:
- block that the living entity has targeted, or null if no block is within maxDistance
-
getTargetBlock
@Deprecated(forRemoval=true) @Nullable @Nullable Block getTargetBlock(int maxDistance, @NotNull TargetBlockInfo.FluidMode fluidMode) Deprecated, for removal: This API element is subject to removal in a future version.Gets the block that the living entity has targeted- Parameters:
maxDistance- this is the maximum distance to scanfluidMode- whether to check fluids or not- Returns:
- block that the living entity has targeted, or null if no block is within maxDistance
-
getTargetBlockFace
Gets the blockface of that block that the living entity has targeted, ignoring fluids- Parameters:
maxDistance- this is the maximum distance to scan- Returns:
- blockface of the block that the living entity has targeted, or null if no block is targeted
-
getTargetBlockFace
@Deprecated(forRemoval=true) @Nullable BlockFace getTargetBlockFace(int maxDistance, @NotNull TargetBlockInfo.FluidMode fluidMode) Deprecated, for removal: This API element is subject to removal in a future version.Gets the blockface of that block that the living entity has targeted- Parameters:
maxDistance- this is the maximum distance to scanfluidMode- whether to check fluids or not- Returns:
- blockface of the block that the living entity has targeted, or null if no block is targeted
-
getTargetBlockFace
@Nullable BlockFace getTargetBlockFace(int maxDistance, @NotNull @NotNull FluidCollisionMode fluidMode) Gets the blockface of that block that the living entity has targeted- Parameters:
maxDistance- this is the maximum distance to scanfluidMode- whether to check fluids or not- Returns:
- blockface of the block that the living entity has targeted, or null if no block is targeted
-
getTargetBlockInfo
Deprecated, for removal: This API element is subject to removal in a future version.Gets information about the block the living entity has targeted, ignoring fluids- Parameters:
maxDistance- this is the maximum distance to scan- Returns:
- TargetBlockInfo about the block the living entity has targeted, or null if no block is targeted
-
getTargetBlockInfo
@Deprecated(forRemoval=true) @Nullable TargetBlockInfo getTargetBlockInfo(int maxDistance, @NotNull TargetBlockInfo.FluidMode fluidMode) Deprecated, for removal: This API element is subject to removal in a future version.Gets information about the block the living entity has targeted- Parameters:
maxDistance- this is the maximum distance to scanfluidMode- whether to check fluids or not- Returns:
- TargetBlockInfo about the block the living entity has targeted, or null if no block is targeted
-
getTargetEntity
Gets information about the entity being targeted- Parameters:
maxDistance- this is the maximum distance to scan- Returns:
- entity being targeted, or null if no entity is targeted
-
getTargetEntity
Gets information about the entity being targeted- Parameters:
maxDistance- this is the maximum distance to scanignoreBlocks- true to scan through blocks- Returns:
- entity being targeted, or null if no entity is targeted
-
getTargetEntityInfo
@Deprecated(forRemoval=true) @Nullable default TargetEntityInfo getTargetEntityInfo(int maxDistance) Deprecated, for removal: This API element is subject to removal in a future version.Gets information about the entity being targeted- Parameters:
maxDistance- this is the maximum distance to scan- Returns:
- TargetEntityInfo about the entity being targeted, or null if no entity is targeted
-
rayTraceEntities
Gets information about the entity being targeted- Parameters:
maxDistance- this is the maximum distance to scan- Returns:
- RayTraceResult about the entity being targeted, or null if no entity is targeted
-
getTargetEntityInfo
@Deprecated(forRemoval=true) @Nullable TargetEntityInfo getTargetEntityInfo(int maxDistance, boolean ignoreBlocks) Deprecated, for removal: This API element is subject to removal in a future version.Gets information about the entity being targeted- Parameters:
maxDistance- this is the maximum distance to scanignoreBlocks- true to scan through blocks- Returns:
- TargetEntityInfo about the entity being targeted, or null if no entity is targeted
-
rayTraceEntities
Gets information about the entity being targeted- Parameters:
maxDistance- this is the maximum distance to scanignoreBlocks- true to scan through blocks- Returns:
- RayTraceResult about the entity being targeted, or null if no entity is targeted
-
getLastTwoTargetBlocks
@NotNull @NotNull List<Block> getLastTwoTargetBlocks(@Nullable @Nullable Set<Material> transparent, int maxDistance) Gets the last two blocks along the living entity's line of sight.The target block will be the last block in the list. This method considers all blocks as 1x1x1 in size.
- Parameters:
transparent- Set containing all transparent block Materials (set to null for only air)maxDistance- this is the maximum distance to scan. This may be further limited by the server, but never to less than 100 blocks- Returns:
- list containing the last 2 blocks along the living entity's line of sight
-
getTargetBlockExact
Gets the block that the living entity has targeted.This takes the blocks' precise collision shapes into account. Fluids are ignored.
This may cause loading of chunks! Some implementations may impose artificial restrictions on the maximum distance.
- Parameters:
maxDistance- the maximum distance to scan- Returns:
- block that the living entity has targeted
- See Also:
-
getTargetBlockExact
@Nullable @Nullable Block getTargetBlockExact(int maxDistance, @NotNull @NotNull FluidCollisionMode fluidCollisionMode) Gets the block that the living entity has targeted.This takes the blocks' precise collision shapes into account.
This may cause loading of chunks! Some implementations may impose artificial restrictions on the maximum distance.
- Parameters:
maxDistance- the maximum distance to scanfluidCollisionMode- the fluid collision mode- Returns:
- block that the living entity has targeted
- See Also:
-
rayTraceBlocks
Performs a ray trace that provides information on the targeted block.This takes the blocks' precise collision shapes into account. Fluids are ignored.
This may cause loading of chunks! Some implementations may impose artificial restrictions on the maximum distance.
- Parameters:
maxDistance- the maximum distance to scan- Returns:
- information on the targeted block, or
nullif there is no targeted block in range - See Also:
-
rayTraceBlocks
@Nullable @Nullable RayTraceResult rayTraceBlocks(double maxDistance, @NotNull @NotNull FluidCollisionMode fluidCollisionMode) Performs a ray trace that provides information on the targeted block.This takes the blocks' precise collision shapes into account.
This may cause loading of chunks! Some implementations may impose artificial restrictions on the maximum distance.
- Parameters:
maxDistance- the maximum distance to scanfluidCollisionMode- the fluid collision mode- Returns:
- information on the targeted block, or
nullif there is no targeted block in range - See Also:
-
getRemainingAir
int getRemainingAir()Returns the amount of air that the living entity has remaining, in ticks.- Returns:
- amount of air remaining
-
setRemainingAir
void setRemainingAir(int ticks) Sets the amount of air that the living entity has remaining, in ticks.- Parameters:
ticks- amount of air remaining
-
getMaximumAir
int getMaximumAir()Returns the maximum amount of air the living entity can have, in ticks.- Returns:
- maximum amount of air
-
setMaximumAir
void setMaximumAir(int ticks) Sets the maximum amount of air the living entity can have, in ticks.- Parameters:
ticks- maximum amount of air
-
getArrowCooldown
int getArrowCooldown()Gets the time in ticks until the next arrow leaves the entity's body.- Returns:
- ticks until arrow leaves
-
setArrowCooldown
void setArrowCooldown(int ticks) Sets the time in ticks until the next arrow leaves the entity's body.- Parameters:
ticks- time until arrow leaves
-
getArrowsInBody
int getArrowsInBody()Gets the amount of arrows in an entity's body.- Returns:
- amount of arrows in body
-
setArrowsInBody
default void setArrowsInBody(int count) Set the amount of arrows in the entity's body.Does not fire the
ArrowBodyCountChangeEvent.- Parameters:
count- amount of arrows in entity's body
-
setArrowsInBody
void setArrowsInBody(int count, boolean fireEvent) Set the amount of arrows in the entity's body.- Parameters:
count- amount of arrows in entity's bodyfireEvent- whether to fire theArrowBodyCountChangeEventevent
-
getBeeStingerCooldown
int getBeeStingerCooldown()Gets the time in ticks until the next bee stinger leaves the entity's body.- Returns:
- ticks until bee stinger leaves
-
setBeeStingerCooldown
void setBeeStingerCooldown(int ticks) Sets the time in ticks until the next stinger leaves the entity's body.- Parameters:
ticks- time until bee stinger leaves
-
getBeeStingersInBody
int getBeeStingersInBody()Gets the amount of bee stingers in an entity's body.- Returns:
- amount of bee stingers in body
-
setBeeStingersInBody
void setBeeStingersInBody(int count) Set the amount of bee stingers in the entity's body.- Parameters:
count- amount of bee stingers in entity's body
-
getMaximumNoDamageTicks
int getMaximumNoDamageTicks()Returns the living entity's current maximum no damage ticks.This is the maximum duration in which the living entity will not take damage.
- Returns:
- maximum no damage ticks
-
setMaximumNoDamageTicks
void setMaximumNoDamageTicks(int ticks) Sets the living entity's current maximum no damage ticks.- Parameters:
ticks- maximum amount of no damage ticks
-
getLastDamage
double getLastDamage()Returns the living entity's last damage taken in the current no damage ticks time.Only damage higher than this amount will further damage the living entity.
- Returns:
- damage taken since the last no damage ticks time period
-
setLastDamage
void setLastDamage(double damage) Sets the damage dealt within the current no damage ticks time period.- Parameters:
damage- amount of damage
-
getNoDamageTicks
int getNoDamageTicks()Returns the living entity's current no damage ticks.- Returns:
- amount of no damage ticks
-
setNoDamageTicks
void setNoDamageTicks(int ticks) Sets the living entity's current no damage ticks.- Parameters:
ticks- amount of no damage ticks
-
getNoActionTicks
int getNoActionTicks()Get the ticks that this entity has performed no action.The details of what "no action ticks" entails varies from entity to entity and cannot be specifically defined. Some examples include squid using this value to determine when to swim, raiders for when they are to be expelled from raids, or creatures (such as withers) as a requirement to be despawned.
- Returns:
- amount of no action ticks
-
setNoActionTicks
void setNoActionTicks(int ticks) Set the ticks that this entity has performed no action.The details of what "no action ticks" entails varies from entity to entity and cannot be specifically defined. Some examples include squid using this value to determine when to swim, raiders for when they are to be expelled from raids, or creatures (such as withers) as a requirement to be despawned.
- Parameters:
ticks- amount of no action ticks
-
getKiller
Gets the player identified as the killer of the living entity.May be null.
- Returns:
- killer player, or null if none found
-
setKiller
Sets the player identified as the killer of the living entity.- Parameters:
killer- player
-
addPotionEffect
Adds the givenPotionEffectto the living entity.- Parameters:
effect- PotionEffect to be added- Returns:
- whether the effect could be added
-
addPotionEffect
Deprecated.no need to force since multiple effects of the same type are now supported.Adds the givenPotionEffectto the living entity.Only one potion effect can be present for a given
PotionEffectType.- Parameters:
effect- PotionEffect to be addedforce- whether conflicting effects should be removed- Returns:
- whether the effect could be added
-
addPotionEffects
Attempts to add all of the givenPotionEffectto the living entity.- Parameters:
effects- the effects to add- Returns:
- whether all of the effects could be added
-
hasPotionEffect
Returns whether the living entity already has an existing effect of the givenPotionEffectTypeapplied to it.- Parameters:
type- the potion type to check- Returns:
- whether the living entity has this potion effect active on them
-
getPotionEffect
Returns the activePotionEffectof the specified type.If the effect is not present on the entity then null will be returned.
- Parameters:
type- the potion type to check- Returns:
- the effect active on this entity, or null if not active.
-
removePotionEffect
Removes any effects present of the givenPotionEffectType.- Parameters:
type- the potion type to remove
-
getActivePotionEffects
Returns all currently activePotionEffects on the living entity.- Returns:
- a collection of
PotionEffects
-
clearActivePotionEffects
boolean clearActivePotionEffects()Removes all active potion effects for this entity.- Returns:
- true if any were removed
-
hasLineOfSight
Checks whether the living entity has block line of sight to another.This uses the same algorithm that hostile mobs use to find the closest player.
- Parameters:
other- the entity to determine line of sight to- Returns:
- true if there is a line of sight, false if not
-
hasLineOfSight
Checks whether the living entity has block line of sight to the given block.This uses the same algorithm that hostile mobs use to find the closest player.
- Parameters:
location- the location to determine line of sight to- Returns:
- true if there is a line of sight, false if not
-
getRemoveWhenFarAway
boolean getRemoveWhenFarAway()Returns if the living entity despawns when away from players or not.By default, animals are not removed while other mobs are.
- Returns:
- true if the living entity is removed when away from players
-
setRemoveWhenFarAway
void setRemoveWhenFarAway(boolean remove) Sets whether or not the living entity despawns when away from players or not.- Parameters:
remove- the removal status
-
getEquipment
Gets the inventory with the equipment worn by the living entity.- Returns:
- the living entity's inventory
-
setCanPickupItems
void setCanPickupItems(boolean pickup) Sets whether or not the living entity can pick up items.- Parameters:
pickup- whether or not the living entity can pick up items
-
getCanPickupItems
boolean getCanPickupItems()Gets if the living entity can pick up items.- Returns:
- whether or not the living entity can pick up items
-
isLeashed
boolean isLeashed()Returns whether the entity is currently leashed.- Returns:
- whether the entity is leashed
-
getLeashHolder
Gets the entity that is currently leading this entity.- Returns:
- the entity holding the leash
- Throws:
IllegalStateException- if not currently leashed
-
setLeashHolder
Sets the leash on this entity to be held by the supplied entity.This method has no effect on EnderDragons, Withers, Players, or Bats. Non-living entities excluding leashes will not persist as leash holders.
- Parameters:
holder- the entity to leash this entity to, or null to unleash- Returns:
- whether the operation was successful
-
isGliding
boolean isGliding()Checks to see if an entity is gliding, such as using an Elytra.- Returns:
- True if this entity is gliding.
-
setGliding
void setGliding(boolean gliding) Makes entity start or stop gliding. This will work even if an Elytra is not equipped, but will be reverted by the server immediately after unless an event-cancelling mechanism is put in place.- Parameters:
gliding- True if the entity is gliding.
-
isSwimming
boolean isSwimming()Checks to see if an entity is swimming.- Returns:
- True if this entity is swimming.
-
setSwimming
Deprecated.This does nothing and is immediately reverted by the server, in the next tickMakes entity start or stop swimming. This may have unexpected results if the entity is not in water.- Parameters:
swimming- True if the entity is swimming.
-
isRiptiding
boolean isRiptiding()Checks to see if an entity is currently using the Riptide enchantment.- Returns:
- True if this entity is currently riptiding.
-
isSleeping
boolean isSleeping()Returns whether this entity is slumbering.- Returns:
- slumber state
-
isClimbing
boolean isClimbing()Gets if the entity is climbing.- Returns:
- if the entity is climbing
-
setAI
void setAI(boolean ai) Sets whether an entity will have AI. The entity will be completely unable to move if it has no AI.- Parameters:
ai- whether the mob will have AI or not.
-
hasAI
boolean hasAI()Checks whether an entity has AI. The entity will be completely unable to move if it has no AI.- Returns:
- true if the entity has AI, otherwise false.
-
attack
Makes this entity attack the given entity with a melee attack. Attack damage is calculated by the server from the attributes and equipment of this mob, and knockback is applied totargetas appropriate.- Parameters:
target- entity to attack.
-
swingMainHand
void swingMainHand()Makes this entity swing their main hand. This method does nothing if this entity does not have an animation for swinging their main hand. -
swingOffHand
void swingOffHand()Makes this entity swing their off hand. This method does nothing if this entity does not have an animation for swinging their off hand. -
playHurtAnimation
void playHurtAnimation(float yaw) Makes this entity flash red as if they were damaged.- Parameters:
yaw- The direction the damage is coming from in relation to the entity, where 0 is in front of the player, 90 is to the right, 180 is behind, and 270 is to the left
-
setCollidable
void setCollidable(boolean collidable) Set if this entity will be subject to collisions with other entities.Exemptions to this rule can be managed with
getCollidableExemptions()- Parameters:
collidable- collision status
-
isCollidable
boolean isCollidable()Gets if this entity is subject to collisions with other entities.Some entities might be exempted from the collidable rule of this entity. Use
getCollidableExemptions()to get these.Please note that this method returns only the custom collidable state, not whether the entity is non-collidable for other reasons such as being dead.
- Returns:
- collision status
-
getCollidableExemptions
Gets a mutable set of UUIDs of the entities which are exempt from the entity's collidable rule and which's collision with this entity will behave the opposite of it.This set can be modified to add or remove exemptions.
For example if collidable is true and an entity is in the exemptions set then it will not collide with it. Similarly if collidable is false and an entity is in this set then it will still collide with it.
Note these exemptions are not (currently) persistent.
- Returns:
- the collidable exemption set
-
getMemory
Returns the value of the memory specified.Note that the value is null when the specific entity does not have that value by default.
- Type Parameters:
T- the type of the return value- Parameters:
memoryKey- memory to access- Returns:
- a instance of the memory section value or null if not present
-
setMemory
Sets the value of the memory specified.Note that the value will not be persisted when the specific entity does not have that value by default.
- Type Parameters:
T- the type of the passed value- Parameters:
memoryKey- the memory to accessmemoryValue- a typed memory value
-
getHurtSound
Get theSoundthis entity will make when damaged.- Returns:
- the hurt sound, or null if the entity does not make any sound
-
getDeathSound
Get theSoundthis entity will make on death.- Returns:
- the death sound, or null if the entity does not make any sound
-
getFallDamageSound
Get theSoundthis entity will make when falling from the given height (in blocks). The sound will often differ between either a small or a big fall damage sound if the height exceeds 4 blocks.- Parameters:
fallHeight- the fall height in blocks- Returns:
- the fall damage sound
- See Also:
-
getFallDamageSoundSmall
Get theSoundthis entity will make when falling from a small height.- Returns:
- the fall damage sound
-
getFallDamageSoundBig
Get theSoundthis entity will make when falling from a large height.- Returns:
- the fall damage sound
-
getDrinkingSound
- Parameters:
itemStack- the item stack being drank- Returns:
- the drinking sound
-
getEatingSound
- Parameters:
itemStack- the item stack being eaten- Returns:
- the eating sound
-
canBreatheUnderwater
boolean canBreatheUnderwater()Returns true if this entity can breathe underwater and will not take suffocation damage when its air supply reaches zero.- Returns:
trueif the entity can breathe underwater
-
getCategory
Get the category to which this entity belongs. Categories may subject this entity to additional effects, benefits or debuffs.- Returns:
- the entity category
-
setInvisible
void setInvisible(boolean invisible) Sets whether the entity is invisible or not.- Parameters:
invisible- If the entity is invisible
-
isInvisible
boolean isInvisible()Gets whether the entity is invisible or not.- Returns:
- Whether the entity is invisible
-
getArrowsStuck
Deprecated.Get the number of arrows stuck in this entity- Returns:
- Number of arrows stuck
-
setArrowsStuck
Deprecated.usesetArrowsInBody(int, boolean). This method previously firedArrowBodyCountChangeEventso if you want to retain exact functionality, passtrueforfireEvent.Set the number of arrows stuck in this entity- Parameters:
arrows- Number of arrows to stick in this entity
-
getShieldBlockingDelay
int getShieldBlockingDelay()Get the delay (in ticks) before blocking is effective for this entity- Returns:
- Delay in ticks
-
setShieldBlockingDelay
void setShieldBlockingDelay(int delay) Set the delay (in ticks) before blocking is effective for this entity- Parameters:
delay- Delay in ticks
-
getActiveItem
Get's the item being actively "used" or consumed.- Returns:
- The item
-
clearActiveItem
void clearActiveItem()Interrupts any ongoing active "usage" or consumption or an item. -
getItemUseRemainingTime
int getItemUseRemainingTime()Get's remaining time a player needs to keep hands raised with an item to finish using it.- Returns:
- Remaining ticks to use the item
-
getHandRaisedTime
int getHandRaisedTime()Get how long the players hands have been raised (Charging Bow attack, using a potion, etc)- Returns:
- Get how long the players hands have been raised (Charging Bow attack, using a potion, etc)
-
isHandRaised
boolean isHandRaised()Whether or not this entity is using or charging an attack (Bow pulled back, drinking potion, eating food)- Returns:
- Whether or not this entity is using or charging an attack (Bow pulled back, drinking potion, eating food)
-
getHandRaised
Gets the hand raised by this living entity. Will be eitherEquipmentSlot.HANDorEquipmentSlot.OFF_HAND.- Returns:
- the hand raised
-
isJumping
boolean isJumping()Get entity jump state.Jump state will be true when the entity has been marked to jump.
- Returns:
- entity jump state.
-
setJumping
void setJumping(boolean jumping) Set entity jump stateSetting to true will mark the entity to jump.
Setting to false will unmark the entity to jump but will not stop a jump already in-progress.
- Parameters:
jumping- entity jump state
-
playPickupItemAnimation
Plays pickup item animation towards this entity.This will remove the item on the client.
Quantity is inferred to be that of the
Item.- Parameters:
item- item to pickup
-
playPickupItemAnimation
Plays pickup item animation towards this entity.This will remove the item on the client.
- Parameters:
item- item to pickupquantity- quantity of item
-
getHurtDirection
float getHurtDirection()Gets player hurt direction- Returns:
- hurt direction
-
setHurtDirection
Deprecated.Sets player hurt direction- Parameters:
hurtDirection- hurt direction
-
swingHand
Makes this entity swing their hand.This method does nothing if this entity does not have an animation for swinging their hand.
- Parameters:
hand- hand to be swung, eitherEquipmentSlot.HANDorEquipmentSlot.OFF_HAND- Throws:
IllegalArgumentException- if invalid hand is passed
-
knockback
void knockback(double strength, double directionX, double directionZ) Knocks back this entity from a specific direction with a specified strength. Mechanics such as knockback resistance will be factored in. The direction specified in this method will be the direction of the source of the knockback, so the entity will be pushed in the opposite direction.- Parameters:
strength- The strength of the knockback. Must be greater than 0.directionX- The relative x position of the knockback source directiondirectionZ- The relative z position of the knockback source direction
-
broadcastSlotBreak
Notifies all clients tracking this entity that the item in the slot of this entity broke.NOTE: this does not mutate any entity state
- Parameters:
slot- the slot
-
broadcastSlotBreak
Notifies specified players that the item in the slot of this entity broke.NOTE: this does not mutate any entity state
- Parameters:
slot- the slotplayers- the players to notify
-
damageItemStack
Damages the itemstack in this slot by the specified amount.This runs all logic associated with damaging an itemstack like gamemode and enchantment checks, events, stat changes, and advancement triggers.
- Parameters:
stack- the itemstack to damageamount- the amount of damage to do- Returns:
- the damaged itemstack, or an empty stack if it broke. There are no guarantees the returned itemstack is the same instance
-
damageItemStack
Damages the itemstack in this slot by the specified amount.This runs all logic associated with damaging an itemstack like gamemode and enchantment checks, events, stat changes, advancement triggers, and notifying clients to play break animations.
- Parameters:
slot- the slot of the stack to damageamount- the amount of damage to do
-
getBodyYaw
float getBodyYaw()Gets entity body yaw- Returns:
- entity body yaw
- See Also:
-
setBodyYaw
void setBodyYaw(float bodyYaw) Sets entity body yaw- Parameters:
bodyYaw- new entity body yaw- See Also:
-