Advertisement
Guest User

Untitled

a guest
Dec 11th, 2019
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.40 KB | None | 0 0
  1. package me.Nikewade.VallendiaMinigame.Abilities;
  2.  
  3. import java.util.Arrays;
  4. import java.util.List;
  5.  
  6. import org.bukkit.Material;
  7. import org.bukkit.Particle;
  8. import org.bukkit.entity.Entity;
  9. import org.bukkit.entity.LivingEntity;
  10. import org.bukkit.entity.Player;
  11. import org.bukkit.inventory.ItemStack;
  12. import org.bukkit.potion.PotionEffectType;
  13.  
  14. import de.slikey.effectlib.effect.SphereEffect;
  15. import me.Nikewade.VallendiaMinigame.VallendiaMinigame;
  16. import me.Nikewade.VallendiaMinigame.Interface.Ability;
  17. import me.Nikewade.VallendiaMinigame.Utils.AbilityUtils;
  18.  
  19. public class FlashbangAbility implements Ability{
  20. int range = 8;
  21.  
  22. @Override
  23. public String getName() {
  24. // TODO Auto-generated method stub
  25. return "Flashbang";
  26. }
  27.  
  28. @Override
  29. public AbilityType getAbilityType() {
  30. // TODO Auto-generated method stub
  31. return AbilityType.UTILITY;
  32. }
  33.  
  34. @Override
  35. public List<String> getDescription() {
  36. // TODO Auto-generated method stub
  37. return Arrays.asList("Throw a flashbang projectile that explodes when landing,",
  38. "blinding nearby players within " + range + " blocks.");
  39. }
  40.  
  41. @Override
  42. public ItemStack getGuiItem() {
  43. // TODO Auto-generated method stub
  44. return new ItemStack(Material.SULPHUR);
  45. }
  46.  
  47. @Override
  48. public boolean RunAbility(Player p) {
  49. // TODO Auto-generated method stub
  50.  
  51.  
  52. SphereEffect se = new SphereEffect(VallendiaMinigame.getInstance().effectmanager);
  53. se.particle = Particle.SMOKE_NORMAL;
  54. se.disappearWithOriginEntity = true;
  55. se.infinite();
  56. se.radius = 0.1;
  57. se.particles = 5;
  58. se.speed = (float) 0;
  59. se.visibleRange = 50;
  60.  
  61. SphereEffect se2 = new SphereEffect(VallendiaMinigame.getInstance().effectmanager);
  62. se2.particle = Particle.CLOUD;
  63. se2.radius = 10;
  64. se2.particles = 50;
  65. se2.speed = (float) 0;
  66. se2.iterations = 2;
  67.  
  68. Runnable run = new Runnable()
  69. {
  70.  
  71. @Override
  72. public void run() {
  73. // TODO Auto-generated method stub
  74.  
  75. se2.setLocation(se.getLocation());
  76. se2.start();
  77.  
  78.  
  79. for(Entity e : AbilityUtils.getAoeTargets(p, se.getLocation(), 10, 10, 10))
  80. {
  81.  
  82. AbilityUtils.addPotionDuration((LivingEntity) e, PotionEffectType.BLINDNESS, 2, 5*20 );
  83.  
  84. }
  85.  
  86.  
  87. }
  88.  
  89. };
  90.  
  91. AbilityUtils.arcParticle(p, se, 1, run);
  92.  
  93.  
  94.  
  95. return true;
  96. }
  97.  
  98. @Override
  99. public void DisableAbility(Player p) {
  100. // TODO Auto-generated method stub
  101.  
  102. }
  103.  
  104. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement