@@ -0,0 +1,1313 @@
+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.DamageResolvers;%0Aimport deterno.fight.tgm.damage.tracker.Lifetime;%0Aimport deterno.fight.tgm.damage.tracker.plugin.DamageAPIHelper;%0Aimport org.bukkit.entity.LivingEntity;%0Aimport org.bukkit.event.entity.EntityDamageEvent;%0A%0Aimport javax.annotation.Nonnull;%0Aimport javax.annotation.Nullable;%0A%0A/**%0A * Resolves the damage stored in the %7B@link DamageAPI%7D.%0A *%0A * When a plugin uses the API to inflict damage on an entity, it specifies its%0A * own %7B@link Damage%7D object to use. However, plugins listening on the Bukkit%0A * event will use the regular channels to fetch the object for the event.%0A * Therefore, this resolver is necessary to feed the proper object to those%0A * event listeners.%0A *%0A * By Deterno%0A */%0Apublic class DamageAPIResolver implements DamageResolver %7B%0A    /** @see DamageResolvers */%0A    public @Nullable%0A    DamageInfo resolve(@Nonnull LivingEntity entity, @Nonnull Lifetime lifetime, @Nonnull EntityDamageEvent damageEvent) %7B%0A        return DamageAPIHelper.get().getEventDamageInfo(damageEvent);%0A    %7D%0A%0A    static %7B%0A        DamageResolvers.getManager().register(new DamageAPIResolver());%0A    %7D%0A%7D%0A

Create DamageAPIResolver.java