Advertisement
Guest User

Main

a guest
Apr 24th, 2017
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.98 KB | None | 0 0
  1. package me.GoNelson.BugReport;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.Arrays;
  5. import java.util.HashMap;
  6. import java.util.List;
  7.  
  8. import org.bukkit.Bukkit;
  9. import org.bukkit.ChatColor;
  10. import org.bukkit.Material;
  11. import org.bukkit.command.Command;
  12. import org.bukkit.command.CommandSender;
  13. import org.bukkit.entity.Player;
  14. import org.bukkit.event.Listener;
  15. import org.bukkit.inventory.Inventory;
  16. import org.bukkit.inventory.ItemStack;
  17. import org.bukkit.inventory.meta.ItemMeta;
  18. import org.bukkit.plugin.java.JavaPlugin;
  19. import org.bukkit.scheduler.BukkitRunnable;
  20.  
  21. public class Main extends JavaPlugin implements Listener {
  22.  
  23. private Inventory inv;
  24. ConfigManager settings = ConfigManager.getInstance();
  25. private HashMap<Player, Integer> cooldownTime;
  26. private HashMap<Player, BukkitRunnable> cooldownTask;
  27.  
  28. public void onEnable() {
  29. inv = Bukkit.getServer().createInventory(null, 9, ChatColor.BLUE + "Bug Report");
  30. Bukkit.getServer().getPluginManager().registerEvents(this, this);
  31. settings.setup(this);
  32. cooldownTime = new HashMap<Player, Integer>();
  33. cooldownTask = new HashMap<Player, BukkitRunnable>();
  34. }
  35. public void onDisable() {
  36.  
  37. }
  38. public void createItem(String ms, Inventory inv, String n, String lore, String lore1, int slot)
  39. {
  40. Material m = Material.getMaterial(ms.toUpperCase());
  41. ItemStack stack = new ItemStack(m);
  42. ItemMeta stackMeta = stack.getItemMeta();
  43. stackMeta.setDisplayName(n);
  44. stackMeta.setLore(Arrays.asList(new String[] { lore, lore1 }));
  45. stack.setItemMeta(stackMeta);
  46. inv.setItem(slot, stack);
  47. }
  48. public boolean onCommand(final CommandSender sender, Command cmd, String alias, String[] args) {
  49.  
  50. if (!(sender instanceof Player)) {
  51. sender.sendMessage("You have to be a player to use this command!");
  52. return false;
  53. }
  54.  
  55. Player player = (Player) sender;
  56.  
  57. if (cmd.getName().equalsIgnoreCase("brp") || cmd.getName().equalsIgnoreCase("bugreportplus")){
  58. if (args.length == 0) {
  59. player.sendMessage(ChatColor.DARK_GRAY.toString() + ChatColor.STRIKETHROUGH + "---------------" + "<" + ChatColor.RED + "Help" + ChatColor.DARK_GRAY + " (" + ChatColor.GRAY + "1/10" + ChatColor.DARK_GRAY + ")>" + ChatColor.STRIKETHROUGH + "---------------");
  60. player.sendMessage(ChatColor.GRAY + "/brp -" + ChatColor.RED + " opens this help menu");
  61. player.sendMessage(ChatColor.GRAY + "/brp submit <Bug> <info> -" + ChatColor.RED + " submits a bug report");
  62. player.sendMessage(ChatColor.GRAY + "/brp reload -" + ChatColor.RED + " reloads the config");
  63. player.sendMessage(ChatColor.GRAY + "/brp buglist -" + ChatColor.RED + " opens a gui with a list of bugs that players have reported");
  64. return true;
  65. } else if (args[0].equalsIgnoreCase("reload")) {
  66. if (player.hasPermission("brp.reload")) {
  67. reloadConfig();
  68. player.sendMessage(ChatColor.BLUE + "You have reloaded the config!");
  69. return true;
  70. } else {
  71. player.sendMessage(ChatColor.RED + "You dont have permission!");
  72. return false;
  73. }
  74. } else if (args[0].equalsIgnoreCase("buglist")) {
  75. if (player.hasPermission("brp.buglist")) {
  76. player.openInventory(inv);
  77. List<ItemStack> items = (List<ItemStack>) settings.getData().getList("inventory");
  78. inv.addItem(items.toArray(new ItemStack[items.size()]));
  79. return true;
  80. } else {
  81. player.sendMessage(ChatColor.RED + "You dont have permission!");
  82. return false;
  83. }
  84. } else if (args[0].equalsIgnoreCase("submit")) {
  85. if (cooldownTime.containsKey(player)) {
  86. player.sendMessage(ChatColor.RED + "You must wait for " + cooldownTime.get(player) + " seconds.");
  87. return true;
  88. }
  89. if (args.length == 1) {
  90. player.sendMessage(ChatColor.RED + "USAGE: /brp submit <bug(one word)> <info(unlimited words)>");
  91. } else if (args.length == 2) {
  92. player.sendMessage(ChatColor.RED + "USAGE: /brp submit <bug(one word)> <info(unlimited words)>");
  93. } else if (args.length >= 3) {
  94. StringBuilder sb = new StringBuilder();
  95. for (int i = 2; i < args.length; i++)
  96. sb.append(args[i]+" ");
  97. player.sendMessage(ChatColor.GREEN + "Bug Report Message Sent To Admin:");
  98. player.sendMessage(ChatColor.GREEN + "Title: " + ChatColor.BLUE + args[1]);
  99. player.sendMessage(ChatColor.GREEN + "Info: " + ChatColor.BLUE + sb);
  100. ItemStack paper = new ItemStack(Material.PAPER);
  101. ItemMeta papermeta = paper.getItemMeta();
  102. papermeta.setDisplayName(ChatColor.BLUE + args[1]);
  103. List<String> lore = new ArrayList<String>();
  104. lore.add("" + sb);
  105. papermeta.setLore(lore);
  106. paper.setItemMeta(papermeta);
  107. inv.addItem(paper);
  108. settings.getData().set("inventory", inv.getContents());
  109. settings.saveData();
  110. cooldownTime.put(player, 3600);
  111. cooldownTask.put(player, new BukkitRunnable() {
  112. public void run() {
  113. Player player = (Player) sender;
  114. cooldownTime.put(player, cooldownTime.get(player) - 1);
  115. if (cooldownTime.get(player) == 0) {
  116. cooldownTime.remove(player);
  117. cooldownTask.remove(player);
  118. cancel();
  119. }
  120. }
  121. });
  122. cooldownTask.get(player).runTaskTimer(this, 20, 20);
  123. return true;
  124. }
  125. } else {
  126. player.sendMessage(ChatColor.RED + "Unknown argument, type /brp to show all the commands!");
  127. return false;
  128. }
  129. }
  130. return false;
  131. }
  132. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement