How do I testfor a player hitting a mob?

I'm making a custom survival map, and one thing i'd like to implement is custom mobs, but I would also like to get a sound played everytime I hit it myself, either with bow, or sword, or even fists, as long as I can play a sound when a player hurts the custom mob only.

I'm pretty sure i'd have to use an /execute command for thid, but I just don't know really how to use multiple commands with one single command block, and also is it possible to set a score for the mob, and use that for the /execute command?

The mob's name is "Ghost", and it's a Ghast.


You cannot test for a specific player hurting a mob.

However, you can test for a mob being damaged:

/scoreboard players tag @e[name=Ghost,tag=!Hurt] add Hurt {HurtTime:10s}
/scoreboard players tag @e[name=Ghost,tag=Hurt] remove Hurt {HurtTime:9s}

From here, you now know that a Mob is hurt, and can do things reliably, like play a sound:

/execute @e[name=Ghost,tag=Hurt] ~ ~ ~ /playsound sound @a ~ ~ ~ 1 1 

Now, this assumes that the mob won't get hurt unless there's a player near it, which isn't an unfair observation. It will also play the sound to all players on the server, centered on the location of the Mob.