Package org.bukkit.entity
Interface Mob
- All Superinterfaces:
Attributable
,Audience
,CommandSender
,Damageable
,Entity
,Frictional
,HoverEventSource<HoverEvent.ShowEntity>
,Leashable
,LivingEntity
,Lootable
,Metadatable
,Nameable
,Permissible
,PersistentDataHolder
,PersistentDataViewHolder
,Pointered
,ProjectileSource
,ServerOperator
,Sound.Emitter
- All Known Subinterfaces:
AbstractHorse
,AbstractSkeleton
,AbstractVillager
,Ageable
,Allay
,Ambient
,Animals
,Armadillo
,Axolotl
,Bat
,Bee
,Blaze
,Bogged
,Breedable
,Breeze
,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
,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
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 TypeMethodDescriptionGet theSound
this mob makes while ambiently existing.Gets the inventory with the equipment worn by the living entity.int
Gets the head rotation speedint
Gets the max head pitch rotationEnables access to control the pathing of an Entityint
Gets the amount of experience the mob will possibly drop.Gets the current target of this Mobboolean
Some mobs will raise their arm(s) when aggressive:Drowned
Piglin
Skeleton
Zombie
ZombieVillager
Illusioner
Vindicator
Panda
Pillager
PiglinBrute
boolean
isAware()
Gets whether this mob is aware of its surroundings.boolean
Check if this mob is exposed to daylightboolean
Check if Mob is left-handedvoid
lookAt
(double x, double y, double z) Instruct this Mob to look at a specific positionvoid
lookAt
(double x, double y, double z, float headRotationSpeed, float maxHeadPitch) Instruct this Mob to look at a specific positionvoid
Instruct this Mob to look at a specific Entityvoid
Instruct this Mob to look at a specific Entityvoid
Instruct this Mob to look at a specific Locationvoid
Instruct this Mob to look at a specific Locationvoid
setAggressive
(boolean aggressive) Some mobs will raise their arm(s) when aggressive, seeisAggressive()
for full list.void
setAware
(boolean aware) Sets whether this mob is aware of its surroundings.void
setLeftHanded
(boolean leftHanded) Set if Mob is left-handeddefault void
setLootTable
(LootTable table, long seed) Set the loot table and seed for a container or entity at the same time.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
clearResourcePacks, clearTitle, deleteMessage, deleteMessage, filterAudience, forEachAudience, hideBossBar, openBook, openBook, playSound, playSound, playSound, removeResourcePacks, removeResourcePacks, removeResourcePacks, removeResourcePacks, removeResourcePacks, resetTitle, sendActionBar, sendActionBar, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendPlayerListFooter, sendPlayerListFooter, sendPlayerListHeader, sendPlayerListHeader, sendPlayerListHeaderAndFooter, sendPlayerListHeaderAndFooter, sendResourcePacks, sendResourcePacks, sendResourcePacks, sendTitlePart, showBossBar, showTitle, stopSound, stopSound
Methods inherited from interface org.bukkit.command.CommandSender
getName, name, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendPlainMessage, sendRichMessage, sendRichMessage
Methods inherited from interface org.bukkit.entity.Damageable
damage, damage, damage, getAbsorptionAmount, getHealth, getMaxHealth, heal, heal, resetMaxHealth, setAbsorptionAmount, setHealth, setMaxHealth
Methods inherited from interface org.bukkit.entity.Entity
addPassenger, addScoreboardTag, asHoverEvent, broadcastHurtAnimation, collidesAt, copy, copy, createSnapshot, eject, fromMobSpawner, getAsString, 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, getTrackedBy, getTrackedPlayers, getType, getUniqueId, getVehicle, getVelocity, getWidth, getWorld, getX, getY, getYaw, getZ, hasFixedPose, hasGravity, hasNoPhysics, isCustomNameVisible, isDead, isEmpty, isFreezeTickingLocked, isFrozen, isGlowing, isInBubbleColumn, isInLava, isInPowderedSnow, isInRain, isInsideVehicle, isInvulnerable, isInWater, isInWaterOrBubbleColumn, isInWaterOrRain, isInWaterOrRainOrBubbleColumn, isInWorld, isOnGround, isPersistent, isSilent, isSneaking, isTicking, isUnderWater, isValid, isVisibleByDefault, isVisualFire, leaveVehicle, lockFreezeTicks, playEffect, remove, removePassenger, removeScoreboardTag, setCustomNameVisible, setFallDistance, setFireTicks, setFreezeTicks, setGlowing, setGravity, setInvulnerable, setLastDamageCause, setNoPhysics, setPassenger, setPersistent, setPortalCooldown, setPose, setPose, setRotation, setSilent, setSneaking, setTicksLived, setVelocity, setVisibleByDefault, setVisualFire, spawnAt, spawnAt, spigot, teamDisplayName, teleport, teleport, teleport, teleport, teleport, teleport, teleportAsync, 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 io.papermc.paper.entity.Leashable
getLeashHolder, isLeashed, setLeashHolder
Methods inherited from interface org.bukkit.entity.LivingEntity
addPotionEffect, addPotionEffect, addPotionEffects, attack, broadcastSlotBreak, broadcastSlotBreak, canBreatheUnderwater, canUseEquipmentSlot, clearActiveItem, clearActivePotionEffects, completeUsingActiveItem, damageItemStack, damageItemStack, getActiveItem, getActiveItemHand, getActiveItemRemainingTime, getActiveItemUsedTime, getActivePotionEffects, getArrowCooldown, getArrowsInBody, getArrowsStuck, getBeeStingerCooldown, getBeeStingersInBody, getBodyYaw, getCanPickupItems, getCategory, getCollidableExemptions, getDeathSound, getDrinkingSound, getEatingSound, getEyeHeight, getEyeHeight, getEyeLocation, getFallDamageSound, getFallDamageSoundBig, getFallDamageSoundSmall, getForwardsMovement, getHandRaised, getHandRaisedTime, getHurtDirection, getHurtSound, getItemInUse, getItemInUseTicks, getItemUseRemainingTime, getKiller, getLastDamage, getLastTwoTargetBlocks, getLeashHolder, getLineOfSight, getMaximumAir, getMaximumNoDamageTicks, getMemory, getNextArrowRemoval, getNextBeeStingerRemoval, getNoActionTicks, getNoDamageTicks, getPotionEffect, getRemainingAir, getRemoveWhenFarAway, getShieldBlockingDelay, getSidewaysMovement, getTargetBlock, getTargetBlock, getTargetBlock, getTargetBlockExact, getTargetBlockExact, getTargetBlockFace, getTargetBlockFace, getTargetBlockFace, getTargetBlockInfo, getTargetBlockInfo, getTargetEntity, getTargetEntity, getTargetEntityInfo, getTargetEntityInfo, getUpwardsMovement, hasActiveItem, hasAI, hasLineOfSight, hasLineOfSight, hasPotionEffect, isClimbing, isCollidable, isGliding, isHandRaised, isInvisible, isJumping, isLeashed, isRiptiding, isSleeping, isSwimming, knockback, playHurtAnimation, playPickupItemAnimation, playPickupItemAnimation, rayTraceBlocks, rayTraceBlocks, rayTraceEntities, rayTraceEntities, removePotionEffect, setActiveItemRemainingTime, setAI, setArrowCooldown, setArrowsInBody, setArrowsInBody, setArrowsStuck, setBeeStingerCooldown, setBeeStingersInBody, setBodyYaw, setCanPickupItems, setCollidable, setGliding, setHurtDirection, setInvisible, setItemInUseTicks, setJumping, setKiller, setLastDamage, setLeashHolder, setMaximumAir, setMaximumNoDamageTicks, setMemory, setNextArrowRemoval, setNextBeeStingerRemoval, setNoActionTicks, setNoDamageTicks, setRemainingAir, setRemoveWhenFarAway, setRiptiding, setShieldBlockingDelay, setSwimming, startUsingItem, swingHand, swingMainHand, swingOffHand
Methods inherited from interface org.bukkit.loot.Lootable
clearLootTable, getLootTable, getSeed, hasLootTable, 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 interfaceLivingEntity
- Returns:
- the living entity's inventory
-
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
Instruct this Mob to look at a specific LocationUseful when implementing custom mob goals
- Parameters:
location
- location to look at
-
lookAt
Instruct this Mob to look at a specific LocationUseful when implementing custom mob goals
- Parameters:
location
- location to look atheadRotationSpeed
- head rotation speedmaxHeadPitch
- max head pitch rotation
-
lookAt
Instruct this Mob to look at a specific EntityIf a LivingEntity, look at eye location
Useful when implementing custom mob goals
- Parameters:
entity
- entity to look at
-
lookAt
Instruct this Mob to look at a specific EntityIf a LivingEntity, look at eye location
Useful when implementing custom mob goals
- Parameters:
entity
- entity to look atheadRotationSpeed
- head rotation speedmaxHeadPitch
- max head pitch rotation
-
lookAt
void lookAt(double x, double y, double z) Instruct this Mob to look at a specific positionUseful when implementing custom mob goals
- Parameters:
x
- x coordinatey
- y coordinatez
- z coordinate
-
lookAt
void lookAt(double x, double y, double z, float headRotationSpeed, float maxHeadPitch) Instruct this Mob to look at a specific positionUseful when implementing custom mob goals
- Parameters:
x
- x coordinatey
- y coordinatez
- z coordinateheadRotationSpeed
- head rotation speedmaxHeadPitch
- 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
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
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
Get theSound
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
-
setLootTable
Description copied from interface:Lootable
Set the loot table and seed for a container or entity at the same time.- Specified by:
setLootTable
in interfaceLootable
- Parameters:
table
- the Loot Table thisContainer
orMob
will have.seed
- the seed to used to generate loot. Default is 0.
-
isAggressive
boolean isAggressive()Some mobs will raise their arm(s) when aggressive:Note: This doesn't always show the actual aggressive state as set by
setAggressive(boolean)
.Panda
's are always aggressive if their combinedPanda.Gene
isPanda.Gene.AGGRESSIVE
.- Returns:
- wether the mob is aggressive or not
-
setAggressive
void setAggressive(boolean aggressive) Some mobs will raise their arm(s) when aggressive, seeisAggressive()
for full list.- Parameters:
aggressive
- wether the mob should be aggressive or not- See Also:
-
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
-
getPossibleExperienceReward
int getPossibleExperienceReward()Gets the amount of experience the mob will possibly drop. This value is randomized and it can give different results- Returns:
- the amount of experience the mob will possibly drop
-