St John will be Very Busy as the carnival celebration there culminates on July 4 in Cruz Bay. Not much good shore dining available on STJ NPS moorings except at Caneel Bay -- Coral Bay has anchoring and dining.
AYH in Red Hook STT has slips and some good dining close by in the area. No slips available in STJ at all.
You may be able to find a private mooring available in Great Cruz Bay at the STJ Westin for their restaurant.