Package org.bukkit.entity

# Interface Mob

All Superinterfaces:
  `Attributable`, `Audience`, `CommandSender`, `Damageable`, `Entity`, `Frictional`, `HoverEventSource<HoverEvent.ShowEntity>`, `LivingEntity`, `Lootable`, `Metadatable`, `Nameable`, `Permissible`, `PersistentDataHolder`, `Pointered`, `ProjectileSource`, `ServerOperator`, `Sound.Emitter`

All Known Subinterfaces:
  `AbstractHorse`, `AbstractSkeleton`, `AbstractVillager`, `Ageable`, `Allay`, `Ambient`, `Animals`, `Axolotl`, `Bat`, `Bee`, `Blaze`, `Breedable`, `Camel`, `Cat`, `CaveSpider`, `ChestedHorse`, `Chicken`, `Cod`, `Cow`, `Creature`, `Creeper`, `Dolphin`, `Donkey`, `Drowned`, `ElderGuardian`, `EnderDragon`, `Enderman`, `Endermite`, `Evoker`, `Fish`, `Flying`, `Fox`, `Frog`, `Ghast`, `Giant`, `GlowSquid`, `Goat`, `Golem`, `Guardian`, `Hoglin`, `Horse`, `Husk`, `Illager`, `Illusioner`, `IronGolem`, `Llama`, `MagmaCube`, `Monster`, `Mule`, `MushroomCow`, `NPC`, `Ocelot`, `Panda`, `Parrot`, `Phantom`, `Pig`, `Piglin`, `PiglinAbstract`, `PiglinBrute`, `PigZombie`, `Pillager`, `PolarBear`, `PufferFish`, `Rabbit`, `Raider`, `RangedEntity`, `Ravager`, `Salmon`, `SchoolableFish`, `Sheep`, `Shulker`, `Silverfish`, `Skeleton`, `SkeletonHorse`, `Slime`, `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`

public interface Mob extends LivingEntity, Lootable
Represents a Mob. Mobs are living entities with simple AI.

## Nested Class Summary

## Nested classes/interfaces inherited from interface org.bukkit.entity.Entity

`Entity.Spigot`

## Method Summary

Modifier and Type
Method
Description
`@Nullable Sound`
`getAmbientSound()`
Get the `Sound` this mob makes while ambiently existing.
`@NotNull EntityEquipment`
`getEquipment()`
Gets the inventory with the equipment worn by the living entity.
`int`
`getHeadRotationSpeed()`
Gets the head rotation speed
`int`
`getMaxHeadPitch()`
Gets the max head pitch rotation
`Pathfinder`
`getPathfinder()`
Enables access to control the pathing of an Entity
`@Nullable LivingEntity`
`getTarget()`
Gets the current target of this Mob
`boolean`
`isAware()`
Gets whether this mob is aware of its surroundings.
`boolean`
`isInDaylight()`
Check if this mob is exposed to daylight
`boolean`
`isLeftHanded()`
Check if Mob is left-handed
`void`
`lookAt(double x, double y, double z)`
Instruct this Mob to look at a specific position
`void`
`lookAt(double x, double y, double z, float headRotationSpeed, float maxHeadPitch)`
Instruct this Mob to look at a specific position
`void`
`lookAt(@NotNull Entity entity)`
Instruct this Mob to look at a specific Entity
`void`
`lookAt(@NotNull Entity entity, float headRotationSpeed, float maxHeadPitch)`
Instruct this Mob to look at a specific Entity
`void`
`lookAt(Location location)`
Instruct this Mob to look at a specific Location
`void`
`lookAt(Location location, float headRotationSpeed, float maxHeadPitch)`
Instruct this Mob to look at a specific Location
`void`
`setAware(boolean aware)`
Sets whether this mob is aware of its surroundings.
`void`
`setLeftHanded(boolean leftHanded)`
Set if Mob is left-handed
`void`
`setTarget(@Nullable LivingEntity target)`
Instructs this Mob to set the specified LivingEntity as its target.

### Methods inherited from interface org.bukkit.attribute.Attributable

`getAttribute, registerAttribute`

### Methods 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, stopSound`

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

`getName, name, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendPlainMessage, sendRichMessage`

### Methods inherited from interface org.bukkit.entity.Damageable

