ElvishHorn.java 1.1 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.init.MobEffects;
  6. import net.minecraft.init.SoundEvents;
  7. import net.minecraft.util.EnumParticleTypes;
  8. import net.minecraft.util.math.Vec3d;
  9. import net.minecraft.world.WorldServer;
  10. public class ElvishHorn extends ActiveEffectBase
  11. {
  12. @Override
  13. protected boolean executeEffect(EntityPlayerMP p, int power)
  14. {
  15. int time = 600 * power;
  16. EffectUtils.playSound(p, SoundEvents.ENTITY_GHAST_SCREAM);
  17. WorldServer w = p.getServerWorld();
  18. Vec3d v = p.getPositionVector();
  19. for(int i = 1; i <= power + 2; i++)
  20. {
  21. EffectUtils.playEffectCircle(w, v, EnumParticleTypes.NOTE, i, 6 * i);
  22. }
  23. EffectUtils.getPlayersOfGuild(p, power + 2).forEach(pl ->
  24. {
  25. EffectUtils.addPotionTo(p, MobEffects.SPEED, time, 1);
  26. });
  27. return true;
  28. }
  29. @Override
  30. protected int getManaCost(int manaFactor)
  31. {
  32. return 5 * manaFactor;
  33. }
  34. }