Doomed.java 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package me.km.effects.active;
  2. import me.km.KajetansMod;
  3. import me.km.api.Utils;
  4. import me.km.effects.ActiveEffectBase;
  5. import net.minecraft.entity.player.EntityPlayerMP;
  6. import net.minecraft.util.DamageSource;
  7. import net.minecraft.util.math.Vec3d;
  8. public class Doomed extends ActiveEffectBase
  9. {
  10. @Override
  11. protected boolean executeEffect(EntityPlayerMP p, int power)
  12. {
  13. EntityPlayerMP p2 = Utils.getTargetedEntity(p, 8, EntityPlayerMP.class);
  14. if(p2 == null)
  15. {
  16. return false;
  17. }
  18. Vec3d v1 = p2.getPositionVector();
  19. Vec3d v2 = p.getPositionVector();
  20. Utils.setVelocity(p, (v1.x - v2.x) * 0.2, (v1.y - v2.y) * 0.2 + 0.9, (v1.z - v2.z) * 0.2);
  21. KajetansMod.scheduler.scheduleTask(() ->
  22. {
  23. Vec3d v3 = p2.getPositionVector();
  24. Vec3d v4 = p.getPositionVector();
  25. Utils.setVelocity(p, (v3.x - v4.x) * 0.2, (v3.y - v4.y) * 0.2, (v3.z - v4.z) * 0.2);
  26. }, 12);
  27. int duration = 20 * power;
  28. KajetansMod.playerbank.getData(p2).addBadTimedData("doomed", p, duration, "Todgeweiht", 52);
  29. KajetansMod.scheduler.scheduleTask(() ->
  30. {
  31. p2.attackEntityFrom(DamageSource.causeMobDamage(p), power);
  32. }, duration);
  33. return true;
  34. }
  35. @Override
  36. protected int getManaCost(int manaFactor)
  37. {
  38. return 4 * manaFactor;
  39. }
  40. }