summaryrefslogtreecommitdiff
path: root/YWD/src/main/java/fyresmodjam/blessings/standard/PorcupineBlessing.java
blob: 7763bacd859f0f88170666142443c37306d5efdc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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 StandardBlessing {
	public PorcupineBlessing() {
		super("Porcupine");
	}

	@Override
	public String description() {
		return "Deal retaliation damage to melee attackers";
	}

	@Override
	public float onIncomingDamage(LivingHurtEvent event, float damageMultiplier) {
		DamageSource damageSource = event.source;

		Entity source = damageSource.getEntity();

		if (source != null && source instanceof EntityLivingBase && !damageSource.isProjectile()
				&& (damageSource.getDamageType().equals("mob") || damageSource.getDamageType().equals("player"))) {

			DamageSource damage = DamageSource.causeThornsDamage(source);

			((EntityLivingBase) source).attackEntityFrom(damage, event.ammount * 0.07F);
		}

		return damageMultiplier;
	}
}