I'm not a fan of having a null cause though, if the Bukkit team however wants that I will do it, but imo event.getCause() == null is somewhat not helpful.

Maybe replacing LOSS with UNKNOWN to represent a not-null cause? 

The reason why I don't like null causes is so I can do something like this (just my opinion of course):
```java
if(event.getCause() == SOME CAUSE){
    // Do stuff
}
```

The above code would throw (iirc) a NPE.