public ClayLump copy() {
   ClayLump ret = new ClayLump();
   ret.minX = minX;
   ret.minY = minY;
   ret.minZ = minZ;
   ret.maxX = maxX;
   ret.maxY = maxY;
   ret.maxZ = maxZ;
   ret.icon_id = icon_id;
   ret.icon_md = icon_md;
   ret.quat = new Quaternion(quat);
   return ret;
 }
 ClayLump extrudeLump(ClayLump against, EnumFacing dir) {
   ClayLump lump = against.copy();
   Block b = FzUtil.getTraceHelper();
   against.toBlockBounds(b);
   int wX = lump.maxX - lump.minX;
   int wY = lump.maxY - lump.minY;
   int wZ = lump.maxZ - lump.minZ;
   lump.maxX += wX * dir.getDirectionVec().getX();
   lump.maxY += wY * dir.getDirectionVec().getY();
   lump.maxZ += wZ * dir.getDirectionVec().getZ();
   lump.minX += wX * dir.getDirectionVec().getX();
   lump.minY += wY * dir.getDirectionVec().getY();
   lump.minZ += wZ * dir.getDirectionVec().getZ();
   return lump;
 }