summaryrefslogtreecommitdiff
path: root/src/main/java/fyresmodjam/blessings/standard/PorcupineBlessing.java
blob: a46c3d05e4ce5ce3c119b93e230a68bca41238bd (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
37
38
39
40
41
42
43
44
45
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;
	}
}