Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.minefs.MineStrike.Cache;
- import org.bukkit.Bukkit;
- import org.bukkit.entity.Player;
- import org.bukkit.scheduler.BukkitRunnable;
- import net.minefs.MineStrike.Main;
- import net.minefs.MineStrike.Handler.GameTeam.Role;
- import net.minefs.MineStrike.Modes.DefuseGame;
- import net.minefs.MineStrike.Quests.Objective;
- import net.minefs.MineStrike.Quests.QuestAttempt;
- public class DefuseTask extends BukkitRunnable {
- private Player player;
- private int ticks;
- private DefuseGame game;
- private int done;
- private Main main;
- public DefuseTask(DefuseGame game, Player player, int ticks) {
- this.ticks = ticks;
- this.player = player;
- this.game = game;
- done = ticks;
- main = game.getMain();
- for (Player p : main.getManager().getTeam(game, Role.COUNTERTERRORIST).getPlayers())
- p.playSound(p.getLocation(), "cs.radio.defusing", 100, 1);
- player.getWorld().playSound(player.getLocation(), "cs.random.c4_defuse", 1, 1);
- runTaskTimerAsynchronously(main, 1, 1);
- }
- @Override
- public void run() {
- if (!game.getBomb().isAtBomb(player) || !player.isSneaking() || game.getSpectatorsClone().contains(player)) {
- player.sendActionBar("§c§lĐã hủy gỡ bom.");
- cancelDefuse();
- player.setExp(0);
- return;
- }
- if (done > 0) {
- done--;
- if (game.getBomb().getTimer() <= 0) {
- player.sendActionBar("§c§lKhông kịp rồi...");
- cancelDefuse();
- player.setExp(0);
- return;
- }
- player.sendActionBar("§f§l" + ((done / 20) + 1) + " §b§l- Đang gỡ bom...");
- player.setExp(1 - ((float) done / ticks));
- } else {
- player.setExp(0);
- player.sendActionBar("§b§lGỡ bom thành công");
- new QuestAttempt(player, game, Objective.BOMB_DEFUSE);
- new QuestAttempt(player, game, Objective.BOMB_PLANT_OR_DEFUSE);
- cancel();
- Bukkit.getScheduler().runTask(main, new Runnable() {
- @Override
- public void run() {
- game.defuseSuccess();
- // cancelDefuse();
- }
- });
- }
- }
- public void cancelDefuse() {
- game.getBomb().setDefuseTask(null);
- cancel();
- }
- public Player getPlayer() {
- return player;
- }
- public int getTickLeft() {
- return done;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment