private void addCubeFace(IntPoint p1, IntPoint shift) {
		IntPoint p2 = p1.add(shift);
		int value1, value2, orientation;
		
		if(shift.equals(IntPoint.UP) || shift.equals(IntPoint.DOWN)) {
			orientation = CubeFace.Z_AXIS;
		} else if(shift.equals(IntPoint.LEFT) || shift.equals(IntPoint.RIGHT)) {
			orientation = CubeFace.X_AXIS;
		} else {
			orientation = CubeFace.Y_AXIS;
		}
		
		if(p1.inBounds(length, width, height)) {
			value1 = chamber.getCubes()[p1.getX()][p1.getY()][p1.getZ()];
		} else {
			value1 = Piece.NOTHING;
		}
		if(p2.inBounds(length, width, height)) {
			value2 = chamber.getCubes()[p2.getX()][p2.getY()][p2.getZ()];
		} else {
			value2 = Piece.NOTHING;
		}
		
		if(value1 == Piece.NOTHING) {
			faces.add(new CubeFace(p1.midpoint(p2), orientation, value2));
		} else if(value2 == Piece.NOTHING) {
			faces.add(new CubeFace(p1.midpoint(p2), orientation, value1));
		}
	}