public void initiateCloaking()
	{
		cloakedBlocks.clear();
		
		BlockFace facing = getDirection(machineLocation.getBlock());
		Vector miningOffset = getCloakingOffset(facing);
		
		Location startingPos = machineLocation.getBlock().getLocation().add(
				(int)miningOffset.getX(), (int)miningOffset.getY(), (int)miningOffset.getZ());
		
		  
		for (int x = 0; x < Math.max(1, Math.abs(miningOffset.getX()*2)); x++) 
		{ 
			for (int y = 0; y < Math.max(1,  Math.abs(miningOffset.getY()*2)); y++)
			{
				for (int z = 0; z < Math.max(1,  Math.abs(miningOffset.getZ()*2)); z++)
				{
					for (int depth = 1; depth <= getProperties().getDepth(); depth++)
					{
						cloakedBlocks.add(startingPos.getBlock().getLocation().add(getBlockOffset(x,y,z,facing)).getBlock().getRelative(facing, depth));
					}
				}
			}
		}
		cloakedBlocks.add(machineLocation.getBlock());
	}