meta = $meta; } public function getLightLevel() : int{ return 14; } public function getName() : string{ return "Torch"; } public function onUpdate(int $type){ if($type === Level::BLOCK_UPDATE_NORMAL){ $below = $this->getSide(Vector3::SIDE_DOWN); $side = $this->getDamage(); $faces = [ 0 => 0, 1 => 4, 2 => 5, 3 => 2, 4 => 3, 5 => 0 ]; if($this->getSide($faces[$side])->isTransparent() === true and !($side === 0 and ($below->getId() === self::FENCE or $below->getId() === self::COBBLESTONE_WALL))){ $this->getLevel()->useBreakOn($this); return Level::BLOCK_UPDATE_NORMAL; } } return false; } public function place(Item $item, Block $block, Block $target, int $face, Vector3 $facePos, Player $player = null) : bool{ $below = $this->getSide(Vector3::SIDE_DOWN); if($target->isTransparent() === false and $face !== Vector3::SIDE_DOWN){ $faces = [ Vector3::SIDE_UP => 5, Vector3::SIDE_NORTH => 4, Vector3::SIDE_SOUTH => 3, Vector3::SIDE_WEST => 2, Vector3::SIDE_EAST => 1, ]; $this->meta = $faces[$face]; $this->getLevel()->setBlock($block, $this, true, true); return true; }elseif($below->isTransparent() === false or $below->getId() === self::FENCE or $below->getId() === self::COBBLESTONE_WALL){ $this->meta = 0; $this->getLevel()->setBlock($block, $this, true, true); return true; } return false; } public function getVariantBitmask() : int{ return 0; } }