I need to listen to a PlayerDeathEvent, but I cannot find any way of listening to it. What am I doing wrong?
You should use a Mixin.
It effectively inserts code at a function, class, or changes variables. In your instance, register a mixin using a PlayerEntity class, then use the onDeath function and insert into it. I'll provide the injection annotation, but this is something you'll want to learn when using fabric.
@Inject(method="onDeath", at=@At("TAIL"))
The above mixin will insert the function you put after right before returning.
I'd also really recommend reading the fabric tutorials, it's helped me through quite a bit.