Guest User

Untitled

a guest
Aug 19th, 2018
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.16 KB | None | 0 0
  1. package net.minefs.MineStrike.Cache;
  2.  
  3. import org.bukkit.Bukkit;
  4. import org.bukkit.entity.Player;
  5. import org.bukkit.scheduler.BukkitRunnable;
  6.  
  7. import net.minefs.MineStrike.Main;
  8. import net.minefs.MineStrike.Handler.GameTeam.Role;
  9. import net.minefs.MineStrike.Modes.DefuseGame;
  10. import net.minefs.MineStrike.Quests.Objective;
  11. import net.minefs.MineStrike.Quests.QuestAttempt;
  12.  
  13. public class DefuseTask extends BukkitRunnable {
  14.  
  15.     private Player player;
  16.     private int ticks;
  17.     private DefuseGame game;
  18.     private int done;
  19.     private Main main;
  20.  
  21.     public DefuseTask(DefuseGame game, Player player, int ticks) {
  22.         this.ticks = ticks;
  23.         this.player = player;
  24.         this.game = game;
  25.         done = ticks;
  26.         main = game.getMain();
  27.         for (Player p : main.getManager().getTeam(game, Role.COUNTERTERRORIST).getPlayers())
  28.             p.playSound(p.getLocation(), "cs.radio.defusing", 100, 1);
  29.         player.getWorld().playSound(player.getLocation(), "cs.random.c4_defuse", 1, 1);
  30.         runTaskTimerAsynchronously(main, 1, 1);
  31.     }
  32.  
  33.     @Override
  34.     public void run() {
  35.         if (!game.getBomb().isAtBomb(player) || !player.isSneaking() || game.getSpectatorsClone().contains(player)) {
  36.             player.sendActionBar("§c§lĐã hủy gỡ bom.");
  37.             cancelDefuse();
  38.             player.setExp(0);
  39.             return;
  40.         }
  41.         if (done > 0) {
  42.             done--;
  43.             if (game.getBomb().getTimer() <= 0) {
  44.                 player.sendActionBar("§c§lKhông kịp rồi...");
  45.                 cancelDefuse();
  46.                 player.setExp(0);
  47.                 return;
  48.             }
  49.             player.sendActionBar("§f§l" + ((done / 20) + 1) + " §b§l- Đang gỡ bom...");
  50.             player.setExp(1 - ((float) done / ticks));
  51.         } else {
  52.             player.setExp(0);
  53.             player.sendActionBar("§b§lGỡ bom thành công");
  54.             new QuestAttempt(player, game, Objective.BOMB_DEFUSE);
  55.             new QuestAttempt(player, game, Objective.BOMB_PLANT_OR_DEFUSE);
  56.             cancel();
  57.             Bukkit.getScheduler().runTask(main, new Runnable() {
  58.                 @Override
  59.                 public void run() {
  60.                     game.defuseSuccess();
  61.                     // cancelDefuse();
  62.                 }
  63.             });
  64.         }
  65.     }
  66.  
  67.     public void cancelDefuse() {
  68.         game.getBomb().setDefuseTask(null);
  69.         cancel();
  70.     }
  71.  
  72.     public Player getPlayer() {
  73.         return player;
  74.     }
  75.  
  76.     public int getTickLeft() {
  77.         return done;
  78.     }
  79. }
Advertisement
Add Comment
Please, Sign In to add comment