Advertisement
Guest User

Untitled

a guest
Jul 20th, 2019
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.19 KB | None | 0 0
  1. package com.zeflyyt.hcf.commands.staff;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.HashMap;
  5. import java.util.UUID;
  6.  
  7. import org.bukkit.Bukkit;
  8. import org.bukkit.ChatColor;
  9. import org.bukkit.GameMode;
  10. import org.bukkit.command.Command;
  11. import org.bukkit.command.CommandExecutor;
  12. import org.bukkit.command.CommandSender;
  13. import org.bukkit.entity.Player;
  14. import org.bukkit.event.Listener;
  15. import org.bukkit.inventory.ItemStack;
  16.  
  17. import com.zeflyyt.hcf.ConfigurationService;
  18. import com.zeflyyt.hcf.listener.VanishListener;
  19. import com.zeflyyt.hcf.staffmode.StaffItems;
  20.  
  21. public class StaffModeCommand implements Listener, CommandExecutor
  22. {
  23. public static ArrayList<Player> modMode;
  24. public static ArrayList<UUID> Staff;
  25. public static ArrayList<Player> teleportList;
  26. public static HashMap<String, ItemStack[]> armorContents;
  27. public static HashMap<String, ItemStack[]> inventoryContents;
  28. static StaffModeCommand instance;
  29.  
  30. static {
  31. StaffModeCommand.modMode = new ArrayList<Player>();
  32. StaffModeCommand.Staff = new ArrayList<UUID>();
  33. StaffModeCommand.teleportList = new ArrayList<Player>();
  34. StaffModeCommand.armorContents = new HashMap<String, ItemStack[]>();
  35. StaffModeCommand.inventoryContents = new HashMap<String, ItemStack[]>();
  36. StaffModeCommand.instance = new StaffModeCommand();
  37. }
  38.  
  39. public String color(final String msg) {
  40. return ChatColor.translateAlternateColorCodes('&', msg);
  41. }
  42.  
  43. public static StaffModeCommand getInstance() {
  44. return StaffModeCommand.instance;
  45. }
  46.  
  47. public static boolean isMod(final Player p) {
  48. return StaffModeCommand.Staff.contains(p.getUniqueId());
  49. }
  50.  
  51. public static boolean enterMod(final Player p) {
  52. StaffModeCommand.modMode.add(p);
  53. StaffModeCommand.Staff.add(p.getUniqueId());
  54. StaffItems.saveInventory(p);
  55. VanishListener.getInstance().setVanish(p, true);
  56. p.getInventory().clear();
  57. p.getInventory().setHelmet((ItemStack)null);
  58. p.getInventory().setChestplate((ItemStack)null);
  59. p.getInventory().setLeggings((ItemStack)null);
  60. p.getInventory().setBoots((ItemStack)null);
  61. p.setExp(0.0f);
  62. p.setAllowFlight(true);
  63. p.setGameMode(GameMode.CREATIVE);
  64. StaffItems.modItems(p);
  65. p.sendMessage(ChatColor.translateAlternateColorCodes('&', ConfigurationService.STAFF_ENABLED));
  66. return true;
  67. }
  68.  
  69. public static boolean leaveMod(final Player p) {
  70. StaffModeCommand.modMode.remove(p);
  71. StaffModeCommand.Staff.remove(p.getUniqueId());
  72. p.getInventory().clear();
  73. StaffItems.loadInventory(p);
  74. p.setAllowFlight(false);
  75. VanishListener.getInstance().setVanish(p, false);
  76. p.sendMessage(ChatColor.translateAlternateColorCodes('&', ConfigurationService.STAFF_DISABLED));
  77. p.setGameMode(GameMode.SURVIVAL);
  78. return true;
  79. }
  80.  
  81. public boolean onCommand(final CommandSender sender, final Command cmd, final String label, final String[] args) {
  82. if (!cmd.getName().equalsIgnoreCase("staffmode")) {
  83. return false;
  84. }
  85. if (!sender.hasPermission("command.mod")) {
  86. sender.sendMessage(ChatColor.RED + "You lack the sufficient permissions to execute this command.");
  87. return true;
  88. }
  89. if (args.length < 1) {
  90. if (!(sender instanceof Player)) {
  91. sender.sendMessage(ChatColor.RED + "User command only");
  92. return true;
  93. }
  94. if (StaffModeCommand.modMode.contains(sender)) {
  95. leaveMod((Player)sender);
  96. return true;
  97. }
  98. enterMod((Player)sender);
  99. return true;
  100. }
  101. else {
  102. if (!sender.hasPermission("command.mod.others")) {
  103. sender.sendMessage(ChatColor.RED + "No.");
  104. return true;
  105. }
  106. final Player t = Bukkit.getPlayer(args[0]);
  107. if (t == null) {
  108. sender.sendMessage("§cPlayer not found.");
  109. return true;
  110. }
  111. if (StaffModeCommand.modMode.contains(t)) {
  112. leaveMod(t);
  113. sender.sendMessage(ChatColor.translateAlternateColorCodes('&', "&7You have &cdisabled &7" + t.getName() + "'s &3&lStaff Mode"));
  114. return true;
  115. }
  116. enterMod(t);
  117. sender.sendMessage(ChatColor.translateAlternateColorCodes('&', "&7You have &aenabled &7" + t.getName() + "'s &3&lStaff Mode"));
  118. return true;
  119. }
  120. }
  121.  
  122. public static void onDisableMod() {
  123. Player[] arrayOfPlayer;
  124. for (int j = (arrayOfPlayer = Bukkit.getOnlinePlayers()).length, i = 0; i < j; ++i) {
  125. final Player p = arrayOfPlayer[i];
  126. if (StaffModeCommand.Staff.contains(p.getUniqueId())) {
  127. leaveMod(p);
  128. p.sendMessage(String.valueOf(ChatColor.RED.toString()) + "You have been taken out of staff mode because of a reload.");
  129. StaffModeCommand.teleportList.remove(p);
  130. }
  131. }
  132. }
  133. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement