contract(1 / 16, 0, 1 / 16) ->trim(Facing::UP, 0.5) //TODO: not sure if the candle affects height ]; } public function getCandle() : Candle{ return VanillaBlocks::CANDLE(); } public function onInteract(Item $item, int $face, Vector3 $clickVector, ?Player $player = null, array &$returnedItems = []) : bool{ if($this->lit && $face !== Facing::UP){ return true; } if($this->onInteractCandle($item, $face, $clickVector, $player, $returnedItems)){ return true; } return parent::onInteract($item, $face, $clickVector, $player, $returnedItems); } public function getDropsForCompatibleTool(Item $item) : array{ return [$this->getCandle()->asItem()]; } public function getPickedItem(bool $addUserData = false) : Item{ return VanillaBlocks::CAKE()->asItem(); } public function getResidue() : Block{ return VanillaBlocks::CAKE()->setBites(1); } public function onConsume(Living $consumer) : void{ parent::onConsume($consumer); $this->position->getWorld()->dropItem($this->position->add(0.5, 0.5, 0.5), $this->getCandle()->asItem()); } }