protected function recalculateBoundingBox()
{
$north = $this->canConnect($this->getSide(Vector3::SIDE_NORTH));
$south = $this->canConnect($this->getSide(Vector3::SIDE_SOUTH));
$west = $this->canConnect($this->getSide(Vector3::SIDE_WEST));
$east = $this->canConnect($this->getSide(Vector3::SIDE_EAST));
$n = $north ? 0 : 0.25;
$s = $south ? 1 : 0.75;
$w = $west ? 0 : 0.25;
$e = $east ? 1 : 0.75;
if ($north and $south and !$west and !$east) {
$w = 0.3125;
$e = 0.6875;
} elseif (!$north and !$south and $west and $east) {
$n = 0.3125;
$s = 0.6875;
}
return new AxisAlignedBB($this->x + $w, $this->y, $this->z + $n, $this->x + $e, $this->y + 1.5, $this->z + $s);
}