Advertisement
Guest User

Untitled

a guest
May 21st, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.17 KB | None | 0 0
  1. package net.arrayofc.Commands;
  2.  
  3. import net.arrayofc.Main.Main;
  4. import net.arrayofc.Main.Strings;
  5. import org.apache.commons.lang.StringUtils;
  6. import org.bukkit.*;
  7. import org.bukkit.command.Command;
  8. import org.bukkit.command.CommandExecutor;
  9. import org.bukkit.command.CommandSender;
  10. import org.bukkit.entity.Player;
  11. import org.bukkit.event.EventHandler;
  12. import org.bukkit.event.inventory.InventoryClickEvent;
  13. import org.bukkit.inventory.Inventory;
  14. import org.bukkit.inventory.ItemStack;
  15. import org.bukkit.inventory.meta.ItemMeta;
  16. import org.bukkit.inventory.meta.SkullMeta;
  17.  
  18. import java.util.ArrayList;
  19.  
  20. public class Punish implements CommandExecutor {
  21. public static Inventory PTypeInv = Bukkit.getServer().createInventory(null, 27, "Select a Punishment Type");
  22. public StringBuilder reason = new StringBuilder(" ");
  23.  
  24. public Main plugin;
  25.  
  26. public Punish(Main plugin) {
  27. this.plugin = plugin;
  28. }
  29.  
  30. public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
  31.  
  32. if (!(sender instanceof Player)) {
  33. sender.sendMessage("§cThis command can only be used in-game.");
  34. return true;
  35. }
  36.  
  37. final OfflinePlayer target = Bukkit.getOfflinePlayer(args[0]);
  38.  
  39. if (cmd.getName().equalsIgnoreCase("punish")) {
  40.  
  41. final Player player = (Player) sender;
  42. if (!(player.hasPermission("bm.punish"))) {
  43. player.sendMessage(Strings.NoPermission);
  44. return true;
  45. }
  46.  
  47. if (args.length == 0) {
  48. player.sendMessage(Strings.Prefix + "Invalid arguments. Correct usage: /punish <target> [custom reason if necessary]");
  49. return true;
  50. }
  51. player.openInventory(PTypeInv);
  52.  
  53. if (args.length >= 2) {
  54.  
  55. for (int i = 1; i < args.length; i++) {
  56. reason.append(args[i]).append(" ");
  57.  
  58. }
  59.  
  60.  
  61. // OPEN MENU//
  62. player.openInventory(PTypeInv);
  63. }
  64.  
  65. PTypeInv.clear();
  66.  
  67. // ITEMS \\
  68. ItemStack selected = new ItemStack(Material.SKULL_ITEM, 1, (short) 3);
  69. SkullMeta skullMeta = (SkullMeta) selected.getItemMeta();
  70. skullMeta.setOwner(args[0]);
  71. skullMeta.setDisplayName("§3" + target.getName());
  72. ArrayList<String> selLore = new ArrayList<>();
  73. selLore.add("§fCustom Reason:" + reason);
  74. skullMeta.setLore(selLore);
  75. selected.setItemMeta(skullMeta);
  76.  
  77. ItemStack alts = new ItemStack(Material.REDSTONE_COMPARATOR, 1);
  78. ItemMeta altsMeta = alts.getItemMeta();
  79. altsMeta.setDisplayName("§3§lAlts");
  80. ArrayList<String> altsLore = new ArrayList<>();
  81. altsLore.add("§fList of possible alt. accounts");
  82. altsLore.add("§funder targets IP.");
  83. altsMeta.setLore(altsLore);
  84. alts.setItemMeta(altsMeta);
  85.  
  86. ItemStack history = new ItemStack(Material.EMPTY_MAP, 1);
  87. ItemMeta historyMeta = history.getItemMeta();
  88. historyMeta.setDisplayName("§3§lHistory");
  89. ArrayList<String> historyLore = new ArrayList<>();
  90. historyLore.add("§fSee targets previous punishment history.");
  91. historyMeta.setLore(historyLore);
  92. history.setItemMeta(historyMeta);
  93.  
  94. ItemStack ban = new ItemStack(Material.BOOK, 1);
  95. ItemMeta banMeta = ban.getItemMeta();
  96. banMeta.setDisplayName("§3§lBan User");
  97. ArrayList<String> banLore = new ArrayList<String>();
  98. banLore.add("§fThis option will open up a new menu with");
  99. banLore.add("§fban options.");
  100. banMeta.setLore(banLore);
  101. ban.setItemMeta(banMeta);
  102.  
  103. ItemStack kick = new ItemStack(Material.BOOK, 1);
  104. ItemMeta kickMeta = kick.getItemMeta();
  105. kickMeta.setDisplayName("§3§lKick User");
  106. ArrayList<String> kickLore = new ArrayList<String>();
  107. kickLore.add("§fThis option will open up a new menu with");
  108. kickLore.add("§fkick options.");
  109. kickMeta.setLore(kickLore);
  110. kick.setItemMeta(kickMeta);
  111.  
  112. ItemStack mute = new ItemStack(Material.BOOK, 1);
  113. ItemMeta muteMeta = mute.getItemMeta();
  114. muteMeta.setDisplayName("§3§lMute User");
  115. ArrayList<String> muteLore = new ArrayList<String>();
  116. muteLore.add("§fThis option will open up a new menu with");
  117. muteLore.add("§fmute options.");
  118. muteMeta.setLore(muteLore);
  119. mute.setItemMeta(muteMeta);
  120.  
  121. ItemStack cancel = new ItemStack(Material.INK_SACK, 1, (short) 1);
  122. ItemMeta cancelMeta = cancel.getItemMeta();
  123. cancelMeta.setDisplayName("§c§lCancel");
  124. ArrayList<String> cancelLore = new ArrayList<String>();
  125. cancelLore.add("§fClose this menu.");
  126. cancelMeta.setLore(cancelLore);
  127. cancel.setItemMeta(cancelMeta);
  128.  
  129. PTypeInv.setItem(3, history);
  130. PTypeInv.setItem(4, selected);
  131. PTypeInv.setItem(5, alts);
  132.  
  133. PTypeInv.setItem(11, ban);
  134. PTypeInv.setItem(13, kick);
  135. PTypeInv.setItem(15, mute);
  136.  
  137. PTypeInv.setItem(22, cancel);
  138. }
  139. return true;
  140. }
  141. @EventHandler
  142. public void onInventoryClick(InventoryClickEvent event) {
  143. Player player = (Player) event.getWhoClicked();
  144.  
  145. if (event.getInventory().getTitle().equals("Select a Punishment Type")) {
  146.  
  147. if (event.getWhoClicked() == null) {
  148. return;
  149. }
  150. if (event.getCurrentItem() == null || !event.getCurrentItem().hasItemMeta()) {
  151. return;
  152. }
  153. if (event.getCurrentItem().getItemMeta().getDisplayName().equals("§3")) ;
  154. event.setCancelled(true);
  155. }
  156. if (event.getCurrentItem().getItemMeta().getDisplayName().equals("§3§lAlts")) ;
  157. player.performCommand("alts " + target.);
  158. }
  159. }
  160. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement