63 if(!$this->canBeSupportedAt($blockReplace,
Facing::opposite($face))){
67 $selectUpDownPos =
function(LeverFacing $x, LeverFacing $z) use ($player) : LeverFacing{
69 return Facing::axis($player->getHorizontalFacing()) === Axis::X ? $x : $z;
73 $this->facing = match($face){
74 Facing::DOWN => $selectUpDownPos(LeverFacing::DOWN_AXIS_X, LeverFacing::DOWN_AXIS_Z),
75 Facing::UP => $selectUpDownPos(LeverFacing::UP_AXIS_X, LeverFacing::UP_AXIS_Z),
76 Facing::NORTH => LeverFacing::NORTH,
77 Facing::SOUTH => LeverFacing::SOUTH,
78 Facing::WEST => LeverFacing::WEST,
79 Facing::EAST => LeverFacing::EAST,
82 return parent::place($tx, $item, $blockReplace, $blockClicked, $face, $clickVector, $player);
92 $this->activated = !$this->activated;
93 $world = $this->position->getWorld();
94 $world->setBlock($this->position, $this);
96 $this->position->add(0.5, 0.5, 0.5),