So I'm now getting into modding weapons and I have to say, Using particles is ANNOYING. So here are several questions regarding the use of particles.
Custom muzzle flash effect: Not as such. You can turn off the muzzle flash using muzzleFlash: false.
The shotEmitter is a particle emitter that spawns particles on the shot, e.g smoke. The exhaust is a particle emitter that fires particles out of the back of the shot, e.g the exhaust of a rocket. You can look at ROCKETS.json for an example.