Advertisement
Guest User

Untitled

a guest
Mar 27th, 2017
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.91 KB | None | 0 0
  1. package me.milksales.hcf.command;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.HashMap;
  5. import java.util.Map;
  6.  
  7. import org.bukkit.Bukkit;
  8. import org.bukkit.ChatColor;
  9. import org.bukkit.command.Command;
  10. import org.bukkit.command.CommandExecutor;
  11. import org.bukkit.command.CommandSender;
  12. import org.bukkit.entity.Player;
  13. import org.bukkit.scheduler.BukkitRunnable;
  14.  
  15. import me.milksales.hcf.HCF;
  16.  
  17. public class FocusCommand implements CommandExecutor {
  18.  
  19. private final HCF plugin;
  20.  
  21. public static Map<Player, Player> focused = new HashMap<Player, Player>();
  22.  
  23. public FocusCommand(HCF plugin) {
  24. this.plugin = plugin;
  25. }
  26.  
  27. @SuppressWarnings("deprecation")
  28. public boolean onCommand(final CommandSender sender, final Command command, final String label,
  29. final String[] args) {
  30. if (!(sender instanceof Player)) {
  31. sender.sendMessage(ChatColor.RED + "This command is only executable by players.");
  32. return true;
  33. }
  34. if (args.length == 1) {
  35. Player p = Bukkit.getPlayer(args[0]);
  36. if (p == null || p.equals(((Player) sender))) {
  37. sender.sendMessage("§cInvalid player.");
  38. return true;
  39. }
  40. if (plugin.getFactionManager().getPlayerFaction(((Player) sender)).equals(null)) {
  41. sender.sendMessage("§cYou are not in a faction so you cannot focus other players.");
  42. return true;
  43. }
  44. if (plugin.getFactionManager().getPlayerFaction(((Player) sender))
  45. .equals(plugin.getFactionManager().getPlayerFaction(p))) {
  46. sender.sendMessage("§cYou cannot focus members of your own faction!");
  47. return true;
  48. }
  49. if (focused.containsKey(p)) {
  50. sender.sendMessage(
  51. "§b" + p.getName() + " §eis already focused by §b" + focused.get(p).getName() + "§e.");
  52. return true;
  53. }
  54. focused.put(p, ((Player) sender));
  55.  
  56. ArrayList<Player> onlinePlayers = new ArrayList<Player>();
  57. Player[] arrplayer = Bukkit.getOnlinePlayers();
  58.  
  59. for (int i = 0; i < arrplayer.length; i++) {
  60. Player player = arrplayer[i];
  61. onlinePlayers.add(player);
  62. plugin.getScoreboardHandler().getPlayerBoard(player.getUniqueId()).addUpdates(onlinePlayers);
  63. }
  64.  
  65. for (Player pa : HCF.getPlugin().getFactionManager().getPlayerFaction(p).getOnlinePlayers()) {
  66. pa.sendMessage("§b" + p.getName() + " §ehas been focused by §b" + sender.getName() + "§e!");
  67. }
  68.  
  69. new BukkitRunnable() {
  70. @Override
  71. public void run() {
  72. focused.remove(p);
  73. ArrayList<Player> onlinePlayers = new ArrayList<Player>();
  74. Player[] arrplayer = Bukkit.getOnlinePlayers();
  75. for (int i = 0; i < arrplayer.length; i++) {
  76. Player player = arrplayer[i];
  77. onlinePlayers.add(player);
  78. plugin.getScoreboardHandler().getPlayerBoard(player.getUniqueId()).addUpdates(onlinePlayers);
  79. }
  80. }
  81. }.runTaskLater(plugin, (20 * 60) * 45);
  82. return true;
  83. } else {
  84. sender.sendMessage("§cIncorrect usage. Correct usage: /focus <player>");
  85. return true;
  86. }
  87. }
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement