package org.ultramine.regions;
public class RegionUtil
{
public static boolean isIntersects(BlockPos min1, BlockPos max1, BlockPos min2, BlockPos max2)
{
return
((min1.x <= min2.x && min2.x <= max1.x) || (min1.x <= max2.x && max2.x <= max1.x) || (min1.x < min2.x && max1.x > max2.x) || (min2.x < min1.x && max2.x > max1.x)) &&
((min1.y <= min2.y && min2.y <= max1.y) || (min1.y <= max2.y && max2.y <= max1.y) || (min1.y < min2.y && max1.y > max2.y) || (min2.y < min1.y && max2.y > max1.y)) &&
((min1.z <= min2.z && min2.z <= max1.z) || (min1.z <= max2.z && max2.z <= max1.z) || (min1.z < min2.z && max1.z > max2.z) || (min2.z < min1.z && max2.z > max1.z));
}
public static boolean isIntersects(Rectangle rect1, Rectangle rect2)
{
return isIntersects(rect1.getMin(), rect1.getMax(), rect2.getMin(), rect2.getMax());
}
public static boolean isBoxInBox(BlockPos min1, BlockPos max1, BlockPos min2, BlockPos max2)
{
return
min1.x >= min2.x && max1.x <= max2.x &&
min1.y >= min2.y && max1.y <= max2.y &&
min1.z >= min2.z && max1.z <= max2.z;
}
public static boolean isBoxInBox(Rectangle child, Rectangle parent)
{
return isBoxInBox(child.getMin(), child.getMax(), parent.getMin(), parent.getMax());
}
}