package tc.oc.pgm.tracker.resolvers;
import javax.annotation.Nullable;
import org.bukkit.entity.Entity;
import org.bukkit.event.entity.EntityDamageEvent;
import tc.oc.pgm.tracker.damage.DamageInfo;
import tc.oc.pgm.tracker.damage.GenericDamageInfo;
import tc.oc.pgm.tracker.damage.PhysicalInfo;
public class GenericDamageResolver implements DamageResolver {
@Override
public @Nullable DamageInfo resolveDamage(EntityDamageEvent.DamageCause damageType, Entity victim, @Nullable PhysicalInfo damager) {
if(damager instanceof DamageInfo) {
// If the damager block/entity resolved to a DamageInfo directly, return that
return (DamageInfo) damager;
} else {
return new GenericDamageInfo(damageType, damager);
}
}
}