PocketMine-MP 5.15.1 git-be6754494fdbbb9dd57c058ba0e33a4a78c4581f
pocketmine\item\Durable Class Reference
+ Inheritance diagram for pocketmine\item\Durable:
+ Collaboration diagram for pocketmine\item\Durable:

Public Member Functions

 __clone ()
 
 __toString ()
 
 applyDamage (int $amount)
 
 canBePlaced ()
 
 canStackWith (Item $other)
 
 clearCustomBlockData ()
 
 clearCustomName ()
 
 clearNamedTag ()
 
 equals (Item $item, bool $checkDamage=true, bool $checkCompound=true)
 
 equalsExact (Item $other)
 
 getAttackPoints ()
 
 getBlock (?int $clickedFace=null)
 
 getBlockToolHarvestLevel ()
 
 getBlockToolType ()
 
 getCanDestroy ()
 
 getCanPlaceOn ()
 
 getCooldownTicks ()
 
 getCount ()
 
 getCustomBlockData ()
 
 getCustomName ()
 
 getDamage ()
 
 getDefensePoints ()
 
 getEnchantability ()
 
 getEnchantmentTags ()
 
 getFuelResidue ()
 
 getFuelTime ()
 
 getLore ()
 
 getMaxDurability ()
 
 getMaxStackSize ()
 
 getMiningEfficiency (bool $isCorrectTool)
 
 getName ()
 
 getNamedTag ()
 
 getStateId ()
 
 getTypeId ()
 
 getVanillaName ()
 
 hasCustomBlockData ()
 
 hasCustomName ()
 
 hasNamedTag ()
 
 isBroken ()
 
 isFireProof ()
 
 isNull ()
 
 isUnbreakable ()
 
 jsonSerialize ()
 
 keepOnDeath ()
 
 nbtSerialize (int $slot=-1)
 
 onAttackEntity (Entity $victim, array &$returnedItems)
 
 onClickAir (Player $player, Vector3 $directionVector, array &$returnedItems)
 
 onDestroyBlock (Block $block, array &$returnedItems)
 
 onInteractBlock (Player $player, Block $blockReplace, Block $blockClicked, int $face, Vector3 $clickVector, array &$returnedItems)
 
 onInteractEntity (Player $player, Entity $entity, Vector3 $clickVector)
 
 onReleaseUsing (Player $player, array &$returnedItems)
 
 onTickWorn (Living $entity)
 
 pop (int $count=1)
 
 setCanDestroy (array $canDestroy)
 
 setCanPlaceOn (array $canPlaceOn)
 
 setCount (int $count)
 
 setCustomBlockData (CompoundTag $compound)
 
 setCustomName (string $name)
 
 setDamage (int $damage)
 
 setKeepOnDeath (bool $keepOnDeath)
 
 setLore (array $lines)
 
 setNamedTag (CompoundTag $tag)
 
 setUnbreakable (bool $value=true)
 

Static Public Member Functions

static legacyJsonDeserialize (array $data)
 
static nbtDeserialize (CompoundTag $tag)
 

Public Attributes

const TAG_BLOCK_ENTITY_TAG = "BlockEntityTag"
 
const TAG_DISPLAY = "display"
 
const TAG_DISPLAY_LORE = "Lore"
 
const TAG_DISPLAY_NAME = "Name"
 
const TAG_ENCH = "ench"
 
const TAG_KEEP_ON_DEATH = "minecraft:keep_on_death"
 

Protected Member Functions

 describeState (RuntimeDataDescriber $w)
 
 deserializeCompoundTag (CompoundTag $tag)
 
 getUnbreakingDamageReduction (int $amount)
 
 onBroken ()
 
 serializeCompoundTag (CompoundTag $tag)
 

Protected Attributes

CompoundTag $blockEntityTag = null
 
array $canDestroy = []
 
array $canPlaceOn = []
 
int $count = 1
 
string $customName = ""
 
int $damage = 0
 
bool $keepOnDeath = false
 
array $lore = []
 

Detailed Description

Definition at line 31 of file Durable.php.

Member Function Documentation

◆ __clone()

pocketmine\item\Item::__clone ( )
inherited

Definition at line 753 of file Item.php.

◆ __toString()

pocketmine\item\Item::__toString ( )
finalinherited

Definition at line 682 of file Item.php.

◆ applyDamage()

pocketmine\item\Durable::applyDamage ( int  $amount)

Applies damage to the item.

Returns
bool if any damage was applied to the item

Definition at line 57 of file Durable.php.

Referenced by pocketmine\item\FlintSteel\onInteractBlock().

+ Here is the caller graph for this function:

◆ canBePlaced()

pocketmine\item\Item::canBePlaced ( )
finalinherited

Definition at line 484 of file Item.php.

◆ canStackWith()

pocketmine\item\Item::canStackWith ( Item  $other)
finalinherited

Returns whether this item could stack with the given item (ignoring stack size and count).

Definition at line 671 of file Item.php.

◆ clearCustomBlockData()

pocketmine\item\Item::clearCustomBlockData ( )
inherited
Returns
$this

Definition at line 128 of file Item.php.

◆ clearCustomName()

pocketmine\item\Item::clearCustomName ( )
inherited
Returns
$this

Definition at line 166 of file Item.php.

◆ clearNamedTag()

pocketmine\item\Item::clearNamedTag ( )
inherited

Removes the Item's NBT.

Returns
$this
Exceptions
NbtException

Definition at line 279 of file Item.php.

◆ describeState()

pocketmine\item\Item::describeState ( RuntimeDataDescriber  $w)
protectedinherited

Describes state properties of the item, such as colour, skull type, etc. This allows associating basic extra data with the item at runtime in a more efficient format than NBT.

Reimplemented in pocketmine\item\Banner, pocketmine\item\CoralFan, pocketmine\item\Dye, pocketmine\item\ItemBlock, pocketmine\item\Medicine, pocketmine\item\Potion, pocketmine\item\SplashPotion, and pocketmine\item\SuspiciousStew.

Definition at line 513 of file Item.php.

◆ deserializeCompoundTag()

pocketmine\item\Durable::deserializeCompoundTag ( CompoundTag  $tag)
protected
Exceptions
NbtException

Reimplemented from pocketmine\item\Item.

Reimplemented in pocketmine\item\Armor.

Definition at line 121 of file Durable.php.

◆ equals()

pocketmine\item\Item::equals ( Item  $item,
bool  $checkDamage = true,
bool  $checkCompound = true 
)
finalinherited

Compares an Item to this Item and check if they match.

Parameters
bool$checkDamage
Deprecated:
Parameters
bool$checkCompoundWhether to verify that the items' NBT match.

Definition at line 663 of file Item.php.

◆ equalsExact()

pocketmine\item\Item::equalsExact ( Item  $other)
finalinherited

Returns whether the specified item stack has the same ID, damage, NBT and count as this item stack.

Definition at line 678 of file Item.php.

◆ getAttackPoints()

pocketmine\item\Item::getAttackPoints ( )
inherited

Returns how many points of damage this item will deal to an entity when used as a weapon.

Reimplemented in pocketmine\item\Axe, pocketmine\item\Pickaxe, pocketmine\item\Shovel, and pocketmine\item\Sword.

Definition at line 551 of file Item.php.

◆ getBlock()

pocketmine\item\Item::getBlock ( ?int  $clickedFace = null)
inherited

◆ getBlockToolHarvestLevel()

pocketmine\item\Item::getBlockToolHarvestLevel ( )
inherited

Returns the harvesting power that this tool has. This affects what blocks it can mine when the tool type matches the mined block. This should return 1 for non-tiered tools, and the tool tier for tiered tools.

See also
BlockBreakInfo::getToolHarvestLevel()

Reimplemented in pocketmine\item\Axe, pocketmine\item\Pickaxe, pocketmine\item\Shears, pocketmine\item\Shovel, and pocketmine\item\Sword.

Definition at line 577 of file Item.php.

◆ getBlockToolType()

pocketmine\item\Item::getBlockToolType ( )
inherited

Returns what type of block-breaking tool this is. Blocks requiring the same tool type as the item will break faster (except for blocks requiring no tool, which break at the same speed regardless of the tool used)

Reimplemented in pocketmine\item\Axe, pocketmine\item\Hoe, pocketmine\item\Pickaxe, pocketmine\item\Shears, pocketmine\item\Shovel, and pocketmine\item\Sword.

Definition at line 566 of file Item.php.

◆ getCanDestroy()

pocketmine\item\Item::getCanDestroy ( )
inherited
Returns
string[] @phpstan-return array<string, string>

Definition at line 216 of file Item.php.

◆ getCanPlaceOn()

pocketmine\item\Item::getCanPlaceOn ( )
inherited
Returns
string[] @phpstan-return array<string, string>

Definition at line 198 of file Item.php.

◆ getCooldownTicks()

pocketmine\item\Item::getCooldownTicks ( )
inherited

Returns the number of ticks a player must wait before activating this item again.

Reimplemented in pocketmine\item\ChorusFruit, and pocketmine\item\EnderPearl.

Definition at line 653 of file Item.php.

◆ getCount()

pocketmine\item\Item::getCount ( )
inherited

Definition at line 411 of file Item.php.

◆ getCustomBlockData()

pocketmine\item\Item::getCustomBlockData ( )
inherited

Definition at line 142 of file Item.php.

◆ getCustomName()

pocketmine\item\Item::getCustomName ( )
inherited

Definition at line 150 of file Item.php.

◆ getDamage()

pocketmine\item\Durable::getDamage ( )

Definition at line 72 of file Durable.php.

◆ getDefensePoints()

pocketmine\item\Item::getDefensePoints ( )
inherited

Returns how many armor points can be gained by wearing this item.

Reimplemented in pocketmine\item\Armor.

Definition at line 558 of file Item.php.

◆ getEnchantability()

pocketmine\item\Item::getEnchantability ( )
inherited

Returns the value that defines how enchantable the item is.

The higher an item's enchantability is, the more likely it will be to gain high-level enchantments or multiple enchantments upon being enchanted in an enchanting table.

Reimplemented in pocketmine\item\Armor, and pocketmine\item\TieredTool.

Definition at line 480 of file Item.php.

◆ getEnchantmentTags()

pocketmine\item\Item::getEnchantmentTags ( )
inherited

Returns tags that represent the type of item being enchanted and are used to determine what enchantments can be applied to this item during in-game enchanting (enchanting table, anvil, fishing, etc.).

See also
ItemEnchantmentTags
ItemEnchantmentTagRegistry
AvailableEnchantmentRegistry
Returns
string[]

Definition at line 470 of file Item.php.

◆ getFuelResidue()

pocketmine\item\Item::getFuelResidue ( )
inherited

Returns an item after burning fuel

Reimplemented in pocketmine\item\LiquidBucket.

Definition at line 534 of file Item.php.

◆ getFuelTime()

◆ getLore()

pocketmine\item\Item::getLore ( )
inherited
Returns
string[]

Definition at line 174 of file Item.php.

◆ getMaxDurability()

pocketmine\item\Durable::getMaxDurability ( )
abstract

Returns the maximum amount of damage this item can take before it breaks.

Reimplemented in pocketmine\item\Armor, pocketmine\item\Bow, pocketmine\item\FishingRod, pocketmine\item\FlintSteel, pocketmine\item\Shears, and pocketmine\item\TieredTool.

◆ getMaxStackSize()

◆ getMiningEfficiency()

pocketmine\item\Item::getMiningEfficiency ( bool  $isCorrectTool)
inherited

Definition at line 581 of file Item.php.

◆ getName()

pocketmine\item\Item::getName ( )
finalinherited

Returns the name of the item, or the custom name if it is set.

Definition at line 450 of file Item.php.

◆ getNamedTag()

pocketmine\item\Item::getNamedTag ( )
inherited

Returns a tree of Tag objects representing the Item's NBT. If the item does not have any NBT, an empty CompoundTag object is returned to allow the caller to manipulate and apply back to the item.

Definition at line 252 of file Item.php.

◆ getStateId()

pocketmine\item\Item::getStateId ( )
finalinherited

Definition at line 499 of file Item.php.

◆ getTypeId()

pocketmine\item\Item::getTypeId ( )
finalinherited

Definition at line 495 of file Item.php.

◆ getUnbreakingDamageReduction()

pocketmine\item\Durable::getUnbreakingDamageReduction ( int  $amount)
protected

Definition at line 84 of file Durable.php.

◆ getVanillaName()

pocketmine\item\Item::getVanillaName ( )
inherited

Returns the vanilla name of the item, disregarding custom names.

Definition at line 457 of file Item.php.

◆ hasCustomBlockData()

pocketmine\item\Item::hasCustomBlockData ( )
inherited

Definition at line 121 of file Item.php.

◆ hasCustomName()

pocketmine\item\Item::hasCustomName ( )
inherited

Definition at line 146 of file Item.php.

◆ hasNamedTag()

pocketmine\item\Item::hasNamedTag ( )
inherited

Returns whether this Item has a non-empty NBT.

Definition at line 244 of file Item.php.

◆ isBroken()

pocketmine\item\Durable::isBroken ( )

Returns whether the item is broken.

Definition at line 117 of file Durable.php.

◆ isFireProof()

pocketmine\item\Item::isFireProof ( )
inherited

Returns whether this item can survive being dropped into lava, or fire.

Reimplemented in pocketmine\item\Armor, pocketmine\item\ItemBlock, and pocketmine\item\TieredTool.

Definition at line 544 of file Item.php.

◆ isNull()

pocketmine\item\Item::isNull ( )
inherited

Definition at line 443 of file Item.php.

◆ isUnbreakable()

pocketmine\item\Durable::isUnbreakable ( )

Returns whether this item will take damage when used.

Definition at line 38 of file Durable.php.

◆ jsonSerialize()

pocketmine\item\Item::jsonSerialize ( )
inherited

@phpstan-return never

Definition at line 689 of file Item.php.

◆ keepOnDeath()

pocketmine\item\Item::keepOnDeath ( )
inherited

Returns whether players will retain this item on death. If a non-player dies it will be excluded from the drops.

Definition at line 233 of file Item.php.

◆ legacyJsonDeserialize()

static pocketmine\item\Item::legacyJsonDeserialize ( array  $data)
staticfinalinherited

Deserializes item JSON data produced by json_encode()ing Item instances in older versions of PocketMine-MP. This method exists solely to allow upgrading old JSON data stored by plugins.

Parameters
mixed[]$data
Exceptions
SavedDataLoadingException

Definition at line 701 of file Item.php.

◆ nbtDeserialize()

static pocketmine\item\Item::nbtDeserialize ( CompoundTag  $tag)
staticinherited

Deserializes an Item from an NBT CompoundTag

Exceptions
SavedDataLoadingException

Definition at line 740 of file Item.php.

◆ nbtSerialize()

pocketmine\item\Item::nbtSerialize ( int  $slot = -1)
inherited

Serializes the item to an NBT CompoundTag

Parameters
int$slotoptional, the inventory slot of the item

Definition at line 732 of file Item.php.

◆ onAttackEntity()

pocketmine\item\Item::onAttackEntity ( Entity  $victim,
array &  $returnedItems 
)
inherited

Called when this item is used to attack an entity. Usually used to update durability.

Parameters
Item[]&$returnedItemsItems to be added to the target's inventory (or dropped, if the inventory is full)

