This is starting to get out my area of expertise, but just so you know, the order of these things make no difference. If you wanted you could have all the stateName[] fields at the very top, or you could completely randomize all of their ordering so it was a complete mess. You can organize it any way you want that makes sense to you, and you never have to worry about where in state 6 something like the sound needs to go.
Basically blockland loads all of this information from start to finish before it actually tries to do anything with the weapon. So it doesn't matter if the sound name got loaded earlier or later, as long as it's there when the game sees if there's a sound it should be playing.