SuspectedHatesYou

Untitled

Jan 27th, 2016
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.93 KB | None | 0 0
  1. package me.suspected.report;
  2. import org.bukkit.Bukkit;
  3. import org.bukkit.ChatColor;
  4. import org.bukkit.Material;
  5. import org.bukkit.command.Command;
  6. import org.bukkit.command.CommandExecutor;
  7. import org.bukkit.command.CommandSender;
  8. import org.bukkit.entity.HumanEntity;
  9. import org.bukkit.entity.Player;
  10. import org.bukkit.event.EventHandler;
  11. import org.bukkit.event.Listener;
  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.plugin.PluginManager;
  17. import org.bukkit.plugin.java.JavaPlugin;
  18. public class Main
  19. extends JavaPlugin
  20. implements Listener, CommandExecutor
  21. {
  22. public static String getPrefix()
  23. {
  24. return ChatColor.translateAlternateColorCodes('&', "&7[&cCoreCraftReports&7] &e");
  25. }
  26. public void onEnable()
  27. {
  28. Bukkit.getPluginManager().registerEvents(this, this);
  29. }
  30. public void onDisable() {}
  31. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)
  32. {
  33. if (!(sender instanceof Player))
  34. {
  35. sender.sendMessage(getPrefix() + "You have to be a player to perform this command!");
  36. return false;
  37. }
  38. Player p = (Player)sender;
  39. if (!p.hasPermission("report.use"))
  40. {
  41. msg(p, new String[] {getPrefix() + "&cNot enough permissions!" });
  42. return false;
  43. }
  44. if (args.length != 1)
  45. {
  46. msg(p, new String[] {getPrefix() + "&3Use /report <Name>" });
  47. return false;
  48. }
  49. if (label.equalsIgnoreCase("report"))
  50. {
  51. Inventory inv = Bukkit.createInventory(null, 9, color("§aReport " + args[0]));
  52. inv.addItem(new ItemStack[] { createItem(Material.IRON_BARDING, "&cHacking.") });
  53. inv.addItem(new ItemStack[] { createItem(Material.LEATHER, "&cSpamming.") });
  54. inv.addItem(new ItemStack[] { createItem(Material.ENDER_PEARL, "&cGlitching.") });
  55. inv.addItem(new ItemStack[] { createItem(Material.PAPER, "&cAdvertising.") });
  56. inv.addItem(new ItemStack[] { createItem(Material.COMPASS, "&cAbusing.") });
  57. inv.addItem(new ItemStack[] { createItem(Material.IRON_DOOR, "&cThreats.") });
  58. inv.addItem(new ItemStack[] { createItem(Material.DIAMOND, "&cDisrespect.") });
  59. inv.addItem(new ItemStack[] { createItem(Material.IRON_INGOT, "&cImpersination.") });
  60. inv.addItem(new ItemStack[] { createItem(Material.BOOK, "&cOther.") });
  61. p.openInventory(inv);
  62. }
  63. return false;
  64. }
  65. @EventHandler
  66. public void onClick(InventoryClickEvent e)
  67. {
  68. if (e.getInventory().getName().startsWith(ChatColor.GREEN + "Report "))
  69. {
  70. e.setCancelled(true);//When the player click at the item the event will be cancelled
  71. System.out.println();
  72. String report = e.getInventory().getName().replace(ChatColor.GREEN + "Target", "");
  73. String reason = ChatColor.stripColor(e.getCurrentItem().getItemMeta().getDisplayName());
  74. for (Player p : Bukkit.getOnlinePlayers()) {
  75. if ((p.hasPermission("report.notify")) || (p.isOp())) {
  76. msg(p, new String[] {getPrefix() + "&b" + e.getWhoClicked().getName() + " &bhas reported&b " + ChatColor.RED + report + " &afor:&b " + reason });
  77. }
  78. }
  79. msg((Player)e.getWhoClicked(), new String[] {getPrefix() + "&bReport Received!" });
  80. e.getWhoClicked().closeInventory();
  81. }
  82. }
  83. public void msg(Player p, String... msg)
  84. {
  85. String[] arrayOfString;
  86. int j = (arrayOfString = msg).length;
  87. for (int i = 0; i < j; i++)
  88. {
  89. String s = arrayOfString[i];
  90. p.sendMessage(color(s));
  91. }
  92. }
  93. public String color(String s)
  94. {
  95. return ChatColor.translateAlternateColorCodes('&', s);
  96. }
  97. public ItemStack createItem(Material mat, String disp)
  98. {
  99. ItemStack is = new ItemStack(mat);
  100. ItemMeta ismeta = is.getItemMeta();
  101. ismeta.setDisplayName(color(disp));
  102. is.setItemMeta(ismeta);
  103. return is;
  104. }
  105. }
Advertisement
Add Comment
Please, Sign In to add comment