Take a full look at the damage handling by setting a breakpoint in the EntityArrow class that handles the collision and then damage handling(its in the update method).
So is the problem that the entity isn't getting the damage animation? That has to do with the damage value and how taking damage is handled on Entities.
What error? And you aren't checking if the entity that is being right clicked is a cow or not. And why are you storing them as fields in the class and not the method?
The method isChild is public there is no need to extend the entity to use it. What event are you trying to use? What are you trying to accomplish from an end user perspective?
Dont do this, this is a static initializer you shouldn't do this with any IForgeRegistryEntry object. Ie anything that has a registry event. They should be initialized in the registryEvent where you register them.
Did you remove this like voidwaker said?
Where are you instantiating(calling the constructor) for them? Also you shouldn't have a BlockBase class when you instantiate them add them to the list like so
list.add(new Block(...).set...);
Or even
RegistryObject registry = event.getRegistry
registry.register(new Block(...).set...);
A using animation is an animation that happens when the player holds down right click IE drinking, eating, using a bow. Matrix probably refers to rotation, translation, etc via a custom IBakedModel or TEISR.
I've figured it out. You are loading the model too early. You need to load the model later. Either move the loading into the render method and only load it once. Or move your TESR registration code to a later initialization event.
If I'm not mistaken you would have to handle it like you would handle it for ores, but you would just get the top BlockState in the chunk then if it is a grass block replace it.
Well first you shouldn't be registering your entities like that anymore, there is a registry event for them now. And this piece of code has to happen on both the server and has nothing to do with rendering.