SHARE
TWEET

Untitled

a guest Oct 19th, 2019 76 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ew pastebin
  2.  
  3. package net.minedroid.dylan.survival.commands.staffmode;
  4.  
  5. import net.minedroid.dylan.survival.Main;
  6. import net.minedroid.dylan.survival.tags.SidebarBoard;
  7. import net.minedroid.dylan.survival.utils.Colour;
  8. import org.bukkit.Bukkit;
  9. import org.bukkit.GameMode;
  10. import org.bukkit.Material;
  11. import org.bukkit.command.Command;
  12. import org.bukkit.command.CommandExecutor;
  13. import org.bukkit.command.CommandSender;
  14. import org.bukkit.entity.Player;
  15. import org.bukkit.event.EventHandler;
  16. import org.bukkit.event.Listener;
  17. import org.bukkit.event.block.BlockBreakEvent;
  18. import org.bukkit.event.block.BlockPlaceEvent;
  19. import org.bukkit.event.inventory.InventoryClickEvent;
  20. import org.bukkit.event.player.PlayerDropItemEvent;
  21. import org.bukkit.event.player.PlayerInteractEvent;
  22. import org.bukkit.inventory.ItemStack;
  23. import org.bukkit.inventory.meta.ItemMeta;
  24.  
  25. import java.util.ArrayList;
  26.  
  27. public class StaffMode implements CommandExecutor, Listener {
  28.  
  29.     public static ArrayList<Player> staffmode = new ArrayList<>();
  30.  
  31.     public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
  32.  
  33.         if (!(sender instanceof Player)) {
  34.             sender.sendMessage(Colour.colorize("&cOnly players can execute this command."));
  35.         } else {
  36.             Player p = (Player) sender;
  37.             if (Main.getRank(p.getUniqueId().toString()).equalsIgnoreCase("Member")
  38.                     || (Main.getRank(p.getUniqueId().toString()).equalsIgnoreCase("Elite")
  39.                     || (Main.getRank(p.getUniqueId().toString()).equalsIgnoreCase("Media")
  40.                     || (Main.getRank(p.getUniqueId().toString()).equalsIgnoreCase("Builder"))))) {
  41.                 p.sendMessage(Colour.colorize("&c&lRanks > &7This command requires &eHelper &7rank."));
  42.             } else {
  43.                 ItemStack diamondaxe = new ItemStack(Material.DIAMOND_AXE);
  44.                 ItemMeta daxemeta = diamondaxe.getItemMeta();
  45.                 daxemeta.setDisplayName(Colour.colorize("&c&lPunish &7(Right Click)"));
  46.                 diamondaxe.setItemMeta(daxemeta);
  47.  
  48.                 ItemStack bed = new ItemStack(Material.BED);
  49.                 ItemMeta bedmeta = bed.getItemMeta();
  50.                 bedmeta.setDisplayName(Colour.colorize("&4&lCancel Staff Mode &7(Right Click)"));
  51.                 bed.setItemMeta(bedmeta);
  52.  
  53.                 ItemStack netherstar = new ItemStack(Material.NETHER_STAR);
  54.                 ItemMeta netherstarmeta = netherstar.getItemMeta();
  55.                 netherstarmeta.setDisplayName(Colour.colorize("&6&lToggle Vanish &7(Right Click)"));
  56.                 netherstar.setItemMeta(netherstarmeta);
  57.  
  58.                 ItemStack blazerod = new ItemStack(Material.BLAZE_ROD);
  59.                 ItemMeta blazerodmeta = blazerod.getItemMeta();
  60.                 blazerodmeta.setDisplayName(Colour.colorize("&3&lTeleport &7(Right Click)"));
  61.                 blazerod.setItemMeta(blazerodmeta);
  62.  
  63.                 ItemStack glowstone = new ItemStack(Material.GLOWSTONE);
  64.                 ItemMeta glowmeta = glowstone.getItemMeta();
  65.                 glowmeta.setDisplayName(Colour.colorize("&a&lInspect Inventory &7(Right Click)"));
  66.                 glowstone.setItemMeta(glowmeta);
  67.                 if (staffmode.contains(p)) {
  68.                     p.getInventory().clear();
  69.                     staffmode.remove(p);
  70.                     p.sendMessage(Colour.colorize("&a&lStaff Mode > &7You have &cdisabled &7staff mode."));
  71.                     p.setAllowFlight(false);
  72.                     p.setGameMode(GameMode.SURVIVAL);
  73.                     p.setFoodLevel(20);
  74.                     p.setHealth(20);
  75.                     SidebarBoard.getInstance().updateScoreboard(p);
  76.                     if (Main.isVanished(p.getUniqueId().toString()).equals("true")) {
  77.                         Main.setVanishedFalse(p.getUniqueId().toString());
  78.                         p.sendMessage(Colour.colorize("&a&lStaff Mode > &3Vanish &7has been &cdisabled."));
  79.                         SidebarBoard.getInstance().updateScoreboard(p);
  80.                     }
  81.                 } else {
  82.                     p.getInventory().clear();
  83.                     p.setAllowFlight(true);
  84.                     p.setGameMode(GameMode.CREATIVE);
  85.                     staffmode.add(p);
  86.                     SidebarBoard.getInstance().updateScoreboard(p);
  87.                     p.getInventory().setItem(0, diamondaxe);
  88.                     p.getInventory().setItem(2, glowstone);
  89.                     p.getInventory().setItem(4, blazerod);
  90.                     p.getInventory().setItem(6, netherstar);
  91.                     p.getInventory().setItem(8, bed);
  92.                     p.sendMessage(Colour.colorize("&a&lStaff Mode > &7You have &aenabled &7staff mode."));
  93.                     if (Main.isVanished(p.getUniqueId().toString()).equals("false")) {
  94.                         SidebarBoard.getInstance().updateScoreboard(p);
  95.  
  96.                     } else if (Main.isVanished(p.getUniqueId().toString()).equals("true")) {
  97.                         SidebarBoard.getInstance().updateScoreboard(p);
  98.                     }
  99.                 }
  100.             }
  101.  
  102.  
  103.  
  104.         }
  105.  
  106.         return true;
  107.     }
  108.  
  109.     @EventHandler
  110.     public void onClick(PlayerInteractEvent e) {
  111.         Player p = (e.getPlayer());
  112.         if (e.getPlayer().getItemInHand().getItemMeta().getDisplayName().equalsIgnoreCase(Colour.colorize("&4&lCancel Staff Mode &7(Right Click)"))) {
  113.             p.getInventory().clear();
  114.             staffmode.remove(p);
  115.             p.sendMessage(Colour.colorize("&a&lStaff Mode > &7You have &cdisabled &7staff mode."));
  116.             p.setAllowFlight(false);
  117.             p.setGameMode(GameMode.SURVIVAL);
  118.             p.setHealth(20);
  119.             p.setFoodLevel(20);
  120.             SidebarBoard.getInstance().updateScoreboard(p);
  121.             if (Main.isVanished(p.getUniqueId().toString()).equals("true")) {
  122.                 Main.setVanishedFalse(p.getUniqueId().toString());
  123.                 p.sendMessage(Colour.colorize("&a&lStaff Mode > &3Vanish &7has been &cdisabled."));
  124.                 SidebarBoard.getInstance().updateScoreboard(p);
  125.             }
  126.         } else if (e.getPlayer().getItemInHand().getItemMeta().getDisplayName().equalsIgnoreCase(Colour.colorize("&6&lToggle Vanish &7(Right Click)"))) {
  127.             if (Main.isVanished(p.getUniqueId().toString()).equals("true")) {
  128.                 Main.setVanishedFalse(p.getUniqueId().toString());
  129.                 for (Player pl : Bukkit.getOnlinePlayers()) {
  130.                     if (Main.getRank(pl.getUniqueId().toString()).equalsIgnoreCase("Member")
  131.                             || (Main.getRank(pl.getUniqueId().toString()).equalsIgnoreCase("Elite")) || (Main.getRank(pl.getUniqueId().toString()).equalsIgnoreCase("Media"))) {
  132.                         pl.showPlayer(p);
  133.                     }
  134.                 }
  135.                 Bukkit.broadcastMessage(Colour.colorize("&8[&a+&8] &7" + p.getName()));
  136.                 SidebarBoard.getInstance().updateScoreboard(p);
  137.                 p.sendMessage(Colour.colorize("&3&lVanish > &7You &cdisabled &7Vanish."));
  138.             } else if (Main.isVanished(p.getUniqueId().toString()).equals("false")) {
  139.                 Main.setVanishedTrue(p.getUniqueId().toString());
  140.                 for (Player pl : Bukkit.getOnlinePlayers()) {
  141.                     if (Main.getRank(pl.getUniqueId().toString()).equalsIgnoreCase("Member")
  142.                             || (Main.getRank(pl.getUniqueId().toString()).equalsIgnoreCase("Elite")) || (Main.getRank(pl.getUniqueId().toString()).equalsIgnoreCase("Media"))) {
  143.                         pl.hidePlayer(p);
  144.                     }
  145.                 }
  146.                 Bukkit.broadcastMessage(Colour.colorize("&8[&c-&8] &7" + p.getName()));
  147.                 p.sendMessage(Colour.colorize("&3&lVanish > &7You &aenabled &7Vanish."));
  148.                 SidebarBoard.getInstance().updateScoreboard(p);
  149.             }
  150.         } else if (e.getPlayer().getItemInHand().getItemMeta().getDisplayName().equalsIgnoreCase(Colour.colorize("&a&lInspect Inventory &7(Right Click)"))) {
  151.             InspectGUI.getInstance().openGUI(p);
  152.         } else if (e.getPlayer().getItemInHand().getItemMeta().getDisplayName().equalsIgnoreCase(Colour.colorize("&3&lTeleport &7(Right Click)"))) {
  153.             TeleportGUI.getInstance().openGUI(p);
  154.         } else if (e.getPlayer().getItemInHand().getItemMeta().getDisplayName().equalsIgnoreCase(Colour.colorize("&c&lPunish &7(Right Click)"))) {
  155.             PunishGUI.getInstance().openGUI(p);
  156.         } else if (staffmode.contains(p)) {
  157.             e.setCancelled(true);
  158.         }
  159.     }
  160.  
  161.     @EventHandler
  162.     public void onClickGUI(InventoryClickEvent e) {
  163.         if (e.getClickedInventory().getTitle().equalsIgnoreCase("Teleport to a Player")) {
  164.             if (e.getWhoClicked() instanceof Player) {
  165.                 Player p = (Player) e.getWhoClicked();
  166.                 if (staffmode.contains(p)) {
  167.                     if (e.getCurrentItem().getType() != Material.AIR) {
  168.                         String itemname = e.getCurrentItem().getItemMeta().getDisplayName();
  169.                         String playername = itemname.replace(Colour.colorize("&8("), "").replace(Colour.colorize("&8) "), "").replace(Colour.colorize("&c"), "").replace(Colour.colorize("&7"), "").replace(Colour.colorize("&e"), "").replace(Colour.colorize("&2"), "").replace(Colour.colorize("&a"), "").replace(Colour.colorize("&d"), "").replace(Colour.colorize("&5"), "").replace(Colour.colorize("&3"), "").replace(Colour.colorize("&6"), "").replace(Colour.colorize("&b"), "").replace(Colour.colorize("Member"), "").replace(Colour.colorize("Elite"), "").replace(Colour.colorize("Beta"), "").replace(Colour.colorize("Helper"), "").replace(Colour.colorize("Builder"), "").replace(Colour.colorize("Media"), "").replace(Colour.colorize("Mod"), "").replace(Colour.colorize("Mod+"), "").replace(Colour.colorize("Admin"), "").replace(Colour.colorize("Developer"), "").replace(Colour.colorize("Manager"), "").replace(Colour.colorize("Owner"), "");
  170.                         Player player = Bukkit.getPlayer(playername);
  171.                         p.teleport(player);
  172.                     }
  173.                 }
  174.             }
  175.  
  176.  
  177.         } else if (e.getClickedInventory().getTitle().equalsIgnoreCase("Inspect Inventories")) {
  178.             String playername = e.getCurrentItem().getItemMeta().getDisplayName().replace(Colour.colorize("&e"), "");
  179.             if (e.getWhoClicked() instanceof Player) {
  180.                 Player p = (Player) e.getWhoClicked();
  181.                 Player player = Bukkit.getPlayer(playername);
  182.                 p.openInventory(player.getInventory());
  183.             }
  184.         } else if (e.getClickedInventory().getTitle().equals("Punish a Player")) {
  185.             if (e.getWhoClicked() instanceof Player) {
  186.                 Player p = (Player) e.getWhoClicked();
  187.                 if (staffmode.contains(p)) {
  188.                     e.setCancelled(true);
  189.                     if (e.getCurrentItem().getType() != Material.AIR) {
  190.                         String itemname = e.getCurrentItem().getItemMeta().getDisplayName();
  191.                         String playername = itemname.replace(Colour.colorize("&8("), "").replace(Colour.colorize("&8) "), "").replace(Colour.colorize("&c"), "").replace(Colour.colorize("&7"), "").replace(Colour.colorize("&e"), "").replace(Colour.colorize("&2"), "").replace(Colour.colorize("&a"), "").replace(Colour.colorize("&d"), "").replace(Colour.colorize("&5"), "").replace(Colour.colorize("&3"), "").replace(Colour.colorize("&6"), "").replace(Colour.colorize("&b"), "").replace(Colour.colorize("Member"), "").replace(Colour.colorize("Elite"), "").replace(Colour.colorize("Beta"), "").replace(Colour.colorize("Helper"), "").replace(Colour.colorize("Builder"), "").replace(Colour.colorize("Media"), "").replace(Colour.colorize("Mod"), "").replace(Colour.colorize("Mod+"), "").replace(Colour.colorize("Admin"), "").replace(Colour.colorize("Developer"), "").replace(Colour.colorize("Manager"), "").replace(Colour.colorize("Owner"), "");
  192.                         p.performCommand("punish " + playername);
  193.                     }
  194.                 }
  195.             }
  196.         }
  197.     }
  198.  
  199.     @EventHandler
  200.     public void onDropItems(PlayerDropItemEvent e) {
  201.         if (staffmode.contains(e.getPlayer())) {
  202.             e.setCancelled(true);
  203.         }
  204.     }
  205.  
  206.     @EventHandler
  207.     public void onPlace(BlockPlaceEvent e) {
  208.         if (staffmode.contains(e.getPlayer())) {
  209.             e.setCancelled(true);
  210.         }
  211.     }
  212.  
  213.     @EventHandler
  214.     public void onBreak(BlockBreakEvent e) {
  215.         if (staffmode.contains(e.getPlayer())) {
  216.             e.setCancelled(true);
  217.         }
  218.     }
  219. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top