Reimplemented in pocketmine\item\Axe, pocketmine\item\Hoe, pocketmine\item\Pickaxe, pocketmine\item\Shovel, and pocketmine\item\Sword.

Definition at line 628 of file Item.php.

◆ onBroken()

pocketmine\item\Durable::onBroken ( )
protected

Called when the item's damage exceeds its maximum durability.

Definition at line 104 of file Durable.php.

◆ onClickAir()

pocketmine\item\Item::onClickAir ( Player  $player,
Vector3  $directionVector,
array &  $returnedItems 
)
inherited

Called when a player uses the item on air, for example throwing a projectile. Returns whether the item was changed, for example count decrease or durability change.

Parameters
Item[]&$returnedItemsItems to be added to the target's inventory (or dropped, if the inventory is full)

Reimplemented in pocketmine\item\Armor, and pocketmine\item\ProjectileItem.

Definition at line 600 of file Item.php.

◆ onDestroyBlock()

pocketmine\item\Item::onDestroyBlock ( Block  $block,
array &  $returnedItems 
)
inherited

Called when this item is used to destroy a block. Usually used to update durability.

Parameters
Item[]&$returnedItemsItems to be added to the target's inventory (or dropped, if the inventory is full)

Reimplemented in pocketmine\item\Axe, pocketmine\item\Hoe, pocketmine\item\Pickaxe, pocketmine\item\Shears, pocketmine\item\Shovel, and pocketmine\item\Sword.

Definition at line 619 of file Item.php.

◆ onInteractBlock()

pocketmine\item\Item::onInteractBlock ( Player  $player,
Block  $blockReplace,
Block  $blockClicked,
int  $face,
Vector3  $clickVector,
array &  $returnedItems 
)
inherited

Called when a player uses this item on a block.

Parameters
Item[]&$returnedItemsItems to be added to the target's inventory (or dropped, if the inventory is full)

Reimplemented in pocketmine\item\Bucket, pocketmine\item\FireCharge, pocketmine\item\FlintSteel, pocketmine\item\GlassBottle, pocketmine\item\LiquidBucket, pocketmine\item\PaintingItem, and pocketmine\item\SpawnEgg.

Definition at line 590 of file Item.php.

◆ onInteractEntity()

pocketmine\item\Item::onInteractEntity ( Player  $player,
Entity  $entity,
Vector3  $clickVector 
)
inherited

Called when a player uses the item to interact with entity, for example by using a name tag.

Parameters
Vector3$clickVectorThe exact position of the click (absolute coordinates)
Returns
bool whether some action took place

Reimplemented in pocketmine\item\NameTag.

Definition at line 646 of file Item.php.

◆ onReleaseUsing()

pocketmine\item\Item::onReleaseUsing ( Player  $player,
array &  $returnedItems 
)
inherited

Called when a player is using this item and releases it. Used to handle bow shoot actions. Returns whether the item was changed, for example count decrease or durability change.

Parameters
Item[]&$returnedItemsItems to be added to the target's inventory (or dropped, if the inventory is full)

Reimplemented in pocketmine\item\Bow.

Definition at line 610 of file Item.php.

◆ onTickWorn()

pocketmine\item\Item::onTickWorn ( Living  $entity)
inherited

Called when this item is being worn by an entity. Returns whether it did something.

Reimplemented in pocketmine\item\TurtleHelmet.

Definition at line 636 of file Item.php.

◆ pop()

pocketmine\item\Item::pop ( int  $count = 1)
inherited

◆ serializeCompoundTag()

pocketmine\item\Durable::serializeCompoundTag ( CompoundTag  $tag)
protected

Reimplemented from pocketmine\item\Item.

Definition at line 132 of file Durable.php.

◆ setCanDestroy()

pocketmine\item\Item::setCanDestroy ( array  $canDestroy)
inherited
Parameters
string[]$canDestroy

Definition at line 223 of file Item.php.

◆ setCanPlaceOn()

pocketmine\item\Item::setCanPlaceOn ( array  $canPlaceOn)
inherited
Parameters
string[]$canPlaceOn

