getAdjacentWater()) !== null){ BlockEventHelper::form($this, VanillaBlocks::CONCRETE()->setColor($this->color), $water); }else{ $this->startFalling(); } } public function tickFalling() : ?Block{ if($this->getAdjacentWater() === null){ return null; } return VanillaBlocks::CONCRETE()->setColor($this->color); } private function getAdjacentWater() : ?Water{ foreach(Facing::ALL as $i){ if($i === Facing::DOWN){ continue; } $block = $this->getSide($i); if($block instanceof Water){ return $block; } } return null; } }