@@ -0,0 +1,1345 @@
+package net.steel3d.physics;%0A%0Aimport org.lwjgl.util.vector.Vector3f;%0A%0Apublic class AABB %7B%0A%0A%09public Vector3f position;%0A%09public Vector3f size;%0A%09%0A%09public AABB(Vector3f position, Vector3f size)%7B%0A%09%09this.position = position;%0A%09%09this.size = position;%0A%09%7D%0A%09%0A%09public boolean intersects(AABB aabb)%7B%0A%09%09 float tw = this.size.x;%0A%09%09 float th = this.size.y;%0A%09%09 float td = this.size.z;%0A%0A%09%09 float rw = aabb.size.x;%0A%09%09 float rh = aabb.size.y;%0A%09%09 float rd = aabb.size.z;%0A%0A%09        if (rw %3C= 0 %7C%7C rh %3C= 0 %7C%7C rd %3C= 0 %7C%7C tw %3C= 0 %7C%7C th %3C= 0 %7C%7C td %3C= 0) %7B%0A%09            return false;%0A%09        %7D%0A%09        float tx = this.position.x;%0A%09        float ty = this.position.y;%0A%09        float tz = this.position.z;%0A%0A%09        float rx = aabb.position.x;%0A%09        float ry = aabb.position.y;%0A%09        float rz = aabb.position.z;%0A%0A%09        rw += rx;%0A%09        rh += ry;%0A%09        rd += rz;%0A%09        tw += tx;%0A%09        th += ty;%0A%09        td += tz;%0A%09        return ((rw %3C rx %7C%7C rw %3E tx) &&%0A%09                (rh %3C ry %7C%7C rh %3E ty) &&%0A%09                (rd %3C rz %7C%7C rd %3E tz) &&%0A%09                (tw %3C tx %7C%7C tw %3E rx) &&%0A%09                (th %3C ty %7C%7C th %3E ry) && %0A%09                (td %3C tz %7C%7C td %3E rz));%0A%09%7D%0A%09%0A%09public void center(Vector3f coords)%7B%0A%09%09this.position.x = coords.x - (this.size.x/2);%0A%09%09this.position.y = coords.y - (this.size.y/2);%0A%09%09this.position.z = coords.z - (this.size.z/2);%0A%09%7D%0A%0A%7D%0A

Create AABB.java