public function calculateYOffset(AxisAlignedBB $bb, $y)
{
if ($bb->maxX <= $this->minX or $bb->minX >= $this->maxX) {
return $y;
}
if ($bb->maxZ <= $this->minZ or $bb->minZ >= $this->maxZ) {
return $y;
}
if ($y > 0 and $bb->maxY <= $this->minY) {
$y1 = $this->minY - $bb->maxY;
if ($y1 < $y) {
$y = $y1;
}
}
if ($y < 0 and $bb->minY >= $this->maxY) {
$y2 = $this->maxY - $bb->minY;
if ($y2 > $y) {
$y = $y2;
}
}
return $y;
}