Earthquake.java 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. package me.km.effects.active;
  2. import me.km.effects.ActiveEffectBase;
  3. import me.km.effects.EffectUtils;
  4. import net.minecraft.entity.player.EntityPlayerMP;
  5. import net.minecraft.util.DamageSource;
  6. import net.minecraft.util.EnumParticleTypes;
  7. import net.minecraft.util.math.Vec3d;
  8. import net.minecraft.world.WorldServer;
  9. public class Earthquake extends ActiveEffectBase
  10. {
  11. @Override
  12. protected boolean executeEffect(EntityPlayerMP p, int power)
  13. {
  14. int[] data = new int[]{4};
  15. WorldServer w = p.getServerWorld();
  16. Vec3d v = p.getPositionVector();
  17. EffectUtils.playEffectCircleWithData(w, v, EnumParticleTypes.BLOCK_CRACK, 5, 12, data);
  18. EffectUtils.playEffectCircleWithData(w, v, EnumParticleTypes.BLOCK_CRACK, 4, 12, data);
  19. EffectUtils.playEffectCircleWithData(w, v, EnumParticleTypes.BLOCK_CRACK, 3, 12, data);
  20. EffectUtils.playEffectCircleWithData(w, v, EnumParticleTypes.BLOCK_CRACK, 2, 12, data);
  21. EffectUtils.playEffectCircleWithData(w, v, EnumParticleTypes.BLOCK_CRACK, 1, 12, data);
  22. DamageSource ds = DamageSource.causeMobDamage(p);
  23. EffectUtils.getEntsOfNotGuild(p, 5).stream().forEach((m) ->
  24. {
  25. m.attackEntityFrom(ds, power * 4);
  26. });
  27. return true;
  28. }
  29. @Override
  30. protected int getManaCost(int manaFactor)
  31. {
  32. return 8 * manaFactor;
  33. }
  34. }