43 $hzFacing = HorizontalFacingOption::tryFromFacing($face);
44 if($hzFacing ===
null){
47 $this->facing = $hzFacing;
48 return parent::place($tx, $item, $blockReplace, $blockClicked, $face, $clickVector, $player);
52 [$xOffset, $zOffset] = match($this->facing){
53 HorizontalFacingOption::NORTH => [0, 15 / 16],
54 HorizontalFacingOption::SOUTH => [0, 1 / 16],
55 HorizontalFacingOption::WEST => [15 / 16, 0],
56 HorizontalFacingOption::EAST => [1 / 16, 0],
58 return $this->position->add($xOffset, 0.5, $zOffset);
62 return match($this->facing){
63 HorizontalFacingOption::SOUTH => 0,
64 HorizontalFacingOption::WEST => 90,
65 HorizontalFacingOption::NORTH => 180,
66 HorizontalFacingOption::EAST => 270,