`damage, damage, getAbsorptionAmount, getHealth, getMaxHealth, resetMaxHealth, setAbsorptionAmount, setHealth, setMaxHealth`

### Methods 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, getPortalCooldown, getPose, getScoreboardTags, getServer, getSpawnCategory, getSwimHighSpeedSplashSound, getSwimSound, getSwimSplashSound, getTicksLived, getTrackedPlayers, getType, getUniqueId, getVehicle, getVelocity, getWidth, getWorld, hasGravity, isCustomNameVisible, isDead, isEmpty, isFreezeTickingLocked, isFrozen, isGlowing, isInBubbleColumn, isInLava, isInPowderedSnow, isInRain, isInsideVehicle, isInvulnerable, isInWater, isInWaterOrBubbleColumn, isInWaterOrRain, isInWaterOrRainOrBubbleColumn, isOnGround, isPersistent, isSilent, isTicking, isUnderWater, isValid, isVisualFire, leaveVehicle, lockFreezeTicks, playEffect, remove, removePassenger, removeScoreboardTag, setCustomNameVisible, setFallDistance, setFireTicks, setFreezeTicks, setGlowing, setGravity, setInvulnerable, setLastDamageCause, setPassenger, setPersistent, setPortalCooldown, setRotation, setSilent, setTicksLived, setVelocity, setVisualFire, spawnAt, spawnAt, spigot, teamDisplayName, teleport, teleport, teleport, teleport, teleport, teleport, teleport, teleport, teleportAsync, teleportAsync, wouldCollideUsing`

### Methods inherited from interface io.papermc.paper.entity.Frictional

`getFrictionState, setFrictionState`

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

`asHoverEvent`

### Methods inherited from interface org.bukkit.entity.LivingEntity

`addPotionEffect, addPotionEffect, addPotionEffects, attack, broadcastSlotBreak, broadcastSlotBreak, canBreatheUnderwater, clearActiveItem, damageItemStack, damageItemStack, getActiveItem, getActivePotionEffects, getArrowCooldown, getArrowsInBody, getArrowsStuck, getBeeStingerCooldown, getBeeStingersInBody, getCanPickupItems, getCategory, getCollidableExemptions, getDeathSound, getDrinkingSound, getEatingSound, getEyeHeight, getEyeHeight, getEyeLocation, getFallDamageSound, getFallDamageSoundBig, getFallDamageSoundSmall, getHandRaised, getHandRaisedTime, getHurtDirection, getHurtSound, getItemUseRemainingTime, getKiller, getLastDamage, getLastTwoTargetBlocks, getLeashHolder, getLineOfSight, getMaximumAir, getMaximumNoDamageTicks, getMemory, getNoDamageTicks, getPotionEffect, getRemainingAir, getRemoveWhenFarAway, getShieldBlockingDelay, getTargetBlock, getTargetBlock, getTargetBlock, getTargetBlockExact, getTargetBlockExact, getTargetBlockFace, getTargetBlockFace, getTargetBlockInfo, getTargetBlockInfo, getTargetEntity, getTargetEntity, getTargetEntityInfo, getTargetEntityInfo, hasAI, hasLineOfSight, hasLineOfSight, hasPotionEffect, isClimbing, isCollidable, isGliding, isHandRaised, isInvisible, isJumping, isLeashed, isRiptiding, isSleeping, isSwimming, knockback, playPickupItemAnimation, playPickupItemAnimation, rayTraceBlocks, rayTraceBlocks, removePotionEffect, setAI, setArrowCooldown, setArrowsInBody, setArrowsStuck, setBeeStingerCooldown, setBeeStingersInBody, setCanPickupItems, setCollidable, setGliding, setHurtDirection, setInvisible, setJumping, setKiller, setLastDamage, setLeashHolder, setMaximumAir, setMaximumNoDamageTicks, setMemory, setNoDamageTicks, setRemainingAir, setRemoveWhenFarAway, setShieldBlockingDelay, setSwimming, swingHand, swingMainHand, swingOffHand`

### Methods inherited from interface org.bukkit.loot.Lootable

`clearLootTable, getLootTable, getSeed, hasLootTable, setLootTable, setLootTable, setSeed`

### 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.projectiles.ProjectileSource

`launchProjectile, launchProjectile, launchProjectile`

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

`isOp, setOp`

