Advertisement
Guest User

Untitled

a guest
May 23rd, 2015
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 57.77 KB | None | 0 0
  1. package me.punishreloaded;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.Arrays;
  5. import java.util.List;
  6. import java.util.UUID;
  7.  
  8. import org.bukkit.Bukkit;
  9. import org.bukkit.ChatColor;
  10. import org.bukkit.Material;
  11. import org.bukkit.OfflinePlayer;
  12. import org.bukkit.Server;
  13. import org.bukkit.SkullType;
  14. import org.bukkit.command.Command;
  15. import org.bukkit.command.CommandExecutor;
  16. import org.bukkit.command.CommandSender;
  17. import org.bukkit.configuration.file.FileConfiguration;
  18. import org.bukkit.configuration.file.YamlConfiguration;
  19. import org.bukkit.configuration.file.YamlConfigurationOptions;
  20. import org.bukkit.entity.Player;
  21. import org.bukkit.event.EventHandler;
  22. import org.bukkit.event.Listener;
  23. import org.bukkit.event.inventory.InventoryClickEvent;
  24. import org.bukkit.event.inventory.InventoryEvent;
  25. import org.bukkit.event.player.AsyncPlayerChatEvent;
  26. import org.bukkit.event.player.PlayerJoinEvent;
  27. import org.bukkit.event.player.PlayerQuitEvent;
  28. import org.bukkit.inventory.Inventory;
  29. import org.bukkit.inventory.InventoryView;
  30. import org.bukkit.inventory.ItemStack;
  31. import org.bukkit.inventory.meta.ItemMeta;
  32. import org.bukkit.inventory.meta.SkullMeta;
  33. import org.bukkit.scheduler.BukkitRunnable;
  34. import org.bukkit.scheduler.BukkitScheduler;
  35.  
  36. public class PunishMenu
  37.   implements Listener, CommandExecutor
  38. {
  39.   final Punish pl;
  40.   public String cmds = "            §8§lCorrect Usages:";
  41.   public String punish = "§7/p §e<player> <reason>";
  42.   public String unmute = "§7/p unmute §e<player>";
  43.   public String unban = "§7/p unban §e<player>";
  44.   ArrayList<String> muted = new ArrayList();
  45.   ArrayList<String> banned = new ArrayList();
  46.   ArrayList<String> unmuted = new ArrayList();
  47.  
  48.   public PunishMenu(Punish pl)
  49.   {
  50.     this.pl = pl;
  51.   }
  52.  
  53.   public void punishGUI(Player p, String reason, OfflinePlayer tar)
  54.   {  
  55.     Inventory punish = Bukkit.createInventory(null, 54, ChatColor.DARK_RED + "Punish " + tar.getName());
  56.  
  57.  
  58.     ItemStack warn = new ItemStack(Material.PAPER, 1);
  59.     ItemMeta warnm = warn.getItemMeta();
  60.    
  61.     warnm.setDisplayName(ChatColor.GREEN.toString() + ChatColor.BOLD + "Warning");
  62.     ArrayList<String> warnl = new ArrayList();
  63.     warnl.add("  ");
  64.     warnl.add(ChatColor.GRAY + "Example Warning Imput");
  65.     warnl.add(ChatColor.WHITE + "  Spam - Writing 'MEOW' over and over");
  66.     warnl.add(ChatColor.WHITE + "  Hackusations - Accusing '_Star' of hacking");
  67.     warnl.add(ChatColor.WHITE + "  Trolling - Was trying to get people to do Alt-F4");
  68.    
  69.    
  70.     warnm.setLore(warnl);
  71.     warn.setItemMeta(warnm);
  72.    
  73.  
  74.  
  75.     ItemStack rsn = new ItemStack(Material.SKULL_ITEM, 1, (short)SkullType.PLAYER.ordinal());
  76.    
  77.     SkullMeta meta = (SkullMeta)rsn.getItemMeta();
  78.     meta.setOwner(tar.getName());
  79.     rsn.setItemMeta(meta);
  80.    
  81.     ItemMeta rsnm = rsn.getItemMeta();
  82.     rsnm.setDisplayName(ChatColor.GREEN.toString() + ChatColor.BOLD + "Information:");
  83.     ArrayList<String> rsnl = new ArrayList();
  84.     rsnl.add(ChatColor.translateAlternateColorCodes('&', "&7Reason: "));
  85.     rsnl.add(ChatColor.translateAlternateColorCodes('&', reason));
  86.     rsnl.add("  ");
  87.     rsnl.add(ChatColor.translateAlternateColorCodes('&', "&7Warnings: "));
  88.     rsnl.add(ChatColor.translateAlternateColorCodes('&', "&c" + getLevel(tar.getUniqueId())));
  89.    
  90.     rsnm.setLore(rsnl);
  91.     rsn.setItemMeta(rsnm);
  92.    
  93.  
  94.     ItemStack mutesign = new ItemStack(Material.BOOK_AND_QUILL);
  95.     ItemMeta msm = mutesign.getItemMeta();
  96.     msm.setDisplayName(ChatColor.GREEN.toString() + ChatColor.BOLD + "Chat Offense");
  97.     ArrayList<String> msm1 = new ArrayList();
  98.     msm1.add(ChatColor.GRAY + "Verbal Abuse, Spam, Harasment, Trolling, etc");
  99.     msm.setLore(msm1);
  100.     mutesign.setItemMeta(msm);
  101.    
  102.     ItemStack fivemute = getItem(Material.INK_SACK, 1, 2, ChatColor.GREEN.toString() + ChatColor.BOLD + "Severity 1 Mute", null);
  103.     ItemMeta fmm = fivemute.getItemMeta();
  104.     ArrayList<String> fmm1 = new ArrayList();
  105.     fmm1.add(ChatColor.WHITE + "Mute Duration: " + ChatColor.YELLOW + "4.0 Hours");
  106.     fmm1.add("  ");
  107.     fmm1.add(ChatColor.GRAY + "Light Spam");
  108.     fmm1.add(ChatColor.WHITE + "  Sending the same message 2-5 times.");
  109.     fmm1.add("  ");
  110.     fmm1.add(ChatColor.GRAY + "Light Advertising");
  111.     fmm1.add(ChatColor.WHITE + "  'Anyone want to play on Minecade'");
  112.     fmm1.add("  ");
  113.     fmm1.add(ChatColor.GRAY + "Light Abuse/Harassment");
  114.     fmm1.add(ChatColor.WHITE + "  'You suck at this game'");
  115.     fmm1.add("  ");
  116.     fmm1.add(ChatColor.GRAY + "Hackusations");
  117.     fmm1.add(ChatColor.WHITE + "  'You're such a hacker!'");
  118.    
  119.     fmm.setLore(fmm1);
  120.     fivemute.setItemMeta(fmm);
  121.    
  122.  
  123.     ItemStack tenmute = getItem(Material.INK_SACK, 1, 11, ChatColor.GREEN.toString() + ChatColor.BOLD + "Severity 2 Mute", null);
  124.     ItemMeta tmm = tenmute.getItemMeta();
  125.     ArrayList<String> tmm1 = new ArrayList();
  126.     tmm1.add(ChatColor.WHITE + "Mute Duration: " + ChatColor.YELLOW + "1 Day");
  127.     tmm1.add("  ");
  128.     tmm1.add(ChatColor.GRAY + "Medium Spam");
  129.     tmm1.add(ChatColor.WHITE + "  Sending the same message 6-20 times.");
  130.     tmm1.add("  ");
  131.     tmm1.add(ChatColor.GRAY + "Medium Advertising");
  132.     tmm1.add(ChatColor.WHITE + "  'Join Crap.Server.Net' - Posted Once'");
  133.     tmm1.add("  ");
  134.     tmm1.add(ChatColor.GRAY + "Medium Abuse/Harassment");
  135.     tmm1.add(ChatColor.WHITE + "  'Piss off you stupid newb!'");
  136.     tmm1.add(ChatColor.WHITE + "  'SHIT ADMINS ARE SHIT!!!'");
  137.     tmm1.add(ChatColor.WHITE + "  'You're terrible. Learn to play!'");
  138.    
  139.     tmm.setLore(tmm1);
  140.     tenmute.setItemMeta(tmm);
  141.    
  142.  
  143.     ItemStack fifteenmute = getItem(Material.INK_SACK, 1, 1, ChatColor.GREEN.toString() + ChatColor.BOLD + "Severity 3 Mute", null);
  144.     ItemMeta fmm2 = fifteenmute.getItemMeta();
  145.     ArrayList<String> fmm3 = new ArrayList();
  146.     fmm3.add(ChatColor.WHITE + "Mute Duration: " + ChatColor.YELLOW + "30 Days");
  147.     fmm3.add("  ");
  148.     fmm3.add(ChatColor.GRAY + "Severe Abuse/Harassment");
  149.     fmm3.add(ChatColor.WHITE + "  'Go fucking die in a fire you fucking sack of shit!'");
  150.    
  151.     fmm2.setLore(fmm3);
  152.     fifteenmute.setItemMeta(fmm2);
  153.    
  154.  
  155.     ItemStack tempsign = new ItemStack(Material.IRON_SWORD);
  156.     ItemMeta tsm = tempsign.getItemMeta();
  157.     tsm.setDisplayName(ChatColor.GREEN.toString() + ChatColor.BOLD + "Client Mod");
  158.     ArrayList<String> tsm1 = new ArrayList();
  159.     tsm1.add(ChatColor.GRAY + "X-Ray, Forcefield, Speed, Fly, Inventory Hacks, etc");
  160.     tsm.setLore(tsm1);
  161.     tempsign.setItemMeta(tsm);
  162.    
  163.  
  164.     ItemStack fiveban = getItem(Material.INK_SACK, 1, 2, ChatColor.GREEN.toString() + ChatColor.BOLD + "Severity 1 Ban", null);
  165.     ItemMeta tmm11 = fiveban.getItemMeta();
  166.     ArrayList<String> tmm111 = new ArrayList();
  167.     tmm111.add(ChatColor.WHITE + "Ban Duration: " + ChatColor.YELLOW + "1 Day");
  168.     tmm111.add("  ");
  169.     tmm111.add(ChatColor.GRAY + "Examples:");
  170.     tmm111.add(ChatColor.WHITE + "  Damage Indicators");
  171.     tmm111.add(ChatColor.WHITE + "  Player Radar");
  172.     tmm111.add(ChatColor.WHITE + "  Waypoints");
  173.    
  174.     tmm11.setLore(tmm111);
  175.     fiveban.setItemMeta(tmm11);
  176.    
  177.  
  178.     ItemStack tenban = getItem(Material.INK_SACK, 1, 11, ChatColor.GREEN.toString() + ChatColor.BOLD + "Severity 2 Ban", null);
  179.     ItemMeta tbb = tenban.getItemMeta();
  180.     ArrayList<String> tbb1 = new ArrayList();
  181.     tbb1.add(ChatColor.WHITE + "Ban Duration: " + ChatColor.YELLOW + "30 Days");
  182.     tbb1.add("  ");
  183.     tbb1.add(ChatColor.GRAY + "Examples:");
  184.     tbb1.add(ChatColor.WHITE + "  Forcefield");
  185.     tbb1.add(ChatColor.WHITE + "  Speed Hack");
  186.     tbb1.add(ChatColor.WHITE + "  Reach Hack");
  187.     tbb1.add(ChatColor.WHITE + "  Other Hacks");
  188.    
  189.     tbb.setLore(tbb1);
  190.     tenban.setItemMeta(tbb);
  191.    
  192.  
  193.     ItemStack fifteenban = getItem(Material.INK_SACK, 1, 1, ChatColor.GREEN.toString() + ChatColor.BOLD + "Severity 3 Ban", null);
  194.     ItemMeta fbb = fifteenban.getItemMeta();
  195.     ArrayList<String> fbb1 = new ArrayList();
  196.     fbb1.add(ChatColor.WHITE + "Mute Duration: " + ChatColor.YELLOW + "60 Days");
  197.     fbb1.add("  ");
  198.     fbb1.add(ChatColor.GRAY + "Examples");
  199.     fbb1.add(ChatColor.RED.toString() + ChatColor.BOLD + "  Only Used In Unusual/Extreme Circumstances!");
  200.    
  201.     fbb.setLore(fbb1);
  202.     fifteenban.setItemMeta(fbb);
  203.    
  204.  
  205.  
  206.     ItemStack ban = new ItemStack(Material.REDSTONE_BLOCK);
  207.     ItemMeta bsm = ban.getItemMeta();
  208.     bsm.setDisplayName(ChatColor.GREEN.toString() + ChatColor.BOLD + "Permanent Ban");
  209.     ArrayList<String> bsm1 = new ArrayList();
  210.     bsm1.add(ChatColor.WHITE + "Ban Duration: " + ChatColor.YELLOW + "Permanent");
  211.     bsm1.add("  ");
  212.     bsm1.add(ChatColor.DARK_GREEN.toString() + ChatColor.BOLD + "Must Supply Detailed Reason For Ban!");
  213.    
  214.     bsm.setLore(bsm1);
  215.     ban.setItemMeta(bsm);
  216.    
  217.     ItemStack mute = new ItemStack(Material.BOOK_AND_QUILL);
  218.     ItemMeta bam = mute.getItemMeta();
  219.     bam.setDisplayName(ChatColor.GREEN.toString() + ChatColor.BOLD + "Permanent Mute");
  220.     ArrayList<String> bam1 = new ArrayList();
  221.     bam1.add(ChatColor.WHITE + "Mute Duration: " + ChatColor.YELLOW + "Permanent");
  222.     bam1.add("  ");
  223.     bam1.add(ChatColor.GRAY + "Severe Advertising");
  224.     bam1.add(ChatColor.WHITE + "  Sending the same message 20+ times.");
  225.     bam1.add(ChatColor.WHITE + "  Only really used for spam bots!");
  226.    
  227.     bam.setLore(bam1);
  228.     mute.setItemMeta(bam);
  229.    
  230.     int mutetime = PunishMenu.this.getMuteTime(tar.getUniqueId());
  231.     int mutedays = mutetime/24/60;
  232.     int mutehours = mutetime/60%24;
  233.     int muteminutes = mutetime%60;
  234.     ItemStack unmute = new ItemStack(Material.ENCHANTED_BOOK);
  235.     ItemMeta unbam = unmute.getItemMeta();
  236.     unbam.setDisplayName(ChatColor.DARK_RED.toString() + ChatColor.BOLD + "Un-Mute");
  237.     ArrayList<String> unbam1 = new ArrayList();
  238.     unbam1.add(ChatColor.WHITE + "Unmutes " + ChatColor.DARK_RED + tar.getName());
  239.     unbam1.add("  ");
  240.     unbam1.add(ChatColor.GRAY + "Time Left On The Mute:");
  241.     if (mutedays > 3000)
  242.     {
  243.         unbam1.add(ChatColor.DARK_RED + "  " + "Permanent");
  244.     }
  245.     else if (mutedays > 0)
  246.     {
  247.         unbam1.add(ChatColor.WHITE + "  " + mutedays + " Days");
  248.         unbam1.add(ChatColor.WHITE + "  " + mutehours + " Hours");
  249.         unbam1.add(ChatColor.WHITE + "  " + muteminutes + " Minutes");
  250.     }
  251.     else if (mutehours > 0)
  252.     {
  253.         unbam1.add(ChatColor.WHITE + "  " + mutehours + " Hours");
  254.         unbam1.add(ChatColor.WHITE + "  " + muteminutes + " Minutes");
  255.     }
  256.     else
  257.     {
  258.         unbam1.add(ChatColor.WHITE + "  " + muteminutes + " Minutes");
  259.     }
  260.     unbam1.add("  ");
  261.     unbam1.add(ChatColor.RED.toString() + ChatColor.BOLD + "Only To Be Used In Unusual Circumstances!");
  262.    
  263.     unbam.setLore(unbam1);
  264.     unmute.setItemMeta(unbam);
  265.    
  266.     int bantime = PunishMenu.this.getTime(tar.getUniqueId());
  267.     int bandays = bantime/24/60;
  268.     int banhours = bantime/60%24;
  269.     int banminutes = bantime%60;
  270.     ItemStack unban = new ItemStack(Material.IRON_SWORD);
  271.     ItemMeta unbsm = unban.getItemMeta();
  272.     unbsm.setDisplayName(ChatColor.DARK_RED.toString() + ChatColor.BOLD + "Un-Ban");
  273.     ArrayList<String> unbsm1 = new ArrayList();
  274.     unbsm1.add(ChatColor.WHITE + "Unbans " + ChatColor.DARK_RED + tar.getName( ));
  275.     unbsm1.add("  ");
  276.     unbsm1.add(ChatColor.GRAY + "Time Left On The Ban:");
  277.     if (bandays > 3000)
  278.     {
  279.         unbsm1.add(ChatColor.DARK_RED + "  " + "Permanent");
  280.     }
  281.     else if (bandays > 0)
  282.     {
  283.         unbsm1.add(ChatColor.WHITE + "  " + bandays + " Days");
  284.         unbsm1.add(ChatColor.WHITE + "  " + banhours + " Hours");
  285.         unbsm1.add(ChatColor.WHITE + "  " + banminutes + " Minutes");
  286.     }
  287.     else if (banhours > 0)
  288.     {
  289.         unbsm1.add(ChatColor.WHITE + "  " + banhours + " Hours");
  290.         unbsm1.add(ChatColor.WHITE + "  " + banminutes + " Minutes");
  291.     }
  292.     else
  293.     {
  294.         unbsm1.add(ChatColor.WHITE + "  " + banminutes + " Minutes");
  295.     }
  296.     unbsm1.add("  ");
  297.     unbsm1.add(ChatColor.RED.toString() + ChatColor.BOLD + "Only To Be Used In Unusual Circumstances!");
  298.    
  299.     unbsm.setLore(unbsm1);
  300.     unban.setItemMeta(unbsm);
  301.    
  302.    
  303.    
  304.     if (p.hasPermission("punish.helper"))
  305.     {
  306.       punish.setItem(25, warn);
  307.       punish.setItem(12, mutesign);
  308.       punish.setItem(21, fivemute);
  309.       punish.setItem(14, tempsign);
  310.       punish.setItem(23, fiveban);
  311.       punish.setItem(4, rsn);
  312.       int i = PunishMenu.this.getTime(tar.getUniqueId());
  313.       if (i > 0)
  314.       {
  315.           punish.setItem(45, unban);
  316.       }
  317.       int a = PunishMenu.this.getMuteTime(tar.getUniqueId());
  318.       if (a > 0)
  319.       {
  320.           punish.setItem(46, unmute);
  321.       }
  322.     }
  323.     if (p.hasPermission("punish.mod"))
  324.     {
  325.       punish.setItem(30, tenmute);
  326.       punish.setItem(39, fifteenmute);
  327.       punish.setItem(32, tenban);
  328.       punish.setItem(41, fifteenban);
  329.       punish.setItem(34, ban);
  330.       punish.setItem(43, mute);
  331.     }
  332.    
  333.     p.openInventory(punish);
  334.   }
  335.  
  336.   public ItemStack getItem(Material material, int itemAmount, int itemData, String name, String... lores)
  337.   {
  338.     ItemStack item = new ItemStack(material, itemAmount, (byte)itemData);
  339.     if (name != null)
  340.     {
  341.       ItemMeta meta = item.getItemMeta();
  342.       meta.setDisplayName(ChatColor.translateAlternateColorCodes('&', name));
  343.       item.setItemMeta(meta);
  344.     }
  345.     if (lores != null)
  346.     {
  347.       List<String> lore = new ArrayList();
  348.       for (String l : lores) {
  349.         lore.add(ChatColor.translateAlternateColorCodes('&', l));
  350.       }
  351.       ItemMeta meta = item.getItemMeta();
  352.       meta.setLore(lore);
  353.       item.setItemMeta(meta);
  354.     }
  355.     return item;
  356.   }
  357.  
  358.  
  359.   @EventHandler
  360.   public void onClick(InventoryClickEvent event)
  361.   {
  362.     Player player = (Player)event.getWhoClicked();
  363.     if (!ChatColor.stripColor(event.getInventory().getName()).contains(ChatColor.stripColor("Punish "))) {
  364.       return;
  365.     }
  366.     event.setCancelled(true);
  367.     if ((event.getCurrentItem() == null) || (event.getCurrentItem().getType() == Material.AIR) || (!event.getCurrentItem().hasItemMeta())) {
  368.       return;
  369.     }
  370.     ItemStack item = event.getCurrentItem();
  371.     if (item != null)
  372.     {
  373.      
  374.       String reason = ChatColor.translateAlternateColorCodes('&', (String)event.getInventory().getItem(4).getItemMeta().getLore().get(1));
  375.       String tar = event.getInventory().getTitle().split(" ")[1];
  376.       final Player targetoffline = Bukkit.getPlayer(tar);
  377.       if(targetoffline != null)
  378.       {
  379.       final Player target = Bukkit.getPlayer(tar);
  380.       switch (item.getType())
  381.       {
  382.       case PAPER:
  383.         if (ChatColor.stripColor(item.getItemMeta().getDisplayName()).equalsIgnoreCase("Warning"))
  384.         {
  385.           Bukkit.broadcastMessage(this.pl.prefix + ChatColor.DARK_RED.toString() + ChatColor.BOLD + target.getName() + ChatColor.GRAY + " has been warned by " + ChatColor.DARK_RED.toString() + ChatColor.BOLD + player.getName() + ChatColor.GRAY + " for '" + ChatColor.YELLOW + reason + ChatColor.GRAY + "'");
  386.           levelPlayerUp(target.getUniqueId());
  387.           if (this.pl.action.toLowerCase().equalsIgnoreCase("MUTE")) {
  388.             if (!this.muted.contains(target.getName()))
  389.             {
  390.               BukkitScheduler scheduler = Bukkit.getScheduler();
  391.               scheduler.scheduleSyncRepeatingTask(this.pl, new BukkitRunnable()
  392.               {
  393.                 public void run()
  394.                 {
  395.                   int i = PunishMenu.this.getTime(target.getUniqueId());
  396.                   i--;
  397.                   if (i > 0)
  398.                   {
  399.                     PunishMenu.this.setTime(target.getUniqueId(), i);
  400.                     PunishMenu.this.pl.saveTempYML();
  401.                   }
  402.                   else
  403.                   {
  404.                     PunishMenu.this.pl.saveTempYML();
  405.                   }
  406.                 }
  407.               }, 1200L, 1200L);
  408.             }
  409.           }
  410.         event.getView().getTopInventory();
  411.         event.getView().close(); event.setCancelled(true);
  412.         }
  413.         break;
  414.       case REDSTONE_BLOCK:
  415.           BukkitScheduler scheduler = Bukkit.getServer().getScheduler();
  416.           if (event.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.GREEN.toString() + ChatColor.BOLD + "Permanent Ban"))
  417.           {
  418.             setTempTimes("Permanent", player, target, reason);
  419.             event.getView().getTopInventory();
  420.             event.getView().close(); event.setCancelled(true);
  421.           }
  422.       case ENCHANTED_BOOK:
  423.           if (event.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.DARK_RED.toString() + ChatColor.BOLD + "Un-Mute")) {
  424.               setMuteTimes("Un-Mute", player, target, reason);
  425.               event.getView().getTopInventory();
  426.               event.getView().close(); event.setCancelled(true);
  427.             }
  428.       case IRON_SWORD:
  429.           if (event.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.DARK_RED.toString() + ChatColor.BOLD + "Un-Ban")) {
  430.               setTempTimes("Un-Ban", player, target, reason);
  431.               event.getView().getTopInventory();
  432.               event.getView().close(); event.setCancelled(true);
  433.             }
  434.       case BOOK_AND_QUILL:
  435.           if (event.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.GREEN.toString() + ChatColor.BOLD + "Permanent Mute"))
  436.           {
  437.             setMuteTimes("Permanent", player, target, reason);
  438.             event.getView().getTopInventory();
  439.             event.getView().close(); event.setCancelled(true);
  440.           }
  441.       case INK_SACK:
  442.         if (event.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.GREEN.toString() + ChatColor.BOLD + "Severity 1 Mute")) {
  443.           setMuteTimes("4 Hours", player, target, reason);
  444.           event.getView().getTopInventory();
  445.           event.getView().close(); event.setCancelled(true);
  446.         }
  447.         if (event.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.GREEN.toString() + ChatColor.BOLD + "Severity 2 Mute")) {
  448.           setMuteTimes("1 Day", player, target, reason);
  449.           event.getView().getTopInventory();
  450.           event.getView().close(); event.setCancelled(true);
  451.         }
  452.         if (event.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.GREEN.toString() + ChatColor.BOLD + "Severity 3 Mute")) {
  453.           setMuteTimes("30 Days", player, target, reason);
  454.           event.getView().getTopInventory();
  455.           event.getView().close(); event.setCancelled(true);
  456.         }
  457.         if (event.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.GREEN.toString() + ChatColor.BOLD + "Severity 1 Ban")) {
  458.           setTempTimes("1 Day", player, target, reason);
  459.           event.getView().getTopInventory();
  460.           event.getView().close(); event.setCancelled(true);
  461.         }
  462.         if (event.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.GREEN.toString() + ChatColor.BOLD + "Severity 2 Ban")) {
  463.           setTempTimes("30 Days", player, target, reason);
  464.           event.getView().getTopInventory();
  465.           event.getView().close(); event.setCancelled(true);
  466.         }
  467.         if (event.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.GREEN.toString() + ChatColor.BOLD + "Severity 3 Ban")) {
  468.           setTempTimes("60 Days", player, target, reason);
  469.           event.getView().getTopInventory();
  470.           event.getView().close(); event.setCancelled(true);
  471.         }
  472.         break;
  473.       }
  474.       }
  475.       else
  476.       {
  477.           final OfflinePlayer offlinetarget = Bukkit.getOfflinePlayer(tar);
  478.           switch (item.getType())
  479.           {
  480.           case PAPER:
  481.             if (ChatColor.stripColor(item.getItemMeta().getDisplayName()).equalsIgnoreCase("Warning"))
  482.             {
  483.               Bukkit.broadcastMessage(this.pl.prefix + ChatColor.DARK_RED.toString() + ChatColor.BOLD + offlinetarget.getName() + ChatColor.GRAY + " has been warned by " + ChatColor.DARK_RED.toString() + ChatColor.BOLD + player.getName() + ChatColor.GRAY + " for '" + ChatColor.YELLOW + reason + ChatColor.GRAY + "'");
  484.               levelPlayerUp(offlinetarget.getUniqueId());
  485.               if (this.pl.action.toLowerCase().equalsIgnoreCase("MUTE")) {
  486.                 if (!this.muted.contains(offlinetarget.getName()))
  487.                 {
  488.                   BukkitScheduler scheduler = Bukkit.getScheduler();
  489.                   scheduler.scheduleSyncRepeatingTask(this.pl, new BukkitRunnable()
  490.                   {
  491.                     public void run()
  492.                     {
  493.                       int i = PunishMenu.this.getTime(offlinetarget.getUniqueId());
  494.                       i--;
  495.                       if (i > 0)
  496.                       {
  497.                         PunishMenu.this.setTime(offlinetarget.getUniqueId(), i);
  498.                         PunishMenu.this.pl.saveTempYML();
  499.                       }
  500.                       else
  501.                       {
  502.                         PunishMenu.this.pl.saveTempYML();
  503.                       }
  504.                     }
  505.                   }, 1200L, 1200L);
  506.                 }
  507.               }
  508.               event.getView().getTopInventory();
  509.               event.getView().close(); event.setCancelled(true);
  510.             }
  511.             break;
  512.           case REDSTONE_BLOCK:
  513.               BukkitScheduler scheduler = Bukkit.getServer().getScheduler();
  514.               if (event.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.GREEN.toString() + ChatColor.BOLD + "Permanent Ban"))
  515.               {
  516.                 setOfflineTempTimes("Permanent", player, offlinetarget, reason);
  517.                 event.getView().getTopInventory();
  518.                 event.getView().close(); event.setCancelled(true);
  519.               }
  520.           case ENCHANTED_BOOK:
  521.               if (event.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.DARK_RED.toString() + ChatColor.BOLD + "Un-Mute")) {
  522.                   setMuteTimes("Un-Mute", player, offlinetarget, reason);
  523.                   event.getView().getTopInventory();
  524.                   event.getView().close(); event.setCancelled(true);
  525.                 }
  526.           case IRON_SWORD:
  527.               if (event.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.DARK_RED.toString() + ChatColor.BOLD + "Un-Ban")) {
  528.                   setOfflineTempTimes("Un-Ban", player, offlinetarget, reason);
  529.                   event.getView().getTopInventory();
  530.                   event.getView().close(); event.setCancelled(true);
  531.                 }
  532.           case BOOK_AND_QUILL:
  533.               if (event.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.GREEN.toString() + ChatColor.BOLD + "Permanent Mute"))
  534.               {
  535.                 setMuteTimes("Permanent", player, offlinetarget, reason);
  536.                 event.getView().getTopInventory();
  537.                 event.getView().close(); event.setCancelled(true);
  538.               }
  539.           case INK_SACK:
  540.             if (event.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.GREEN.toString() + ChatColor.BOLD + "Severity 1 Mute")) {
  541.               setMuteTimes("4 Hours", player, offlinetarget, reason);
  542.               event.getView().getTopInventory();
  543.               event.getView().close(); event.setCancelled(true);
  544.             }
  545.             if (event.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.GREEN.toString() + ChatColor.BOLD + "Severity 2 Mute")) {
  546.               setMuteTimes("1 Day", player, offlinetarget, reason);
  547.               event.getView().getTopInventory();
  548.               event.getView().close(); event.setCancelled(true);
  549.             }
  550.             if (event.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.GREEN.toString() + ChatColor.BOLD + "Severity 3 Mute")) {
  551.               setMuteTimes("30 Days", player, offlinetarget, reason);
  552.               event.getView().getTopInventory();
  553.               event.getView().close(); event.setCancelled(true);
  554.             }
  555.             if (event.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.GREEN.toString() + ChatColor.BOLD + "Severity 1 Ban")) {
  556.               setOfflineTempTimes("1 Day", player, offlinetarget, reason);
  557.               event.getView().getTopInventory();
  558.               event.getView().close(); event.setCancelled(true);
  559.             }
  560.             if (event.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.GREEN.toString() + ChatColor.BOLD + "Severity 2 Ban")) {
  561.               setOfflineTempTimes("30 Days", player, offlinetarget, reason);
  562.               event.getView().getTopInventory();
  563.               event.getView().close(); event.setCancelled(true);
  564.             }
  565.             if (event.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.GREEN.toString() + ChatColor.BOLD + "Severity 3 Ban")) {
  566.               setOfflineTempTimes("60 Days", player, offlinetarget, reason);
  567.               event.getView().getTopInventory();
  568.               event.getView().close(); event.setCancelled(true);
  569.             }
  570.             break;
  571.           }
  572.       }
  573.     }
  574.   }
  575.  
  576. private void setOfflineTempTimes(String n, Player player, final OfflinePlayer target, String reason)
  577.   {
  578.     BukkitScheduler scheduler = Bukkit.getServer().getScheduler();
  579.     if (n.equals("1 Day"))
  580.     {
  581.       setTime(target.getUniqueId(), 1440);
  582.       this.banned.add(target.getName());
  583.       Bukkit.broadcastMessage(this.pl.prefix + ChatColor.DARK_RED + player.getName() + ChatColor.GRAY + " has banned " + ChatColor.DARK_RED + target.getName() + ChatColor.GRAY + " because of '" + ChatColor.YELLOW + reason + ChatColor.GRAY + "' for " + ChatColor.RED + "1 Day");
  584.       scheduler.scheduleSyncRepeatingTask(this.pl, new BukkitRunnable()
  585.       {
  586.         public void run()
  587.         {
  588.           int i = PunishMenu.this.getTime(target.getUniqueId());
  589.           i--;
  590.           if (i < 0)
  591.           {
  592.             PunishMenu.this.resetTime(target.getUniqueId());
  593.           }
  594.           if (i > 0)
  595.           {
  596.             PunishMenu.this.setTime(target.getUniqueId(), i);
  597.            
  598.             PunishMenu.this.pl.saveTempYML();
  599.           }
  600.           else
  601.           {
  602.             PunishMenu.this.banned.remove(target.getName());
  603.             PunishMenu.this.pl.saveTempYML();
  604.           }
  605.         }
  606.       }, 1200L, 1200L);
  607.     }
  608.     if (n.equals("30 Days"))
  609.     {
  610.       setTime(target.getUniqueId(), 43200);
  611.       this.banned.add(target.getName());
  612.       Bukkit.broadcastMessage(this.pl.prefix + ChatColor.DARK_RED + player.getName() + ChatColor.GRAY + " has banned " + ChatColor.DARK_RED + target.getName() + ChatColor.GRAY + " because of '" + ChatColor.YELLOW + reason + ChatColor.GRAY + "' for " + ChatColor.RED + "30 Days");
  613.       scheduler.scheduleSyncRepeatingTask(this.pl, new BukkitRunnable()
  614.       {
  615.         public void run()
  616.         {
  617.           int i = PunishMenu.this.getTime(target.getUniqueId());
  618.           i--;
  619.           if (i < 0)
  620.           {
  621.             PunishMenu.this.resetTime(target.getUniqueId());
  622.           }
  623.           if (i > 0)
  624.           {
  625.             PunishMenu.this.setTime(target.getUniqueId(), i);
  626.            
  627.             PunishMenu.this.pl.saveTempYML();
  628.           }
  629.           else
  630.           {
  631.             PunishMenu.this.banned.remove(target.getName());
  632.             PunishMenu.this.pl.saveTempYML();
  633.           }
  634.         }
  635.       }, 1200L, 1200L);
  636.     }
  637.     if (n.equals("60 Days"))
  638.     {
  639.       setTime(target.getUniqueId(), 86400);
  640.       this.banned.add(target.getName());
  641.       Bukkit.broadcastMessage(this.pl.prefix + ChatColor.DARK_RED + player.getName() + ChatColor.GRAY + " has banned " + ChatColor.DARK_RED + target.getName() + ChatColor.GRAY + " because of '" + ChatColor.YELLOW + reason + ChatColor.GRAY + "' for " + ChatColor.RED + "60 Days");
  642.       scheduler.scheduleSyncRepeatingTask(this.pl, new BukkitRunnable()
  643.       {
  644.         public void run()
  645.         {
  646.           int i = PunishMenu.this.getTime(target.getUniqueId());
  647.           i--;
  648.           if (i < 0)
  649.           {
  650.             PunishMenu.this.resetTime(target.getUniqueId());
  651.           }
  652.           if (i > 0)
  653.           {
  654.             PunishMenu.this.setTime(target.getUniqueId(), i);
  655.            
  656.             PunishMenu.this.pl.saveTempYML();
  657.           }
  658.           else
  659.           {
  660.             PunishMenu.this.banned.remove(target.getName());
  661.             PunishMenu.this.pl.saveTempYML();
  662.           }
  663.         }
  664.       }, 1200L, 1200L);
  665.     }
  666.     if (n.equals("Permanent"))
  667.     {
  668.       setTime(target.getUniqueId(), 9999999);
  669.       this.banned.add(target.getName());
  670.       Bukkit.broadcastMessage(this.pl.prefix + ChatColor.DARK_RED + player.getName() + ChatColor.GRAY + " has banned " + ChatColor.DARK_RED + target.getName() + ChatColor.GRAY + " because of '" + ChatColor.YELLOW + reason + ChatColor.GRAY + "' for " + ChatColor.RED + "Permanent");
  671.       scheduler.scheduleSyncRepeatingTask(this.pl, new BukkitRunnable()
  672.       {
  673.         public void run()
  674.         {
  675.           int i = PunishMenu.this.getTime(target.getUniqueId());
  676.           i--;
  677.           if (i < 0)
  678.           {
  679.             PunishMenu.this.resetTime(target.getUniqueId());
  680.           }
  681.           if (i > 0)
  682.           {
  683.             PunishMenu.this.setTime(target.getUniqueId(), i);
  684.            
  685.             PunishMenu.this.pl.saveTempYML();
  686.           }
  687.           else
  688.           {
  689.             PunishMenu.this.banned.remove(target.getName());
  690.             PunishMenu.this.pl.saveTempYML();
  691.           }
  692.         }
  693.       }, 1200L, 1200L);
  694.     }
  695.     if (n.equals("Un-Ban"))
  696.     {
  697.         if (getTime(target.getUniqueId()) > 0)
  698.         {
  699.           resetTime(target.getUniqueId());
  700.           player.sendMessage(this.pl.prefix + ChatColor.DARK_RED + target.getName() + ChatColor.GRAY + " has been unbanned!");
  701.           this.pl.saveTempYML();
  702.         }
  703.         else
  704.         {
  705.             player.sendMessage(this.pl.prefix + ChatColor.DARK_RED + target.getName() + ChatColor.GRAY + " is already unbanned!");
  706.         }
  707.     }
  708.   }
  709.  
  710. public void setMuteTimes(String n, Player player, final OfflinePlayer target, String reason)
  711.   {
  712.     BukkitScheduler scheduler = Bukkit.getServer().getScheduler();
  713.     if (n.equals("4 Hours")) {
  714.         this.muted.add(target.getName());
  715.         int b = PunishMenu.this.getMuteTime(target.getUniqueId());
  716.         if (b == 0)
  717.         {
  718.             setMuteTime(target.getUniqueId(), 240);
  719.             Bukkit.broadcastMessage(this.pl.prefix + ChatColor.DARK_RED + player.getName() + ChatColor.GRAY + " has muted " + ChatColor.DARK_RED + target.getName() + ChatColor.GRAY +" because of '" + ChatColor.YELLOW + reason + ChatColor.GRAY + "' for " + ChatColor.RED + "4 Hours");
  720.         }
  721.         else
  722.         {
  723.             setMuteTime(target.getUniqueId(), 240);
  724.             Bukkit.broadcastMessage(this.pl.prefix + ChatColor.DARK_RED + player.getName() + ChatColor.GRAY + " has added " + ChatColor.RED + "4 Hours " + ChatColor.GRAY + "to " + ChatColor.DARK_RED + target.getName() + ChatColor.GRAY +"'s Mute for '" + ChatColor.YELLOW + reason + ChatColor.GRAY + "'");
  725.         }
  726.         scheduler.scheduleSyncRepeatingTask(this.pl, new BukkitRunnable()
  727.         {
  728.           public void run()
  729.           {
  730.               int i = PunishMenu.this.getMuteTime(target.getUniqueId());
  731.             i--;
  732.             PunishMenu.this.muted.add(target.getName());
  733.             for (String value : muted) {
  734.             }
  735.             if (i < 0)
  736.             {
  737.                 PunishMenu.this.resetMuteTime(target.getUniqueId());
  738.                 for (String value : muted) {
  739.                 }
  740.             }
  741.             if (i > 0)
  742.             {
  743.               PunishMenu.this.setMuteTime(target.getUniqueId(), i);
  744.               PunishMenu.this.pl.saveMuteYML();
  745.               for (String value : muted) {
  746.               }
  747.             }
  748.             else if (PunishMenu.this.muted.contains(target.getName()))
  749.             {
  750.               PunishMenu.this.muted.remove(target.getName());
  751.               for (String value : muted) {
  752.               }
  753.               PunishMenu.this.pl.saveMuteYML();
  754.             }
  755.           }
  756.         }, 1200L, 1200L);
  757.     }
  758.     if (n.equals("1 Day")) {
  759.         this.muted.add(target.getName());
  760.         int b = PunishMenu.this.getMuteTime(target.getUniqueId());
  761.         if (b == 0)
  762.         {
  763.             setMuteTime(target.getUniqueId(), 1440);
  764.             Bukkit.broadcastMessage(this.pl.prefix + ChatColor.DARK_RED + player.getName() + ChatColor.GRAY + " has muted " + ChatColor.DARK_RED + target.getName() + ChatColor.GRAY +" because of '" + ChatColor.YELLOW + reason + ChatColor.GRAY + "' for " + ChatColor.RED + "1 Day");
  765.         }
  766.         else
  767.         {
  768.             setMuteTime(target.getUniqueId(), 1440);
  769.             Bukkit.broadcastMessage(this.pl.prefix + ChatColor.DARK_RED + player.getName() + ChatColor.GRAY + " has added " + ChatColor.RED + "1 Day " + ChatColor.GRAY + "to " + ChatColor.DARK_RED + target.getName() + ChatColor.GRAY +"'s Mute for '" + ChatColor.YELLOW + reason + ChatColor.GRAY + "'");
  770.         }
  771.         scheduler.scheduleSyncRepeatingTask(this.pl, new BukkitRunnable()
  772.         {
  773.           public void run()
  774.           {
  775.             int i = PunishMenu.this.getMuteTime(target.getUniqueId());
  776.             i--;
  777.             for (String value : muted) {
  778.             }
  779.             if (i < 0)
  780.             {
  781.                 PunishMenu.this.resetMuteTime(target.getUniqueId());
  782.                 PunishMenu.this.pl.saveMuteYML();
  783.             }
  784.             if (i > 0)
  785.             {
  786.               PunishMenu.this.setMuteTime(target.getUniqueId(), i);
  787.                
  788.               PunishMenu.this.pl.saveMuteYML();
  789.             }
  790.             else if (PunishMenu.this.muted.contains(target.getName()))
  791.             {
  792.               PunishMenu.this.muted.remove(target.getName());
  793.        
  794.               PunishMenu.this.pl.saveMuteYML();
  795.             }
  796.           }
  797.         }, 1200L, 1200L);
  798.     }
  799.     if (n.equals("30 Days")) {
  800.         this.muted.add(target.getName());
  801.         int b = PunishMenu.this.getMuteTime(target.getUniqueId());
  802.         if (b == 0)
  803.         {
  804.             setMuteTime(target.getUniqueId(), 43200);
  805.             Bukkit.broadcastMessage(this.pl.prefix + ChatColor.DARK_RED + player.getName() + ChatColor.GRAY + " has muted " + ChatColor.DARK_RED + target.getName() + ChatColor.GRAY +" because of '" + ChatColor.YELLOW + reason + ChatColor.GRAY + "' for " + ChatColor.RED + "30 Days");
  806.         }
  807.         else
  808.         {
  809.             setMuteTime(target.getUniqueId(), 43200);
  810.             Bukkit.broadcastMessage(this.pl.prefix + ChatColor.DARK_RED + player.getName() + ChatColor.GRAY + " has added " + ChatColor.RED + "30 Days " + ChatColor.GRAY + "to " + ChatColor.DARK_RED + target.getName() + ChatColor.GRAY +"'s Mute for '" + ChatColor.YELLOW + reason + ChatColor.GRAY + "'");
  811.         }
  812.         scheduler.scheduleSyncRepeatingTask(this.pl, new BukkitRunnable()
  813.         {
  814.           public void run()
  815.           {
  816.             int i = PunishMenu.this.getMuteTime(target.getUniqueId());
  817.             i--;
  818.             for (String value : muted) {
  819.             }
  820.             if (i < 0)
  821.             {
  822.                 PunishMenu.this.resetMuteTime(target.getUniqueId());
  823.             }
  824.             if (i > 0)
  825.             {
  826.               PunishMenu.this.setMuteTime(target.getUniqueId(), i);
  827.              
  828.               PunishMenu.this.pl.saveMuteYML();
  829.             }
  830.             else if (PunishMenu.this.muted.contains(target.getName()))
  831.             {
  832.               PunishMenu.this.muted.remove(target.getName());
  833.               PunishMenu.this.pl.saveMuteYML();
  834.             }
  835.           }
  836.         }, 1200L, 1200L);
  837.     }
  838.     if (n.equals("Permanent")) {
  839.           this.muted.add(target.getName());
  840.           int b = PunishMenu.this.getMuteTime(target.getUniqueId());
  841.           if (b == 0)
  842.           {
  843.               setMuteTime(target.getUniqueId(), 9999999);
  844.               Bukkit.broadcastMessage(this.pl.prefix + ChatColor.DARK_RED + player.getName() + ChatColor.GRAY + " has muted " + ChatColor.DARK_RED + target.getName() + ChatColor.GRAY +" because of '" + ChatColor.YELLOW + reason + ChatColor.GRAY + "' for " + ChatColor.RED + "Permanent");
  845.           }
  846.           else
  847.           {
  848.               setMuteTime(target.getUniqueId(), 9999999);
  849.               Bukkit.broadcastMessage(this.pl.prefix + ChatColor.DARK_RED + player.getName() + ChatColor.GRAY + " has made " + ChatColor.DARK_RED + target.getName() + ChatColor.GRAY +"'s mute " + ChatColor.RED + "Permanent" + ChatColor.GRAY + " because of '" + ChatColor.YELLOW + reason + ChatColor.GRAY + "'");
  850.           }
  851.           scheduler.scheduleSyncRepeatingTask(this.pl, new BukkitRunnable()
  852.           {
  853.             public void run()
  854.             {
  855.               int i = PunishMenu.this.getMuteTime(target.getUniqueId());
  856.               i--;
  857.               for (String value : muted) {
  858.               }
  859.               if (i < 0)
  860.               {
  861.                 PunishMenu.this.resetMuteTime(target.getUniqueId());
  862.               }
  863.               if (i > 0)
  864.               {
  865.                 PunishMenu.this.setMuteTime(target.getUniqueId(), i);
  866.                
  867.                 PunishMenu.this.pl.saveMuteYML();
  868.               }
  869.               else if (PunishMenu.this.muted.contains(target.getName()))
  870.               {
  871.                 PunishMenu.this.muted.remove(target.getName());
  872.                 PunishMenu.this.pl.saveMuteYML();
  873.               }
  874.             }
  875.           }, 1200L, 1200L);
  876.       }
  877.     if (n.equals("Un-Mute"))
  878.     {
  879.         int i = PunishMenu.this.getMuteTime(target.getUniqueId());
  880.         if (i > 0)
  881.         {
  882.         PunishMenu.this.muted.remove(target.getName());
  883.         PunishMenu.this.resetMuteTime(target.getUniqueId());
  884.         Bukkit.broadcastMessage(ChatColor.BLUE + "Punish> " + ChatColor.DARK_RED + target.getName() + ChatColor.GRAY + " has been unmuted by " + ChatColor.DARK_RED + player.getName() + ChatColor.GRAY + "!");
  885.         PunishMenu.this.pl.saveMuteYML();
  886.         }
  887.         else
  888.         {
  889.             player.sendMessage(ChatColor.BLUE + "Punish> " + ChatColor.DARK_RED + target.getName() + ChatColor.GRAY + " isn't muted!" + ChatColor.RED.toString() + ChatColor.BOLD + "PLEASE REPORT THIS ERROR TO AN OWNER OR ADMIN! THIS SHOULD NOT HAPPEN!");
  890.         }
  891.     }
  892.   }
  893.  
  894.   public void setTempTimes(String n, Player player, final Player target, String reason)
  895.   {
  896.     BukkitScheduler scheduler = Bukkit.getServer().getScheduler();
  897.     if (n.equals("1 Day"))
  898.     {
  899.       setTime(target.getUniqueId(), 1440);
  900.       target.kickPlayer(this.pl.prefix + ChatColor.DARK_RED + player.getName() + ChatColor.GRAY + " banned you because of '" + ChatColor.YELLOW + reason + ChatColor.GRAY + "' for" + ChatColor.RED + " 1 Day");
  901.       this.banned.add(target.getName());
  902.       Bukkit.broadcastMessage(this.pl.prefix + ChatColor.DARK_RED + player.getName() + ChatColor.GRAY + " has banned " + ChatColor.DARK_RED + target.getName() + ChatColor.GRAY + " because of '" + ChatColor.YELLOW + reason + ChatColor.GRAY + "' for " + ChatColor.RED + "1 Day");
  903.       scheduler.scheduleSyncRepeatingTask(this.pl, new BukkitRunnable()
  904.       {
  905.         public void run()
  906.         {
  907.           int i = PunishMenu.this.getTime(target.getUniqueId());
  908.           i--;
  909.           if (i < 0)
  910.           {
  911.             PunishMenu.this.resetTime(target.getUniqueId());
  912.           }
  913.           if (i > 0)
  914.           {
  915.             PunishMenu.this.setTime(target.getUniqueId(), i);
  916.            
  917.             PunishMenu.this.pl.saveTempYML();
  918.           }
  919.           else
  920.           {
  921.             PunishMenu.this.banned.remove(target.getName());
  922.             PunishMenu.this.pl.saveTempYML();
  923.           }
  924.         }
  925.       }, 1200L, 1200L);
  926.     }
  927.     if (n.equals("30 Days"))
  928.     {
  929.       setTime(target.getUniqueId(), 43200);
  930.       this.banned.add(target.getName());
  931.       target.kickPlayer(this.pl.prefix + ChatColor.DARK_RED + player.getName() + ChatColor.GRAY + " banned you because of '" + ChatColor.YELLOW + reason + ChatColor.GRAY + "' for" + ChatColor.RED + " 30 Days");
  932.       this.banned.add(target.getName());
  933.       Bukkit.broadcastMessage(this.pl.prefix + ChatColor.DARK_RED + player.getName() + ChatColor.GRAY + " has banned " + ChatColor.DARK_RED + target.getName() + ChatColor.GRAY + " because of '" + ChatColor.YELLOW + reason + ChatColor.GRAY + "' for " + ChatColor.RED + "30 Days");
  934.       scheduler.scheduleSyncRepeatingTask(this.pl, new BukkitRunnable()
  935.       {
  936.         public void run()
  937.         {
  938.           int i = PunishMenu.this.getTime(target.getUniqueId());
  939.           i--;
  940.           if (i < 0)
  941.           {
  942.             PunishMenu.this.resetTime(target.getUniqueId());
  943.           }
  944.           if (i > 0)
  945.           {
  946.             PunishMenu.this.setTime(target.getUniqueId(), i);
  947.            
  948.             PunishMenu.this.pl.saveTempYML();
  949.           }
  950.           else
  951.           {
  952.             PunishMenu.this.banned.remove(target.getName());
  953.             PunishMenu.this.pl.saveTempYML();
  954.             cancel();
  955.           }
  956.         }
  957.       }, 1200L, 1200L);
  958.     }
  959.     if (n.equals("60 Days"))
  960.     {
  961.       setTime(target.getUniqueId(), 86400);
  962.       this.banned.add(target.getName());
  963.       target.kickPlayer(this.pl.prefix + ChatColor.DARK_RED + player.getName() + ChatColor.GRAY + " banned you because of '" + ChatColor.YELLOW + reason + ChatColor.GRAY + "' for" + ChatColor.RED + " 60 Days");
  964.       this.banned.add(target.getName());
  965.       Bukkit.broadcastMessage(this.pl.prefix + ChatColor.DARK_RED + player.getName() + ChatColor.GRAY + " has banned " + ChatColor.DARK_RED + target.getName() + ChatColor.GRAY + " because of '" + ChatColor.YELLOW + reason + ChatColor.GRAY + "' for " + ChatColor.RED + "60 Days");
  966.       scheduler.scheduleSyncRepeatingTask(this.pl, new BukkitRunnable()
  967.       {
  968.         public void run()
  969.         {
  970.           int i = PunishMenu.this.getTime(target.getUniqueId());
  971.           i--;
  972.           if (i < 0)
  973.           {
  974.             PunishMenu.this.resetTime(target.getUniqueId());
  975.           }
  976.           if (i > 0)
  977.           {
  978.             PunishMenu.this.setTime(target.getUniqueId(), i);
  979.            
  980.             PunishMenu.this.pl.saveTempYML();
  981.           }
  982.           else
  983.           {
  984.             PunishMenu.this.banned.remove(target.getName());
  985.             PunishMenu.this.pl.saveTempYML();
  986.           }
  987.         }
  988.       }, 1200L, 1200L);
  989.     }
  990.     if (n.equals("Permanent"))
  991.     {
  992.       setTime(target.getUniqueId(), 999999999);
  993.       this.banned.add(target.getName());
  994.       target.kickPlayer(this.pl.prefix + ChatColor.DARK_RED + player.getName() + ChatColor.GRAY + " banned you because of '" + ChatColor.YELLOW + reason + ChatColor.GRAY + "' for" + ChatColor.RED + " Permanent");
  995.       this.banned.add(target.getName());
  996.       Bukkit.broadcastMessage(this.pl.prefix + ChatColor.DARK_RED + player.getName() + ChatColor.GRAY + " has banned " + ChatColor.DARK_RED + target.getName() + ChatColor.GRAY + " because of '" + ChatColor.YELLOW + reason + ChatColor.GRAY + "' for " + ChatColor.RED + "Permanent");
  997.       scheduler.scheduleSyncRepeatingTask(this.pl, new BukkitRunnable()
  998.       {
  999.         public void run()
  1000.         {
  1001.           int i = PunishMenu.this.getTime(target.getUniqueId());
  1002.           i--;
  1003.           if (i < 0)
  1004.           {
  1005.             PunishMenu.this.resetTime(target.getUniqueId());
  1006.           }
  1007.           if (i > 0)
  1008.           {
  1009.             PunishMenu.this.setTime(target.getUniqueId(), i);
  1010.            
  1011.             PunishMenu.this.pl.saveTempYML();
  1012.           }
  1013.           else
  1014.           {
  1015.             PunishMenu.this.banned.remove(target.getName());
  1016.             PunishMenu.this.pl.saveTempYML();
  1017.           }
  1018.         }
  1019.       }, 1200L, 1200L);
  1020.     }
  1021.   }
  1022.  
  1023.  
  1024.  
  1025.   public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)
  1026.   {
  1027.     if (((cmd.getName().equalsIgnoreCase("punish")) || (cmd.getName().equalsIgnoreCase("p"))) &&
  1028.       ((sender instanceof Player)))
  1029.     {
  1030.       Player p = (Player)sender;
  1031.       if ((p.hasPermission("punish.helper")) || (p.hasPermission("punish.mod")))
  1032.       {
  1033.         if (args.length < 1)
  1034.         {
  1035.           helpMSG(p);
  1036.           return false;
  1037.         }
  1038.         if ((args.length == 1) &&
  1039.           (args[0].equalsIgnoreCase("reload"))) {
  1040.           if (p.hasPermission("punish.admin"))
  1041.           {
  1042.             this.pl.reloadConfig();
  1043.             p.sendMessage(this.pl.prefix + ChatColor.GRAY + "Punish config has been reloaded!");
  1044.           }
  1045.           else
  1046.           {
  1047.             p.sendMessage(this.pl.prefix + ChatColor.GRAY + "You don't have permission to use that command!");
  1048.           }
  1049.         }
  1050.         else if (args.length >= 2) {
  1051.           if (args[0].equalsIgnoreCase("unban"))
  1052.           {
  1053.             if (p.hasPermission("punish.helper"))
  1054.             {
  1055.               OfflinePlayer target = Bukkit.getOfflinePlayer(args[1]);
  1056.               if (getTime(target.getUniqueId()) > 0)
  1057.               {
  1058.                 resetTime(target.getUniqueId());
  1059.                 p.sendMessage(this.pl.prefix + ChatColor.DARK_RED + target.getName() + ChatColor.GRAY + " has been unbanned!");
  1060.                 this.pl.saveTempYML();
  1061.               }
  1062.               else
  1063.               {
  1064.                   p.sendMessage(this.pl.prefix + ChatColor.DARK_RED + target.getName() + ChatColor.GRAY + " isn't banned!");
  1065.               }
  1066.               }
  1067.             else
  1068.             {
  1069.               p.sendMessage(this.pl.prefix + ChatColor.GRAY + "You don't have permission to use that command!");
  1070.             }
  1071.           }
  1072.           else if (args[0].equalsIgnoreCase("unmute"))
  1073.           {
  1074.             if (p.hasPermission("punish.helper"))
  1075.             {
  1076.               Player target = Bukkit.getPlayer(args[1]);
  1077.               if(target != null)
  1078.               {
  1079.                   int i = PunishMenu.this.getMuteTime(target.getUniqueId());
  1080.                   if (i > 0)
  1081.                   {
  1082.                       PunishMenu.this.unmuted.add(target.getName());
  1083.                       resetMuteTime(target.getUniqueId());
  1084.                       p.sendMessage(ChatColor.BLUE + "Punish> " + ChatColor.DARK_RED + target.getName() + ChatColor.GRAY + " will be unmuted soon!");
  1085.                       this.pl.saveMuteYML();
  1086.                     }
  1087.                   else if (i < 0)
  1088.                   {
  1089.                       p.sendMessage(this.pl.prefix + ChatColor.DARK_RED + target.getName() + ChatColor.GRAY + " isn't muted!");
  1090.                   }
  1091.                 }else
  1092.                 {
  1093.                   OfflinePlayer offlinetarget = Bukkit.getOfflinePlayer(args[1]);
  1094.              
  1095.                 int a = PunishMenu.this.getMuteTime(offlinetarget.getUniqueId());
  1096.                 if (a > 0)
  1097.                 {
  1098.                     resetMuteTime(offlinetarget.getUniqueId());
  1099.                     p.sendMessage(ChatColor.BLUE + "Punish> " + ChatColor.DARK_RED + offlinetarget.getName() + ChatColor.GRAY + " will be unmuted soon!");
  1100.                     this.pl.saveMuteYML();
  1101.                   }
  1102.                 else if (a < 0)
  1103.                 {
  1104.                   p.sendMessage(this.pl.prefix + ChatColor.DARK_RED + offlinetarget.getName() + ChatColor.GRAY + " isn't muted!");
  1105.                 }
  1106.                 }
  1107.               }
  1108.             else
  1109.             {
  1110.               p.sendMessage(this.pl.prefix + ChatColor.GRAY + "You don't have permission to use that command!");
  1111.             }
  1112.           }
  1113.           else
  1114.           {
  1115.             try
  1116.             {
  1117.             OfflinePlayer tar = Bukkit.getOfflinePlayer(args[0]);
  1118.             if (tar != null) {
  1119.                 String message = null;
  1120.                 int i = args.length - 1;
  1121.                 if (i == 1)
  1122.                 {
  1123.                     message = (args[1]);
  1124.                 }
  1125.                 else if (i == 2)
  1126.                 {
  1127.                     message = (args[1] + " " + args[2]);
  1128.                 }
  1129.                 else if (i == 3)
  1130.                 {
  1131.                     message = (args[1] + " " + args[2] + " " + args[3]);
  1132.                 }
  1133.                 else if (i == 4)
  1134.                 {
  1135.                     message = (args[1] + " " + args[2] + " " + args[3] + " " + args[4]);
  1136.                 }
  1137.                 else if (i == 5)
  1138.                 {
  1139.                     message = (args[1] + " " + args[2] + " " + args[3] + " " + args[4] + " " + args[5]);
  1140.                 }
  1141.                 else if (i == 6)
  1142.                 {
  1143.                     message = (args[1] + " " + args[2] + " " + args[3] + " " + args[4] + " " + args[5] + " " + args[6]);
  1144.                 }
  1145.                 else if (i == 7)
  1146.                 {
  1147.                     message = (args[1] + " " + args[2] + " " + args[3] + " " + args[4] + " " + args[5] + " " + args[6] + " " + args[7]);
  1148.                 }
  1149.                 else if (i == 8)
  1150.                 {
  1151.                     message = (args[1] + " " + args[2] + " " + args[3] + " " + args[4] + " " + args[5] + " " + args[6] + " " + args[7] + " " + args[8]);
  1152.                 }
  1153.                 else if (i == 9)
  1154.                 {
  1155.                     message = (args[1] + " " + args[2] + " " + args[3] + " " + args[4] + " " + args[5] + " " + args[6] + " " + args[7] + " " + args[8] + " " + args[9]);
  1156.                 }
  1157.                 else if (i == 10)
  1158.                 {
  1159.                     message = (args[1] + " " + args[2] + " " + args[3] + " " + args[4] + " " + args[5] + " " + args[6] + " " + args[7] + " " + args[8] + " " + args[9] + " " + args[10]);
  1160.                 }
  1161.                 else if (i == 11)
  1162.                 {
  1163.                     message = (args[1] + " " + args[2] + " " + args[3] + " " + args[4] + " " + args[5] + " " + args[6] + " " + args[7] + " " + args[8] + " " + args[9] + " " + args[10] + " " + args[11]);
  1164.                 }
  1165.                 else if (i == 12)
  1166.                 {
  1167.                     message = (args[1] + " " + args[2] + " " + args[3] + " " + args[4] + " " + args[5] + " " + args[6] + " " + args[7] + " " + args[8] + " " + args[9] + " " + args[10] + " " + args[11] + " " + args[12]);
  1168.                 }
  1169.                 else if (i == 13)
  1170.                 {
  1171.                     message = (args[1] + " " + args[2] + " " + args[3] + " " + args[4] + " " + args[5] + " " + args[6] + " " + args[7] + " " + args[8] + " " + args[9] + " " + args[10] + " " + args[11] + " " + args[12] + " " + args[13]);
  1172.                 }
  1173.                 else if (i == 14)
  1174.                 {
  1175.                     message = (args[1] + " " + args[2] + " " + args[3] + " " + args[4] + " " + args[5] + " " + args[6] + " " + args[7] + " " + args[8] + " " + args[9] + " " + args[10] + " " + args[11] + " " + args[12] + " " + args[13] + " " + args[14]);
  1176.                 }
  1177.                 else if (i == 15)
  1178.                 {
  1179.                     message = (args[1] + " " + args[2] + " " + args[3] + " " + args[4] + " " + args[5] + " " + args[6] + " " + args[7] + " " + args[8] + " " + args[9] + " " + args[10] + " " + args[11] + " " + args[12] + " " + args[13] + " " + args[14] + " " + args[15]);
  1180.                 }
  1181.                 else if (i == 16)
  1182.                 {
  1183.                     message = (args[1] + " " + args[2] + " " + args[3] + " " + args[4] + " " + args[5] + " " + args[6] + " " + args[7] + " " + args[8] + " " + args[9] + " " + args[10] + " " + args[11] + " " + args[12] + " " + args[13] + " " + args[14] + " " + args[15] + " " + args[16]);
  1184.                 }
  1185.                 else if (i == 17)
  1186.                 {
  1187.                     message = (args[1] + " " + args[2] + " " + args[3] + " " + args[4] + " " + args[5] + " " + args[6] + " " + args[7] + " " + args[8] + " " + args[9] + " " + args[10] + " " + args[11] + " " + args[12] + " " + args[13] + " " + args[14] + " " + args[15] + " " + args[16] + " " + args[17]);
  1188.                 }
  1189.                 else if (i == 18)
  1190.                 {
  1191.                     message = (args[1] + " " + args[2] + " " + args[3] + " " + args[4] + " " + args[5] + " " + args[6] + " " + args[7] + " " + args[8] + " " + args[9] + " " + args[10] + " " + args[11] + " " + args[12] + " " + args[13] + " " + args[14] + " " + args[15] + " " + args[16] + " " + args[17] + " " + args[18]);
  1192.                 }
  1193.                 else if (i == 19)
  1194.                 {
  1195.                     message = (args[1] + " " + args[2] + " " + args[3] + " " + args[4] + " " + args[5] + " " + args[6] + " " + args[7] + " " + args[8] + " " + args[9] + " " + args[10] + " " + args[11] + " " + args[12] + " " + args[13] + " " + args[14] + " " + args[15] + " " + args[16] + " " + args[17] + " " + args[18] + " " + args[19]);
  1196.                 }
  1197.                 else if (i == 20)
  1198.                 {
  1199.                     message = (args[1] + " " + args[2] + " " + args[3] + " " + args[4] + " " + args[5] + " " + args[6] + " " + args[7] + " " + args[8] + " " + args[9] + " " + args[10] + " " + args[11] + " " + args[12] + " " + args[13] + " " + args[14] + " " + args[15] + " " + args[16] + " " + args[17] + " " + args[18] + " " + args[19] + " " + args[20]);
  1200.                 }
  1201.                 punishGUI(p, message, tar);
  1202.             }
  1203.             }catch(Exception e){
  1204.                 p.sendMessage(this.pl.prefix + ChatColor.GRAY + "Too many arguments, please use less than 20!");
  1205.             }
  1206.           }
  1207.         }                            
  1208.       }
  1209.       else
  1210.       {
  1211.         p.sendMessage(this.pl.prefix + ChatColor.GRAY + "You don't have permission to use that command!");
  1212.       }
  1213.     }
  1214.     return false;
  1215.   }
  1216.  
  1217. @EventHandler
  1218.   public void onChat(AsyncPlayerChatEvent e)
  1219.   {
  1220.     Player p = e.getPlayer();
  1221.     int b = PunishMenu.this.getMuteTime(p.getUniqueId());
  1222.     if (b > 0)
  1223.     {
  1224.         int days = b/24/60;
  1225.         int hours = b/60%24;
  1226.         int minutes = b%60;
  1227.         p.sendMessage(pl.prefix + ChatColor.GRAY + "Shh, you're muted for " + ChatColor.RED + days + " Days, " + hours + " Hours, " + minutes + " Minutes!");
  1228.         e.setCancelled(true);
  1229.     }
  1230.   }
  1231.  
  1232.   private int getLevel(UUID target)
  1233.   {
  1234.     return this.pl.playersFile.getInt(target.toString());
  1235.   }
  1236.  
  1237.   private void addNewPlayer(UUID target)
  1238.   {
  1239.     this.pl.playersFile.addDefault(target.toString(), Integer.valueOf(0));
  1240.     this.pl.playersFile.options().copyDefaults();
  1241.     this.pl.savePlayerYML();
  1242.   }
  1243.  
  1244.   private void levelPlayerUp(UUID target)
  1245.   {
  1246.     int level = getLevel(target);
  1247.     level++;
  1248.     this.pl.playersFile.set(target.toString(), Integer.valueOf(level));
  1249.     this.pl.savePlayerYML();
  1250.   }
  1251.  
  1252.   private void resetLevel(UUID target)
  1253.   {
  1254.     this.pl.playersFile.set(target.toString(), Integer.valueOf(0));
  1255.     this.pl.savePlayerYML();
  1256.   }
  1257.  
  1258.   private int getTime(UUID target)
  1259.   {
  1260.     return this.pl.tempbanFile.getInt(target.toString());
  1261.   }
  1262.  
  1263.   private void addNewTemp(UUID target)
  1264.   {
  1265.     this.pl.tempbanFile.addDefault(target.toString(), Integer.valueOf(0));
  1266.     this.pl.tempbanFile.options().copyDefaults();
  1267.     this.pl.saveTempYML();
  1268.   }
  1269.  
  1270.   private void levelTimeUp(UUID target)
  1271.   {
  1272.     int level = getLevel(target);
  1273.     level++;
  1274.     this.pl.tempbanFile.set(target.toString(), Integer.valueOf(level));
  1275.     this.pl.saveTempYML();
  1276.   }
  1277.  
  1278.   private void resetTime(UUID target)
  1279.   {
  1280.     this.pl.tempbanFile.set(target.toString(), Integer.valueOf(0));
  1281.     this.pl.saveTempYML();
  1282.   }
  1283.  
  1284.   private void setTime(UUID target, int time)
  1285.   {
  1286.     int oldbantime = this.pl.tempbanFile.getInt(target.toString());
  1287.     this.pl.tempbanFile.set(target.toString(), Integer.valueOf(time+oldbantime));
  1288.     this.pl.saveTempYML();
  1289.   }
  1290.  
  1291.   private int getMuteTime(UUID target)
  1292.   {
  1293.     return this.pl.muteFile.getInt(target.toString());
  1294.   }
  1295.  
  1296.   private void addNewMuteTime(UUID target)
  1297.   {
  1298.     this.pl.muteFile.addDefault(target.toString(), Integer.valueOf(0));
  1299.     this.pl.muteFile.options().copyDefaults();
  1300.     this.pl.saveMuteYML();
  1301.   }
  1302.  
  1303.   private void levelMuteTimeUp(UUID target)
  1304.   {
  1305.     int level = getLevel(target);
  1306.     level++;
  1307.     this.pl.muteFile.set(target.toString(), Integer.valueOf(level));
  1308.     this.pl.saveMuteYML();
  1309.   }
  1310.  
  1311.   private void resetMuteTime(UUID target)
  1312.   {
  1313.     this.pl.muteFile.set(target.toString(), Integer.valueOf(0));
  1314.     this.pl.saveMuteYML();
  1315.   }
  1316.  
  1317.   private void setMuteTime(UUID target, int time)
  1318.   {
  1319.     int oldtime = this.pl.muteFile.getInt(target.toString());
  1320.     this.pl.muteFile.set(target.toString(), Integer.valueOf(time+oldtime));
  1321.     this.pl.saveMuteYML();
  1322.   }
  1323.  
  1324.   public void helpMSG(Player player)
  1325.   {
  1326.     if ((player.hasPermission("punish.helper")) || (player.hasPermission("punish.*")))
  1327.     {
  1328.       player.sendMessage("   ");
  1329.       player.sendMessage(this.cmds);
  1330.       player.sendMessage("   ");
  1331.     }
  1332.     if ((player.hasPermission("punish.helper")) || (player.hasPermission("punish.*")))
  1333.     {
  1334.       player.sendMessage(this.pl.prefix + this.punish);
  1335.     }
  1336.     if ((player.hasPermission("punish.helper")) || (player.hasPermission("punish.*")))
  1337.     {
  1338.       player.sendMessage(this.pl.prefix + this.unmute);
  1339.     }
  1340.     if ((player.hasPermission("punish.helper")) || (player.hasPermission("punish.*")))
  1341.     {
  1342.       player.sendMessage(this.pl.prefix + this.unban);
  1343.     }
  1344.   }
  1345.   @EventHandler
  1346.   public void onPlayerJoin(PlayerJoinEvent event)
  1347.   {
  1348.       Player player = event.getPlayer();
  1349.       event.setJoinMessage("");
  1350.       int i = PunishMenu.this.getTime(player.getUniqueId());
  1351.       if (i > 0)
  1352.       {
  1353.       player.kickPlayer(ChatColor.BLUE.toString() + ChatColor.BOLD + "You Are Banned From" + ChatColor.GREEN.toString() + ChatColor.BOLD + " GlaxyCraft" + ChatColor.BLUE.toString() + ChatColor.BOLD + "!");
  1354.       }
  1355.       else
  1356.       {
  1357.           event.setJoinMessage(ChatColor.YELLOW + "[" + ChatColor.BLUE + "+" + ChatColor.YELLOW + "] " + ChatColor.DARK_RED.toString() + ChatColor.BOLD + player.getName() + ChatColor.AQUA.toString() + ChatColor.BOLD + " has joined " + ChatColor.DARK_GREEN.toString() + ChatColor.BOLD + "GalaxyCraft" + ChatColor.DARK_GREEN.toString() + ChatColor.BOLD + "!");
  1358.       }
  1359.   }
  1360.   @EventHandler
  1361.   public void onPlayerQuit(PlayerQuitEvent event)
  1362.   {
  1363.       Player player = event.getPlayer();
  1364.       event.setQuitMessage("");
  1365.       int i = PunishMenu.this.getTime(player.getUniqueId());
  1366.       if (!(i > 0))
  1367.       {
  1368.           event.setQuitMessage(ChatColor.YELLOW + "[" + ChatColor.DARK_RED + "-" + ChatColor.YELLOW + "] " + ChatColor.DARK_RED.toString() + ChatColor.BOLD + player.getName() + ChatColor.AQUA.toString() + ChatColor.BOLD + " has left " + ChatColor.DARK_GREEN.toString() + ChatColor.BOLD + "GalaxyCraft" + ChatColor.DARK_GREEN.toString() + ChatColor.BOLD + "!");
  1369.       }
  1370.   }
  1371. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement