@@ -0,0 +1,1919 @@
+package deterno.fight.tgm.damage.tracker.damage.resolvers;%0A%0Aimport deterno.fight.tgm.damage.tracker.DamageInfo;%0Aimport deterno.fight.tgm.damage.tracker.DamageResolver;%0Aimport deterno.fight.tgm.damage.tracker.Lifetime;%0Aimport deterno.fight.tgm.damage.tracker.damage.ProjectileDamageInfo;%0Aimport deterno.fight.tgm.damage.tracker.trackers.ProjectileDistanceTracker;%0Aimport org.bukkit.Location;%0Aimport org.bukkit.entity.LivingEntity;%0Aimport org.bukkit.entity.Projectile;%0Aimport org.bukkit.event.entity.EntityDamageByEntityEvent;%0Aimport org.bukkit.event.entity.EntityDamageEvent;%0A%0Aimport javax.annotation.Nonnull;%0Aimport javax.annotation.Nullable;%0A%0Apublic class ProjectileDamageResolver implements DamageResolver %7B%0A    private final ProjectileDistanceTracker projectileDistanceTracker;%0A%0A    public ProjectileDamageResolver(ProjectileDistanceTracker projectileDistanceTracker) %7B%0A        this.projectileDistanceTracker = projectileDistanceTracker;%0A    %7D%0A%0A    public @Nullable%0A    DamageInfo resolve(@Nonnull LivingEntity entity, @Nonnull Lifetime lifetime, @Nonnull EntityDamageEvent damageEvent) %7B%0A        if(damageEvent instanceof EntityDamageByEntityEvent) %7B%0A            EntityDamageByEntityEvent event = (EntityDamageByEntityEvent) damageEvent;%0A%0A            if(event.getDamager() instanceof Projectile) %7B%0A                Projectile projectile = (Projectile) event.getDamager();%0A                Location launchLocation = this.projectileDistanceTracker.getLaunchLocation(projectile);%0A                Double projectileDistance = null;%0A%0A                if(launchLocation != null) projectileDistance = event.getEntity().getLocation().distance(launchLocation);%0A%0A                if(projectile.getShooter() instanceof LivingEntity) %7B%0A                    return new ProjectileDamageInfo(projectile, (LivingEntity) projectile.getShooter(), projectileDistance);%0A                %7D%0A            %7D%0A        %7D%0A        return null;%0A    %7D%0A%7D%0A

Create ProjectileDamageResolver.java