It is going to be a client side mod only. The only information the server sends when an entity is attacked is the animation/velocity packets, both of which do not fire a forge event.
I need to know when each packet is received, and the target entity. In the NetHandlerPlayClient class, there are methods, such as handleAnimation(), which do not fire any forge event. I need to somehow make these methods fire an event, similar to how the handleChat() method fires a forge event.
I would like to know the correct way to implement this into a forge mod, I already know I could insert a line of code with ASM or replace the NetHandlerPlayClient variable when it is initialized with an instance of a nearly identical class; however, there probably is a better way to fix my problem since ASM should be a last resort.