diff --git a/src/pocketmine/item/Armor.php b/src/pocketmine/item/Armor.php index 8b2d641b9..c00141e79 100644 --- a/src/pocketmine/item/Armor.php +++ b/src/pocketmine/item/Armor.php @@ -24,11 +24,14 @@ declare(strict_types=1); namespace pocketmine\item; +use pocketmine\block\Block; use pocketmine\event\entity\EntityDamageEvent; use pocketmine\inventory\ArmorInventory; use pocketmine\item\enchantment\Enchantment; use pocketmine\item\enchantment\ProtectionEnchantment; +use pocketmine\math\Vector3; use pocketmine\nbt\tag\IntTag; +use pocketmine\Player; use pocketmine\utils\Binary; use pocketmine\utils\Color; use function lcg_value; @@ -122,4 +125,13 @@ abstract class Armor extends Durable{ return 0; } + + public function onActivate(Player $player, Block $blockReplace, Block $blockClicked, int $face, Vector3 $clickVector) : ItemUseResult{ + $existing = $player->getArmorInventory()->getItem($this->getArmorSlot()); + if(!$existing->isNull()){ + return ItemUseResult::FAIL(); + } + $player->getArmorInventory()->setItem($this->getArmorSlot(), $this->pop()); + return ItemUseResult::SUCCESS(); + } }