Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.milksales.hcf.command;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.Map;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandExecutor;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.Player;
- import org.bukkit.scheduler.BukkitRunnable;
- import me.milksales.hcf.HCF;
- public class FocusCommand implements CommandExecutor {
- private final HCF plugin;
- public static Map<Player, Player> focused = new HashMap<Player, Player>();
- public FocusCommand(HCF plugin) {
- this.plugin = plugin;
- }
- @SuppressWarnings("deprecation")
- public boolean onCommand(final CommandSender sender, final Command command, final String label,
- final String[] args) {
- if (!(sender instanceof Player)) {
- sender.sendMessage(ChatColor.RED + "This command is only executable by players.");
- return true;
- }
- if (args.length == 1) {
- Player p = Bukkit.getPlayer(args[0]);
- if (p == null || p.equals(((Player) sender))) {
- sender.sendMessage("§cInvalid player.");
- return true;
- }
- if (plugin.getFactionManager().getPlayerFaction(((Player) sender)).equals(null)) {
- sender.sendMessage("§cYou are not in a faction so you cannot focus other players.");
- return true;
- }
- if (plugin.getFactionManager().getPlayerFaction(((Player) sender))
- .equals(plugin.getFactionManager().getPlayerFaction(p))) {
- sender.sendMessage("§cYou cannot focus members of your own faction!");
- return true;
- }
- if (focused.containsKey(p)) {
- sender.sendMessage(
- "§b" + p.getName() + " §eis already focused by §b" + focused.get(p).getName() + "§e.");
- return true;
- }
- focused.put(p, ((Player) sender));
- ArrayList<Player> onlinePlayers = new ArrayList<Player>();
- Player[] arrplayer = Bukkit.getOnlinePlayers();
- for (int i = 0; i < arrplayer.length; i++) {
- Player player = arrplayer[i];
- onlinePlayers.add(player);
- plugin.getScoreboardHandler().getPlayerBoard(player.getUniqueId()).addUpdates(onlinePlayers);
- }
- for (Player pa : HCF.getPlugin().getFactionManager().getPlayerFaction(p).getOnlinePlayers()) {
- pa.sendMessage("§b" + p.getName() + " §ehas been focused by §b" + sender.getName() + "§e!");
- }
- new BukkitRunnable() {
- @Override
- public void run() {
- focused.remove(p);
- ArrayList<Player> onlinePlayers = new ArrayList<Player>();
- Player[] arrplayer = Bukkit.getOnlinePlayers();
- for (int i = 0; i < arrplayer.length; i++) {
- Player player = arrplayer[i];
- onlinePlayers.add(player);
- plugin.getScoreboardHandler().getPlayerBoard(player.getUniqueId()).addUpdates(onlinePlayers);
- }
- }
- }.runTaskLater(plugin, (20 * 60) * 45);
- return true;
- } else {
- sender.sendMessage("§cIncorrect usage. Correct usage: /focus <player>");
- return true;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement