public function canConnect(Rail $block)
{
if ($this->distanceSquared($block) > 2) {
return false;
}
/** @var Vector3 [] $blocks */
if (count($blocks = self::check($this)) == 2) {
return false;
}
if (isset($blocks[0])) {
$v3 = $blocks[0]->subtract($this);
$v33 = $block->subtract($this);
if (abs($v3->x) == abs($v33->z) and abs($v3->z) == abs($v33->x)) {
return false;
}
}
return $blocks;
}