105 if(!$blockReplace->getSide(
Facing::opposite($face))->isFullCube() ||
Facing::axis($face) ===
Axis::Y){
109 $this->faces = $blockReplace instanceof
Vine ? $blockReplace->faces : [];
110 $this->faces[Facing::opposite($face)] = Facing::opposite($face);
112 return parent::place($tx, $item, $blockReplace, $blockClicked, $face, $clickVector, $player);
118 $up = $this->getSide(Facing::UP);
120 $supportedFaces = $up instanceof
Vine ? array_intersect_key($this->faces, $up->faces) : [];
122 foreach($this->faces as $face){
123 if(!isset($supportedFaces[$face]) && !$this->getSide($face)->isSolid()){
124 unset($this->faces[$face]);
130 $world = $this->position->getWorld();
131 if(count($this->faces) === 0){
132 $world->useBreakOn($this->position);
134 $world->setBlock($this->position, $this);