isSource()){ $stack = clone $this; $stack->pop(); $resultItem = ItemFactory::get(Item::BUCKET, $blockClicked->getFlowingForm()->getId()); $ev = new PlayerBucketFillEvent($player, $blockReplace, $face, $this, $resultItem); $ev->call(); if(!$ev->isCancelled()){ $player->getLevel()->setBlock($blockClicked, BlockFactory::get(BlockIds::AIR)); $player->getLevel()->broadcastLevelSoundEvent($blockClicked->add(0.5, 0.5, 0.5), $blockClicked->getBucketFillSound()); if($player->isSurvival()){ if($stack->getCount() === 0){ $player->getInventory()->setItemInHand($ev->getItem()); }else{ $player->getInventory()->setItemInHand($stack); $player->getInventory()->addItem($ev->getItem()); } }else{ $player->getInventory()->addItem($ev->getItem()); } return ItemUseResult::SUCCESS(); } return ItemUseResult::FAIL(); } return ItemUseResult::NONE(); } }