Doomed.java 1.5 KB

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