## Method Details

### getEquipment

@NotNull EntityEquipment getEquipment()
Description copied from interface: `LivingEntity`
Gets the inventory with the equipment worn by the living entity.

Specified by:
  `getEquipment` in interface `LivingEntity`
Returns:
  the living entity's inventory

### getPathfinder

@NotNull Pathfinder getPathfinder()
Enables access to control the pathing of an Entity

Returns:
  Pathfinding Manager for this entity

### isInDaylight

boolean isInDaylight()
Check if this mob is exposed to daylight

Returns:
  True if mob is exposed to daylight

### lookAt

void lookAt(@NotNull Location location)
Instruct this Mob to look at a specific Location

Useful when implementing custom mob goals

Parameters:
  `location` - location to look at

### lookAt

void lookAt(@NotNull Location location, float headRotationSpeed, float maxHeadPitch)
Instruct this Mob to look at a specific Location

Useful when implementing custom mob goals

Parameters:
  `location` - location to look at
  `headRotationSpeed` - head rotation speed
  `maxHeadPitch` - max head pitch rotation

### lookAt

void lookAt(@NotNull @NotNull Entity entity)
Instruct this Mob to look at a specific Entity

If a LivingEntity, look at eye location

Useful when implementing custom mob goals

Parameters:
  `entity` - entity to look at

### lookAt

void lookAt(@NotNull @NotNull Entity entity, float headRotationSpeed, float maxHeadPitch)
Instruct this Mob to look at a specific Entity

If a LivingEntity, look at eye location

Useful when implementing custom mob goals

Parameters:
  `entity` - entity to look at
  `headRotationSpeed` - head rotation speed
  `maxHeadPitch` - max head pitch rotation

### lookAt

void lookAt(double x, double y, double z)
Instruct this Mob to look at a specific position

Useful when implementing custom mob goals

Parameters:
  `x` - x coordinate
  `y` - y coordinate
  `z` - z coordinate

### lookAt

void lookAt(double x, double y, double z, float headRotationSpeed, float maxHeadPitch)
Instruct this Mob to look at a specific position

Useful when implementing custom mob goals

Parameters:
  `x` - x coordinate
  `y` - y coordinate
  `z` - z coordinate
  `headRotationSpeed` - head rotation speed
  `maxHeadPitch` - max head pitch rotation

### getHeadRotationSpeed

int getHeadRotationSpeed()
Gets the head rotation speed

Returns:
  the head rotation speed

### getMaxHeadPitch

int getMaxHeadPitch()
Gets the max head pitch rotation

Returns:
  the max head pitch rotation

### setTarget

void setTarget(@Nullable @Nullable LivingEntity target)
Instructs this Mob to set the specified LivingEntity as its target.

Hostile creatures may attack their target, and friendly creatures may follow their target.

Parameters:
  `target` - New LivingEntity to target, or null to clear the target

### getTarget

@Nullable @Nullable LivingEntity getTarget()
Gets the current target of this Mob

Returns:
  Current target of this creature, or null if none exists

### setAware

void setAware(boolean aware)
Sets whether this mob is aware of its surroundings. Unaware mobs will still move if pushed, attacked, etc. but will not move or perform any actions on their own. Unaware mobs may also have other unspecified behaviours disabled, such as drowning.

Parameters:
  `aware` - whether the mob is aware

### isAware

boolean isAware()
Gets whether this mob is aware of its surroundings. Unaware mobs will still move if pushed, attacked, etc. but will not move or perform any actions on their own. Unaware mobs may also have other unspecified behaviours disabled, such as drowning.

Returns:
  whether the mob is aware

### getAmbientSound

@Nullable @Nullable Sound getAmbientSound()
Get the `Sound` this mob makes while ambiently existing. This sound may change depending on the current state of the entity, and may also return null under specific conditions. This sound is not constant. For instance, villagers will make different passive noises depending on whether or not they are actively trading with a player, or make no ambient noise while sleeping.

Returns:
  the ambient sound, or null if this entity is ambiently quiet

### isLeftHanded

boolean isLeftHanded()
Check if Mob is left-handed

Returns:
  True if left-handed

### setLeftHanded

void setLeftHanded(boolean leftHanded)
Set if Mob is left-handed

Parameters:
  `leftHanded` - True if left-handed