SuspectedHatesYou

Untitled

Jan 27th, 2016
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.60 KB | None | 0 0
  1. package me.suspected.report;
  2.  
  3. import org.bukkit.Bukkit;
  4. import org.bukkit.ChatColor;
  5. import org.bukkit.Material;
  6. import org.bukkit.command.Command;
  7. import org.bukkit.command.CommandExecutor;
  8. import org.bukkit.command.CommandSender;
  9. import org.bukkit.entity.HumanEntity;
  10. import org.bukkit.entity.Player;
  11. import org.bukkit.event.EventHandler;
  12. import org.bukkit.event.Listener;
  13. import org.bukkit.event.inventory.InventoryClickEvent;
  14. import org.bukkit.inventory.Inventory;
  15. import org.bukkit.inventory.ItemStack;
  16. import org.bukkit.inventory.meta.ItemMeta;
  17. import org.bukkit.plugin.PluginManager;
  18. import org.bukkit.plugin.java.JavaPlugin;
  19.  
  20. public class Main
  21. extends JavaPlugin
  22. implements Listener, CommandExecutor
  23. {
  24. public void onEnable()
  25. {
  26. Bukkit.getPluginManager().registerEvents(this, this);
  27. }
  28.  
  29. public void onDisable() {}
  30.  
  31. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)
  32. {
  33. if (!(sender instanceof Player))
  34. {
  35. sender.sendMessage("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[] { "&cNot enough permissions!" });
  42. return false;
  43. }
  44. if (args.length != 1)
  45. {
  46. msg(p, new String[] { "&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.  
  66. @EventHandler
  67. public void onClick(InventoryClickEvent e)
  68. {
  69. if (e.getInventory().getName().startsWith("&aReport "))
  70. {
  71. String report = e.getInventory().getName().replace("&aReport ", "");
  72. String reason = ChatColor.stripColor(e.getCurrentItem().getItemMeta().getDisplayName());
  73. for (Player p : Bukkit.getOnlinePlayers()) {
  74. if ((p.hasPermission("report.notify")) || (p.isOp())) {
  75. msg(p, new String[] { "&b" + e.getWhoClicked().getName() + " &3has reported&b " + report + " &3for:&b " + reason });
  76. }
  77. }
  78. msg((Player)e.getWhoClicked(), new String[] { "&b&lReport Received!" });
  79. e.getWhoClicked().closeInventory();
  80. }
  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.  
  94. public String color(String s)
  95. {
  96. return ChatColor.translateAlternateColorCodes('&', s);
  97. }
  98.  
  99. public ItemStack createItem(Material mat, String disp)
  100. {
  101. ItemStack is = new ItemStack(mat);
  102. ItemMeta ismeta = is.getItemMeta();
  103. ismeta.setDisplayName(color(disp));
  104. is.setItemMeta(ismeta);
  105. return is;
  106. }
  107. }
Advertisement
Add Comment
Please, Sign In to add comment