PoisonVolley.java 996 B

1234567891011121314151617181920212223242526272829303132333435
  1. package me.km.effects.active;
  2. import me.km.KajetansMod;
  3. import me.km.effects.ActiveEffectBase;
  4. import me.km.effects.EffectUtils;
  5. import net.minecraft.entity.player.EntityPlayerMP;
  6. import net.minecraft.entity.projectile.EntityTippedArrow;
  7. import net.minecraft.init.MobEffects;
  8. public class PoisonVolley extends ActiveEffectBase
  9. {
  10. @Override
  11. protected boolean executeEffect(EntityPlayerMP p, int power)
  12. {
  13. shoot(p, power);
  14. for(int i = 1; i <= 5; i++)
  15. {
  16. KajetansMod.scheduler.scheduleTask(() -> shoot(p, power), 10 * i);
  17. }
  18. return true;
  19. }
  20. @Override
  21. protected int getManaCost(int manaFactor)
  22. {
  23. return 4 * manaFactor;
  24. }
  25. private void shoot(EntityPlayerMP p, int power)
  26. {
  27. EntityTippedArrow arrow = EffectUtils.launchTippedArrow(p, power / 2d, MobEffects.POISON, power * 60, 1);
  28. arrow.setDamage(0.1);
  29. arrow.pickupStatus = EntityTippedArrow.PickupStatus.DISALLOWED;
  30. }
  31. }