Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.reflex.practice.commands;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.Player;
- import org.bukkit.scheduler.BukkitRunnable;
- import org.bukkit.scheduler.BukkitTask;
- import lombok.Getter;
- import lombok.RequiredArgsConstructor;
- import net.reflex.practice.Practice;
- import net.reflex.practice.ffa.listener.TeleportListener;
- import net.reflex.practice.profile.Profile;
- import net.reflex.practice.util.PlayerUtil;
- import net.reflex.practice.profile.PlayerState;
- import java.util.ArrayList;
- import java.util.Arrays;
- public class FFALeaveCommand extends Command {
- private final Practice plugin = Practice.getInstance();
- public FFALeaveCommand() {
- super("ffaleave");
- this.setDescription("Leave the ffa arena.");
- this.setUsage(ChatColor.RED + "Usage: /ffaleave");
- }
- ArrayList<Player> teleport = TeleportListener.teleport;
- @Override
- public boolean execute(CommandSender sender, String alias, String[] args) {
- if (!(sender instanceof Player)) {
- return true;
- }
- Player player = (Player) sender;
- if (!(plugin.getPlayerManager().getPlayerData(player.getUniqueId()).getPlayerState() == PlayerState.FFA)) {
- return true;
- }
- teleport.add(player);
- BukkitTask task = new TeleportCountdownTask(player).runTaskTimer(plugin, 0, 20);
- teleport.add(player);//Add player to arraylist on command
- Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(plugin,
- new Runnable() {
- public void run() {
- // Teleportation code here
- teleport.remove(player);
- plugin.getFfaManager().removePlayer(player);
- //Remove player on sucessful teleport
- }
- }, 20L * 5); // 10 seconds
- return true;
- }
- @Getter
- @RequiredArgsConstructor
- public class TeleportCountdownTask extends BukkitRunnable {
- private final Player player;
- private int time = 5;
- @Override
- public void run() {
- Player player = null;
- if (time == 5) {
- if (!teleport.contains(player)) return;
- PlayerUtil.sendMessage(ChatColor.RED + "Teleporting in 5", player);
- } else if (time == 4) {
- if (!teleport.contains(player)) return;
- PlayerUtil.sendMessage(ChatColor.RED + "Teleporting in 4", player);
- } else if (time == 3) {
- if (!teleport.contains(player)) return;
- PlayerUtil.sendMessage(ChatColor.RED + "Teleporting in 3", player);
- } else if (time == 2) {
- if (!teleport.contains(player)) return;
- PlayerUtil.sendMessage(ChatColor.RED + "Teleporting in 2", player);
- } else if (time == 1) {
- if (!teleport.contains(player)) return;
- PlayerUtil.sendMessage(ChatColor.RED + "Teleporting in 1", player);
- } else if (time == 0) {
- if (!teleport.contains(player)) return;
- PlayerUtil.sendMessage(ChatColor.RED + "You left the ffa arena.", player);
- }
- time--;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement