diff --git a/src/pocketmine/item/Bucket.php b/src/pocketmine/item/Bucket.php index e711335b3..ce9365d82 100644 --- a/src/pocketmine/item/Bucket.php +++ b/src/pocketmine/item/Bucket.php @@ -57,8 +57,8 @@ class Bucket extends Item implements Consumable{ if($blockClicked instanceof Liquid and $blockClicked->getDamage() === 0){ $stack = clone $this; - $resultItem = $stack->pop(); - $resultItem->setDamage($blockClicked->getFlowingForm()->getId()); + $stack->pop(); + $resultItem = ItemFactory::get(Item::BUCKET, $blockClicked->getFlowingForm()->getId()); $player->getServer()->getPluginManager()->callEvent($ev = new PlayerBucketFillEvent($player, $blockReplace, $face, $this, $resultItem)); if(!$ev->isCancelled()){ $player->getLevel()->setBlock($blockClicked, BlockFactory::get(Block::AIR), true, true); @@ -80,9 +80,7 @@ class Bucket extends Item implements Consumable{ } } }elseif($resultBlock instanceof Liquid and $blockReplace->canBeReplaced()){ - $resultItem = clone $this; - $resultItem->setDamage(0); - $player->getServer()->getPluginManager()->callEvent($ev = new PlayerBucketEmptyEvent($player, $blockReplace, $face, $this, $resultItem)); + $player->getServer()->getPluginManager()->callEvent($ev = new PlayerBucketEmptyEvent($player, $blockReplace, $face, $this, ItemFactory::get(Item::BUCKET))); if(!$ev->isCancelled()){ $player->getLevel()->setBlock($blockReplace, $resultBlock->getFlowingForm(), true, true); $player->getLevel()->broadcastLevelSoundEvent($blockClicked->add(0.5, 0.5, 0.5), $resultBlock->getBucketEmptySound());