diff options
Diffstat (limited to 'src/main/java/fyresmodjam/blessings/standard/NinjaBlessing.java')
| -rw-r--r-- | src/main/java/fyresmodjam/blessings/standard/NinjaBlessing.java | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/src/main/java/fyresmodjam/blessings/standard/NinjaBlessing.java b/src/main/java/fyresmodjam/blessings/standard/NinjaBlessing.java new file mode 100644 index 0000000..3883f14 --- /dev/null +++ b/src/main/java/fyresmodjam/blessings/standard/NinjaBlessing.java @@ -0,0 +1,55 @@ +package fyresmodjam.blessings.standard; + +import fyresmodjam.blessings.Blessing; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraftforge.event.entity.living.LivingHurtEvent; +import net.minecraftforge.fml.common.gameevent.TickEvent.ServerTickEvent; + +public class NinjaBlessing extends Blessing { + + @Override + public String name() { + return "Ninja"; + } + + @Override + public String description() { + return "- Go invisible while sneaking\n- Attacks on enemies with full health deal 2x damage"; + } + + @Override + public void commonTick(ServerTickEvent stev, EntityPlayer player) { + if (player.isSneaking()) { + // TODO figure out potions + // PotionEffect e = player.getActivePotionEffect( + // Potion.invisibility); + + // if (e == null || player.getActivePotionEffect( + // Potion.invisibility) + // .getDuration() < 10) { + // player.addPotionEffect(new PotionEffect( + // Potion.invisibility.id, 10, + // 1, false)); + // } + } + } + + @Override + public float onOutgoingDamage(LivingHurtEvent event, + float damageMultiplier) { + boolean atMaxHealth = event.getEntityLiving() + .getHealth() == event.getEntityLiving() + .getMaxHealth(); + + if (event.getEntityLiving() != null + && event.getSource().getTrueSource() + .isSneaking() + && atMaxHealth) { + return damageMultiplier + 1.0F; + } + + return damageMultiplier; + } +} |
