package fyresmodjam.blessings.standard; import fyresmodjam.blessings.Blessing; import fyresmodjam.misc.DamageSources; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.util.DamageSource; import net.minecraftforge.event.entity.living.LivingHurtEvent; public class PorcupineBlessing extends Blessing { @Override public String name() { return "Porcupine"; } @Override public String description() { return "Deal retaliation damage to melee attackers"; } @Override public float onIncomingDamage(LivingHurtEvent event, float damageMultiplier) { Entity trueSource = event.getSource().getTrueSource(); boolean isMeleeDamage = event.getSource().damageType .equals("mob") || event.getSource().getDamageType() .equals("player"); if (trueSource != null && trueSource instanceof EntityLivingBase && !event.getSource().isProjectile() && isMeleeDamage) { DamageSource damage = DamageSources.retaliation; ((EntityLivingBase) trueSource) .attackEntityFrom(damage, event.getAmount() * 0.07F); } return damageMultiplier; } }