Option 1: Traditional BlockPlaceEvent, save the player name and TNT Position. There's some optimization around this. Option 2: Custom EntityExplodeEvent replacement in server package. This option won't be supported if there's any problem so your choice.