Definition at line 205 of file Item.php.

◆ setCount()

pocketmine\item\Item::setCount ( int  $count)
inherited
Returns
$this

Definition at line 418 of file Item.php.

◆ setCustomBlockData()

pocketmine\item\Item::setCustomBlockData ( CompoundTag  $compound)
inherited
Returns
$this

Definition at line 136 of file Item.php.

Referenced by pocketmine\block\Block\getPickedItem().

+ Here is the caller graph for this function:

◆ setCustomName()

pocketmine\item\Item::setCustomName ( string  $name)
inherited
Returns
$this

Definition at line 157 of file Item.php.

◆ setDamage()

pocketmine\item\Durable::setDamage ( int  $damage)

Definition at line 76 of file Durable.php.

◆ setKeepOnDeath()

pocketmine\item\Item::setKeepOnDeath ( bool  $keepOnDeath)
inherited

Definition at line 237 of file Item.php.

◆ setLore()

pocketmine\item\Item::setLore ( array  $lines)
inherited
Parameters
string[]$lines
Returns
$this

Definition at line 183 of file Item.php.

Referenced by pocketmine\block\Block\getPickedItem().

+ Here is the caller graph for this function:

◆ setNamedTag()

pocketmine\item\Item::setNamedTag ( CompoundTag  $tag)
inherited

Sets the Item's NBT from the supplied CompoundTag object.

Returns
$this
Exceptions
NbtException

Definition at line 263 of file Item.php.

◆ setUnbreakable()

pocketmine\item\Durable::setUnbreakable ( bool  $value = true)

Sets whether the item will take damage when used.

Returns
$this

Definition at line 47 of file Durable.php.

Member Data Documentation

◆ $blockEntityTag

CompoundTag pocketmine\item\Item::$blockEntityTag = null
protectedinherited

TODO: this needs to die in a fire

Definition at line 88 of file Item.php.

◆ $canDestroy

array pocketmine\item\Item::$canDestroy = []
protectedinherited

Definition at line 99 of file Item.php.

◆ $canPlaceOn

array pocketmine\item\Item::$canPlaceOn = []
protectedinherited

Definition at line 94 of file Item.php.

◆ $count

int pocketmine\item\Item::$count = 1
protectedinherited

Definition at line 80 of file Item.php.

◆ $customName

string pocketmine\item\Item::$customName = ""
protectedinherited

Definition at line 84 of file Item.php.

◆ $damage

int pocketmine\item\Durable::$damage = 0
protected

Definition at line 32 of file Durable.php.

◆ $keepOnDeath

bool pocketmine\item\Item::$keepOnDeath = false
protectedinherited

Definition at line 101 of file Item.php.

◆ $lore

array pocketmine\item\Item::$lore = []
protectedinherited

Definition at line 86 of file Item.php.

◆ TAG_BLOCK_ENTITY_TAG

const pocketmine\item\Item::TAG_BLOCK_ENTITY_TAG = "BlockEntityTag"
inherited

Definition at line 68 of file Item.php.

◆ TAG_DISPLAY

const pocketmine\item\Item::TAG_DISPLAY = "display"
inherited

Definition at line 67 of file Item.php.

◆ TAG_DISPLAY_LORE

const pocketmine\item\Item::TAG_DISPLAY_LORE = "Lore"
inherited

Definition at line 71 of file Item.php.

◆ TAG_DISPLAY_NAME

const pocketmine\item\Item::TAG_DISPLAY_NAME = "Name"
inherited

Definition at line 70 of file Item.php.

◆ TAG_ENCH

const pocketmine\item\Item::TAG_ENCH = "ench"
inherited

Definition at line 63 of file Item.php.

◆ TAG_KEEP_ON_DEATH

const pocketmine\item\Item::TAG_KEEP_ON_DEATH = "minecraft:keep_on_death"
inherited

Definition at line 73 of file Item.php.


The documentation for this class was generated from the following file: