Interface HumanEntity
- All Superinterfaces:
AnimalTamer
,Attributable
,Audience
,CommandSender
,Damageable
,Entity
,Frictional
,HoverEventSource<HoverEvent.ShowEntity>
,InventoryHolder
,LivingEntity
,Metadatable
,Nameable
,Permissible
,PersistentDataHolder
,PersistentDataViewHolder
,Pointered
,ProjectileSource
,ServerOperator
,Sound.Emitter
- All Known Subinterfaces:
Player
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.bukkit.entity.Entity
Entity.Spigot
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Force-closes the currently open inventory view for this player, if any.void
Force-closes the currently open inventory view for this player, if any.boolean
discoverRecipe
(@NotNull NamespacedKey recipe) Discover a recipe for this player such that it has not already been discovered.int
discoverRecipes
(@NotNull Collection<NamespacedKey> recipes) Discover a collection of recipes for this player such that they have not already been discovered.boolean
dropItem
(boolean dropAll) Make the entity drop the item in their hand.fireworkBoost
(@NotNull ItemStack fireworkItemStack) Perform a firework boost.float
Gets the current cooldown for a player's attack.Gets the location of the bed the player is currently sleeping inint
getCooldown
(@NotNull Material material) Get the cooldown time in ticks remaining for the specified material.int
getCooldown
(@NotNull ItemStack item) Get the cooldown time in ticks remaining for the specified item.Get an immutable set of recipes this entity has discovered.int
Gets the player's current enchantment seed.Get the player's EnderChest inventoryGets the inventory with the equipment worn by the living entity.float
Gets the players current exhaustion level.int
Get the total amount of experience required for the player to levelint
Gets the players current food levelGets this human's currentGameMode
Get the player's inventory.Deprecated.Returns the ItemStack currently on your cursor, can be empty.Gets the player's last death location.Gets the player's selected main handgetName()
Returns the name of this playerGets the inventory view the player is currently viewing.Gets the Location of the player's bed, null if they have not slept in one.int
Get the regeneration rate (1 health per x ticks) of the HumanEntity when they have saturation and their food level is >= 20.float
Gets the players current saturation level.Deprecated.There are currently no well defined semantics regarding serialized entities in Bukkit.Deprecated.There are currently no well defined semantics regarding serialized entities in Bukkit.int
Get the sleep ticks of the player.int
Get the starvation rate (1 health per x ticks) of the HumanEntity.int
Get the regeneration rate (1 health per x ticks) of the HumanEntity when they have no saturation and their food level is >= 18.boolean
hasCooldown
(@NotNull Material material) Check whether a cooldown is active on the specified material.boolean
hasCooldown
(@NotNull ItemStack item) Check whether a cooldown is active on the specified item.boolean
hasDiscoveredRecipe
(@NotNull NamespacedKey recipe) Check whether or not this entity has discovered the specified recipe.boolean
Check if the player is currently blocking (ie with a shield).boolean
If the player has slept enough to count towards passing the night.boolean
Check if the player currently has their hand raised (ie about to begin blocking).Opens an empty anvil inventory window with the player's inventory on the bottom.openCartographyTable
(@Nullable Location location, boolean force) Opens an empty cartography table inventory window with the player's inventory on the bottom.openEnchanting
(@Nullable Location location, boolean force) Opens an empty enchanting inventory window with the player's inventory on the bottom.openGrindstone
(@Nullable Location location, boolean force) Opens an empty grindstone inventory window with the player's inventory on the bottom.openInventory
(@NotNull Inventory inventory) Opens an inventory window with the specified inventory on the top and the player's inventory on the bottom.void
openInventory
(@NotNull InventoryView inventory) Opens an inventory window to the specified inventory view.Opens an empty loom inventory window with the player's inventory on the bottom.openMerchant
(@NotNull Villager trader, boolean force) Starts a trade between the player and the villager.openMerchant
(@NotNull Merchant merchant, boolean force) Starts a trade between the player and the merchant.void
Opens an editor window for the specified signdefault void
Deprecated.openSmithingTable
(@Nullable Location location, boolean force) Opens an empty smithing table inventory window with the player's inventory on the bottom.openStonecutter
(@Nullable Location location, boolean force) Opens an empty stonecutter inventory window with the player's inventory on the bottom.openWorkbench
(@Nullable Location location, boolean force) Opens an empty workbench inventory window with the player's inventory on the bottom.If there is an Entity on this entities left shoulder, it will be released to the world and returned.If there is an Entity on this entities left shoulder, it will be released to the world and returned.void
setCooldown
(@NotNull Material material, int ticks) Set a cooldown on the specified material for a certain amount of ticks.void
setCooldown
(@NotNull ItemStack item, int ticks) Set a cooldown on the specified item for a certain amount of ticks.void
setEnchantmentSeed
(int seed) Sets the player's enchantment seed.void
setExhaustion
(float value) Sets the players current exhaustion levelvoid
setFoodLevel
(int value) Sets the players current food levelvoid
setGameMode
(@NotNull GameMode mode) Sets this human's currentGameMode
void
setHurtDirection
(float hurtDirection) Sets player hurt directionvoid
setItemInHand
(@Nullable ItemStack item) Deprecated.Humans may now dual wield in their off hand, use explicit methods inPlayerInventory
.void
Sets the item to the given ItemStack, this will replace whatever the user was moving.void
setLastDeathLocation
(@Nullable Location location) Sets the player's last death location.void
setSaturatedRegenRate
(int ticks) Set the regeneration rate (1 health per x ticks) of the HumanEntity when they have saturation and their food level is >= 20.void
setSaturation
(float value) Sets the players current saturation levelvoid
setShoulderEntityLeft
(@Nullable Entity entity) Deprecated.There are currently no well defined semantics regarding serialized entities in Bukkit.void
setShoulderEntityRight
(@Nullable Entity entity) Deprecated.There are currently no well defined semantics regarding serialized entities in Bukkit.void
setStarvationRate
(int ticks) Get the starvation rate (1 health per x ticks) of the HumanEntity.void
setUnsaturatedRegenRate
(int ticks) Get the regeneration rate (1 health per x ticks) of the HumanEntity when they have no saturation and their food level is >= 18.boolean
setWindowProperty
(InventoryView.Property prop, int value) Deprecated, for removal: This API element is subject to removal in a future version.useInventoryView
and its children.boolean
Attempts to make the entity sleep at the given location.void
startRiptideAttack
(int duration, float attackStrength, @Nullable ItemStack attackItem) Make the player start a riptide spin attack.boolean
undiscoverRecipe
(@NotNull NamespacedKey recipe) Undiscover a recipe for this player such that it has already been discovered.int
undiscoverRecipes
(@NotNull Collection<NamespacedKey> recipes) Undiscover a collection of recipes for this player such that they have already been discovered.void
wakeup
(boolean setSpawnLocation) Causes the player to wakeup if they are currently sleeping.Methods inherited from interface org.bukkit.entity.AnimalTamer
getUniqueId
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
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 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, 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, 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.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
-
getName
Returns the name of this player- Specified by:
getName
in interfaceAnimalTamer
- Specified by:
getName
in interfaceCommandSender
- Returns:
- Player name
-
getInventory
Get the player's inventory.- Specified by:
getInventory
in interfaceInventoryHolder
- Returns:
- The inventory of the player, this also contains the armor slots.
-
getEnderChest
Get the player's EnderChest inventory- Returns:
- The EnderChest of the player
-
getMainHand
Gets the player's selected main hand- Returns:
- the players main hand
-
setWindowProperty
@Deprecated(forRemoval=true, since="1.21") boolean setWindowProperty(@NotNull InventoryView.Property prop, int value) Deprecated, for removal: This API element is subject to removal in a future version.useInventoryView
and its children.If the player currently has an inventory window open, this method will set a property of that window, such as the state of a progress bar.- Parameters:
prop
- The property.value
- The value to set the property to.- Returns:
- True if the property was successfully set.
-
getEnchantmentSeed
int getEnchantmentSeed()Gets the player's current enchantment seed. The Seed is used to generate enchantment options in the enchanting table for the player.- Returns:
- the player's enchantment seed
-
setEnchantmentSeed
void setEnchantmentSeed(int seed) Sets the player's enchantment seed. The Seed is used to generate enchantment options in the enchanting table for the player.- Parameters:
seed
- the player's new enchantment seed
-
getOpenInventory
Gets the inventory view the player is currently viewing. If they do not have an inventory window open, it returns their internal crafting view.- Returns:
- The inventory view.
-
openInventory
Opens an inventory window with the specified inventory on the top and the player's inventory on the bottom.- Parameters:
inventory
- The inventory to open- Returns:
- The newly opened inventory view
-
openWorkbench
@Nullable @Nullable InventoryView openWorkbench(@Nullable @Nullable Location location, boolean force) Opens an empty workbench inventory window with the player's inventory on the bottom.- Parameters:
location
- The location to attach it to. If null, the player's location is used.force
- If false, and there is no workbench block at the location, no inventory will be opened and null will be returned.- Returns:
- The newly opened inventory view, or null if it could not be opened.
-
openEnchanting
@Nullable @Nullable InventoryView openEnchanting(@Nullable @Nullable Location location, boolean force) Opens an empty enchanting inventory window with the player's inventory on the bottom.- Parameters:
location
- The location to attach it to. If null, the player's location is used.force
- If false, and there is no enchanting table at the location, no inventory will be opened and null will be returned.- Returns:
- The newly opened inventory view, or null if it could not be opened.
-
openInventory
Opens an inventory window to the specified inventory view.The player associated with the InventoryView must be the same as this instance of HumanEntity.
The player of the InventoryView can be checked using
InventoryView.getPlayer()
.- Parameters:
inventory
- The view to open
-
openMerchant
Starts a trade between the player and the villager. Note that only one player may trade with a villager at once. You must use the force parameter for this.- Parameters:
trader
- The merchant to trade with. Cannot be null.force
- whether to force the trade even if another player is trading- Returns:
- The newly opened inventory view, or null if it could not be opened.
-
openMerchant
Starts a trade between the player and the merchant. Note that only one player may trade with a merchant at once. You must use the force parameter for this.- Parameters:
merchant
- The merchant to trade with. Cannot be null.force
- whether to force the trade even if another player is trading- Returns:
- The newly opened inventory view, or null if it could not be opened.
-
openAnvil
Opens an empty anvil inventory window with the player's inventory on the bottom.- Parameters:
location
- The location to attach it to. If null, the player's location is used.force
- If false, and there is no anvil block at the location, no inventory will be opened and null will be returned.- Returns:
- The newly opened inventory view, or null if it could not be opened.
-
openCartographyTable
@Nullable @Nullable InventoryView openCartographyTable(@Nullable @Nullable Location location, boolean force) Opens an empty cartography table inventory window with the player's inventory on the bottom.- Parameters:
location
- The location to attach it to. If null, the player's location is used.force
- If false, and there is no cartography table block at the location, no inventory will be opened and null will be returned.- Returns:
- The newly opened inventory view, or null if it could not be opened.
-
openGrindstone
@Nullable @Nullable InventoryView openGrindstone(@Nullable @Nullable Location location, boolean force) Opens an empty grindstone inventory window with the player's inventory on the bottom.- Parameters:
location
- The location to attach it to. If null, the player's location is used.force
- If false, and there is no grindstone block at the location, no inventory will be opened and null will be returned.- Returns:
- The newly opened inventory view, or null if it could not be opened.
-
openLoom
Opens an empty loom inventory window with the player's inventory on the bottom.- Parameters:
location
- The location to attach it to. If null, the player's location is used.force
- If false, and there is no loom block at the location, no inventory will be opened and null will be returned.- Returns:
- The newly opened inventory view, or null if it could not be opened.
-
openSmithingTable
@Nullable @Nullable InventoryView openSmithingTable(@Nullable @Nullable Location location, boolean force) Opens an empty smithing table inventory window with the player's inventory on the bottom.- Parameters:
location
- The location to attach it to. If null, the player's location is used.force
- If false, and there is no smithing table block at the location, no inventory will be opened and null will be returned.- Returns:
- The newly opened inventory view, or null if it could not be opened.
-
openStonecutter
@Nullable @Nullable InventoryView openStonecutter(@Nullable @Nullable Location location, boolean force) Opens an empty stonecutter inventory window with the player's inventory on the bottom.- Parameters:
location
- The location to attach it to. If null, the player's location is used.force
- If false, and there is no stonecutter block at the location, no inventory will be opened and null will be returned.- Returns:
- The newly opened inventory view, or null if it could not be opened.
-
closeInventory
void closeInventory()Force-closes the currently open inventory view for this player, if any. -
closeInventory
Force-closes the currently open inventory view for this player, if any.- Parameters:
reason
- why the inventory is closing
-
getItemInHand
Deprecated.Humans may now dual wield in their off hand, use explicit methods inPlayerInventory
.Returns the ItemStack currently in your hand, can be empty.- Returns:
- The ItemStack of the item you are currently holding.
-
setItemInHand
Deprecated.Humans may now dual wield in their off hand, use explicit methods inPlayerInventory
.Sets the item to the given ItemStack, this will replace whatever the user was holding.- Parameters:
item
- The ItemStack which will end up in the hand
-
getItemOnCursor
Returns the ItemStack currently on your cursor, can be empty. Will always be empty if the player currently has no open window.- Returns:
- The ItemStack of the item you are currently moving around.
-
setItemOnCursor
Sets the item to the given ItemStack, this will replace whatever the user was moving. Will always be empty if the player currently has no open window.- Parameters:
item
- The ItemStack which will end up in the hand
-
hasCooldown
Check whether a cooldown is active on the specified material.- Parameters:
material
- the material to check- Returns:
- if a cooldown is active on the material
- Throws:
IllegalArgumentException
- if the material is not an item
-
getCooldown
Get the cooldown time in ticks remaining for the specified material.- Parameters:
material
- the material to check- Returns:
- the remaining cooldown time in ticks
- Throws:
IllegalArgumentException
- if the material is not an item
-
setCooldown
Set a cooldown on the specified material for a certain amount of ticks. ticks. 0 ticks will result in the removal of the cooldown.Cooldowns are used by the server for items such as ender pearls and shields to prevent them from being used repeatedly.
Note that cooldowns will not by themselves stop an item from being used for attacking.
- Parameters:
material
- the material to set the cooldown forticks
- the amount of ticks to set or 0 to remove- Throws:
IllegalArgumentException
- if the material is not an item
-
setHurtDirection
void setHurtDirection(float hurtDirection) Sets player hurt direction- Specified by:
setHurtDirection
in interfaceLivingEntity
- Parameters:
hurtDirection
- hurt direction
-
isDeeplySleeping
boolean isDeeplySleeping()If the player has slept enough to count towards passing the night.- Returns:
- true if the player has slept enough
-
hasCooldown
Check whether a cooldown is active on the specified item.- Parameters:
item
- the item to check- Returns:
- if a cooldown is active on the item
-
getCooldown
Get the cooldown time in ticks remaining for the specified item.- Parameters:
item
- the item to check- Returns:
- the remaining cooldown time in ticks
-
setCooldown
Set a cooldown on the specified item for a certain amount of ticks. ticks. 0 ticks will result in the removal of the cooldown.Cooldowns are used by the server for items such as ender pearls and shields to prevent them from being used repeatedly.
Note that cooldowns will not by themselves stop an item from being used for attacking.
- Parameters:
item
- the item to set the cooldown forticks
- the amount of ticks to set or 0 to remove
-
getSleepTicks
int getSleepTicks()Get the sleep ticks of the player. This value may be capped.- Returns:
- slumber ticks
-
getPotentialBedLocation
Gets the Location of the player's bed, null if they have not slept in one. This method will not attempt to validate if the current bed is still valid.- Returns:
- Bed Location if has slept in one, otherwise null.
-
getFishHook
- Returns:
- the player's fishing hook if they are fishing
-
sleep
Attempts to make the entity sleep at the given location.
The location must be in the current world and have a bed placed at the location. The game may also enforce other requirements such as proximity to bed, monsters, and dimension type if force is not set.- Parameters:
location
- the location of the bedforce
- whether to try and sleep at the location even if not normally possible- Returns:
- whether the sleep was successful
-
wakeup
void wakeup(boolean setSpawnLocation) Causes the player to wakeup if they are currently sleeping.- Parameters:
setSpawnLocation
- whether to set their spawn location to the bed they are currently sleeping in- Throws:
IllegalStateException
- if not sleeping
-
startRiptideAttack
void startRiptideAttack(int duration, float attackStrength, @Nullable @Nullable ItemStack attackItem) Make the player start a riptide spin attack.- Parameters:
duration
- spin attack duration in ticks.attackStrength
- damage value inflicted upon entities hit by spin attack.attackItem
- item used to attack.
-
getBedLocation
Gets the location of the bed the player is currently sleeping in- Returns:
- location
- Throws:
IllegalStateException
- if not sleeping
-
getGameMode
Gets this human's currentGameMode
- Returns:
- Current game mode
-
setGameMode
Sets this human's currentGameMode
- Parameters:
mode
- New game mode
-
isBlocking
boolean isBlocking()Check if the player is currently blocking (ie with a shield).- Returns:
- Whether they are blocking.
-
isHandRaised
Check if the player currently has their hand raised (ie about to begin blocking).- Specified by:
isHandRaised
in interfaceLivingEntity
- Returns:
- Whether their hand is raised
- See Also:
-
getExpToLevel
int getExpToLevel()Get the total amount of experience required for the player to level- Returns:
- Experience required to level up
-
releaseLeftShoulderEntity
If there is an Entity on this entities left shoulder, it will be released to the world and returned. If no Entity is released, null will be returned.- Returns:
- The released entity, or null
-
releaseRightShoulderEntity
If there is an Entity on this entities left shoulder, it will be released to the world and returned. If no Entity is released, null will be returned.- Returns:
- The released entity, or null
-
getAttackCooldown
float getAttackCooldown()Gets the current cooldown for a player's attack. This is used to calculate damage, with 1.0 representing a fully charged attack and 0.0 representing a non-charged attack- Returns:
- A float between 0.0-1.0 representing the progress of the charge
-
discoverRecipe
Discover a recipe for this player such that it has not already been discovered. This method will add the key's associated recipe to the player's recipe book.- Parameters:
recipe
- the key of the recipe to discover- Returns:
- whether or not the recipe was newly discovered
-
discoverRecipes
Discover a collection of recipes for this player such that they have not already been discovered. This method will add the keys' associated recipes to the player's recipe book. If a recipe in the provided collection has already been discovered, it will be silently ignored.- Parameters:
recipes
- the keys of the recipes to discover- Returns:
- the amount of newly discovered recipes where 0 indicates that
none were newly discovered and a number equal to
recipes.size()
indicates that all were new
-
undiscoverRecipe
Undiscover a recipe for this player such that it has already been discovered. This method will remove the key's associated recipe from the player's recipe book.- Parameters:
recipe
- the key of the recipe to undiscover- Returns:
- whether or not the recipe was successfully undiscovered (i.e. it was previously discovered)
-
undiscoverRecipes
Undiscover a collection of recipes for this player such that they have already been discovered. This method will remove the keys' associated recipes from the player's recipe book. If a recipe in the provided collection has not yet been discovered, it will be silently ignored.- Parameters:
recipes
- the keys of the recipes to undiscover- Returns:
- the amount of undiscovered recipes where 0 indicates that none
were undiscovered and a number equal to
recipes.size()
indicates that all were undiscovered
-
hasDiscoveredRecipe
Check whether or not this entity has discovered the specified recipe.- Parameters:
recipe
- the key of the recipe to check- Returns:
- true if discovered, false otherwise
-
getDiscoveredRecipes
Get an immutable set of recipes this entity has discovered.- Returns:
- all discovered recipes
-
getShoulderEntityLeft
Deprecated.There are currently no well defined semantics regarding serialized entities in Bukkit. Use with care.Gets the entity currently perched on the left shoulder or null if no entity.
The returned entity will not be spawned within the world, so most operations are invalid unless the entity is first spawned in.- Returns:
- left shoulder entity
-
setShoulderEntityLeft
Deprecated.There are currently no well defined semantics regarding serialized entities in Bukkit. Use with care.Sets the entity currently perched on the left shoulder, or null to remove. This method will remove the entity from the world.
Note that only a copy of the entity will be set to display on the shoulder.
Also note that the client will currently only renderParrot
entities.- Parameters:
entity
- left shoulder entity
-
getShoulderEntityRight
Deprecated.There are currently no well defined semantics regarding serialized entities in Bukkit. Use with care.Gets the entity currently perched on the right shoulder or null if no entity.
The returned entity will not be spawned within the world, so most operations are invalid unless the entity is first spawned in.- Returns:
- right shoulder entity
-
setShoulderEntityRight
Deprecated.There are currently no well defined semantics regarding serialized entities in Bukkit. Use with care.Sets the entity currently perched on the right shoulder, or null to remove. This method will remove the entity from the world.
Note that only a copy of the entity will be set to display on the shoulder.
Also note that the client will currently only renderParrot
entities.- Parameters:
entity
- right shoulder entity
-
openSign
Deprecated.Opens an editor window for the specified sign- Parameters:
sign
- The sign to open
-
openSign
Opens an editor window for the specified sign- Parameters:
sign
- The sign to openside
- The side of the sign to open
-
dropItem
boolean dropItem(boolean dropAll) Make the entity drop the item in their hand.
This will force the entity to drop the item they are holding with an option to drop the entireItemStack
or just 1 of the items.- Parameters:
dropAll
- True to drop entire stack, false to drop 1 of the stack- Returns:
- True if item was dropped successfully
-
getExhaustion
float getExhaustion()Gets the players current exhaustion level.Exhaustion controls how fast the food level drops. While you have a certain amount of exhaustion, your saturation will drop to zero, and then your food will drop to zero.
- Returns:
- Exhaustion level
-
setExhaustion
void setExhaustion(float value) Sets the players current exhaustion level- Parameters:
value
- Exhaustion level
-
getSaturation
float getSaturation()Gets the players current saturation level.Saturation is a buffer for food level. Your food level will not drop if you are saturated > 0.
- Returns:
- Saturation level
-
setSaturation
void setSaturation(float value) Sets the players current saturation level- Parameters:
value
- Saturation level
-
getFoodLevel
int getFoodLevel()Gets the players current food level- Returns:
- Food level
-
setFoodLevel
void setFoodLevel(int value) Sets the players current food level- Parameters:
value
- New food level
-
getSaturatedRegenRate
int getSaturatedRegenRate()Get the regeneration rate (1 health per x ticks) of the HumanEntity when they have saturation and their food level is >= 20. Default is 10.- Returns:
- the regeneration rate
-
setSaturatedRegenRate
void setSaturatedRegenRate(int ticks) Set the regeneration rate (1 health per x ticks) of the HumanEntity when they have saturation and their food level is >= 20. Default is 10. Not affected if the world's difficulty is peaceful.- Parameters:
ticks
- the amount of ticks to gain 1 health.
-
getUnsaturatedRegenRate
int getUnsaturatedRegenRate()Get the regeneration rate (1 health per x ticks) of the HumanEntity when they have no saturation and their food level is >= 18. Default is 80.- Returns:
- the regeneration rate
-
setUnsaturatedRegenRate
void setUnsaturatedRegenRate(int ticks) Get the regeneration rate (1 health per x ticks) of the HumanEntity when they have no saturation and their food level is >= 18. Default is 80. Not affected if the world's difficulty is peaceful.- Parameters:
ticks
- the amount of ticks to gain 1 health.
-
getStarvationRate
int getStarvationRate()Get the starvation rate (1 health per x ticks) of the HumanEntity. Default is 80.- Returns:
- the starvation rate
-
setStarvationRate
void setStarvationRate(int ticks) Get the starvation rate (1 health per x ticks) of the HumanEntity. Default is 80.- Parameters:
ticks
- the amount of ticks to lose 1 health
-
getLastDeathLocation
Gets the player's last death location.- Returns:
- the last death location if it exists, otherwise null.
-
setLastDeathLocation
Sets the player's last death location.
Note: This data is updated in the player's client only when the player respawns.- Parameters:
location
- where to set the last death player location
-
fireworkBoost
Perform a firework boost.This method will only work such that
LivingEntity.isGliding()
is true and the entity is actively gliding with an elytra. Additionally, the suppliedfireworkItemStack
must be a firework rocket. The power of the boost will directly correlate toFireworkMeta.getPower()
.- Parameters:
fireworkItemStack
- the firework item stack to use to glide- Returns:
- the attached
Firework
, or null if the entity could not be boosted - Throws:
IllegalArgumentException
- if the fireworkItemStack is not a firework
-
PlayerInventory
.