I do believe your custom mob needs to implement the RangeAttackMob interface. Then make your mob shoot 3 arrows via implementing the performRangedAttack() method. See the AbstractSkeleton class for reference, which makes the Skeleton mobs shoot only 1 arrow.
If you need help on making a mob in general, refer to this video: https://www.youtube.com/watch?v=6ycbDR4hAkI
While I cannot pinpoint what is preventing the rooster from damaging the player, try using a debugger and set a breakpoint in the MeleeAttackGoal class--in the tick() and/or checkAndPerformAttack() methods.
It is a library mod - so you have to remove the mods, requiring puzzlelib
Check for these mods and remove these