KrakenAttackTask.java 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package com.gmail.nossr50.runnables.skills;
  2. import org.bukkit.Location;
  3. import org.bukkit.Sound;
  4. import org.bukkit.World;
  5. import org.bukkit.entity.Player;
  6. import org.bukkit.entity.Squid;
  7. import org.bukkit.scheduler.BukkitRunnable;
  8. import com.gmail.nossr50.config.AdvancedConfig;
  9. import com.gmail.nossr50.util.Misc;
  10. public class KrakenAttackTask extends BukkitRunnable {
  11. private Squid kraken;
  12. private Player player;
  13. public KrakenAttackTask(Squid kraken, Player player) {
  14. this.kraken = kraken;
  15. this.player = player;
  16. }
  17. @Override
  18. public void run() {
  19. if (!kraken.isValid()) {
  20. this.cancel();
  21. }
  22. if (player.isValid()) {
  23. Location location = player.getLocation();
  24. World world = player.getWorld();
  25. kraken.teleport(player);
  26. player.damage(AdvancedConfig.getInstance().getKrakenAttackDamage(), kraken);
  27. world.playSound(location, Sound.GHAST_SCREAM, Misc.GHAST_VOLUME, Misc.getGhastPitch());
  28. world.strikeLightningEffect(location);
  29. }
  30. else {
  31. kraken.remove();
  32. this.cancel();
  33. }
  34. }
  35. }