isSource()){ $stack = clone $this; $stack->pop(); $resultItem = ItemFactory::get(ItemIds::BUCKET, $blockClicked->getFlowingForm()->getId()); $ev = new PlayerBucketFillEvent($player, $blockReplace, $face, $this, $resultItem); $ev->call(); if(!$ev->isCancelled()){ $player->getWorld()->setBlock($blockClicked->getPos(), VanillaBlocks::AIR()); $player->getWorld()->addSound($blockClicked->getPos()->add(0.5, 0.5, 0.5), $blockClicked->getBucketFillSound()); if($player->hasFiniteResources()){ 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(); } }