diff --git a/src/pocketmine/Player.php b/src/pocketmine/Player.php index 1dca005b5..2b5043100 100644 --- a/src/pocketmine/Player.php +++ b/src/pocketmine/Player.php @@ -2535,6 +2535,7 @@ class Player extends Human implements CommandSender, ChunkLoader, IPlayer{ $cancelled = false; $heldItem = $this->inventory->getItemInHand(); + $oldItem = clone $heldItem; if(!$this->canInteract($target, 8)){ $cancelled = true; @@ -2594,7 +2595,7 @@ class Player extends Human implements CommandSender, ChunkLoader, IPlayer{ if($this->isAlive()){ //reactive damage like thorns might cause us to be killed by attacking another mob, which //would mean we'd already have dropped the inventory by the time we reached here - if($heldItem->onAttackEntity($target) and $this->isSurvival() and $heldItem->equalsExact($this->inventory->getItemInHand())){ //always fire the hook, even if we are survival + if($heldItem->onAttackEntity($target) and $this->isSurvival() and $oldItem->equalsExact($this->inventory->getItemInHand())){ //always fire the hook, even if we are survival $this->inventory->setItemInHand($heldItem); }