I was wondering about the most effective way to apply transformations to items rendered in first person. For context, I am trying to create animations for custom weapon attacks. At first I tried transforming the MatrixStack from RenderHandEvent, and the effect is what I'm looking for but it unfortunately applies to items in both hands. My next idea was to cancel the vanilla rendering for my item (this works on specific hands) and then render it with the transformations. However, I'm not sure exactly how to do that since RenderHandEvent does not have a rendering method. My first guess is FirstPersonRenderer#renderItemInFirstPerson, but I don't know what to provide for IRenderTypeBuffer.Impl and I can't find any usages of this method in the vanilla code. If this is the right method, what is typically provided to do vanilla rendering of a held item?
As a side-note, I only need animations for my items, so would it be better to do this through JSON files instead? At least three variables would be necessary though, so I'm not sure this would be simpler than what I am trying currently.