Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.GoNelson.BugReport;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.HashMap;
- import java.util.List;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.Material;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.Player;
- import org.bukkit.event.Listener;
- import org.bukkit.inventory.Inventory;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.inventory.meta.ItemMeta;
- import org.bukkit.plugin.java.JavaPlugin;
- import org.bukkit.scheduler.BukkitRunnable;
- public class Main extends JavaPlugin implements Listener {
- private Inventory inv;
- ConfigManager settings = ConfigManager.getInstance();
- private HashMap<Player, Integer> cooldownTime;
- private HashMap<Player, BukkitRunnable> cooldownTask;
- public void onEnable() {
- inv = Bukkit.getServer().createInventory(null, 9, ChatColor.BLUE + "Bug Report");
- Bukkit.getServer().getPluginManager().registerEvents(this, this);
- settings.setup(this);
- cooldownTime = new HashMap<Player, Integer>();
- cooldownTask = new HashMap<Player, BukkitRunnable>();
- }
- public void onDisable() {
- }
- public void createItem(String ms, Inventory inv, String n, String lore, String lore1, int slot)
- {
- Material m = Material.getMaterial(ms.toUpperCase());
- ItemStack stack = new ItemStack(m);
- ItemMeta stackMeta = stack.getItemMeta();
- stackMeta.setDisplayName(n);
- stackMeta.setLore(Arrays.asList(new String[] { lore, lore1 }));
- stack.setItemMeta(stackMeta);
- inv.setItem(slot, stack);
- }
- public boolean onCommand(final CommandSender sender, Command cmd, String alias, String[] args) {
- if (!(sender instanceof Player)) {
- sender.sendMessage("You have to be a player to use this command!");
- return false;
- }
- Player player = (Player) sender;
- if (cmd.getName().equalsIgnoreCase("brp") || cmd.getName().equalsIgnoreCase("bugreportplus")){
- if (args.length == 0) {
- player.sendMessage(ChatColor.DARK_GRAY.toString() + ChatColor.STRIKETHROUGH + "---------------" + "<" + ChatColor.RED + "Help" + ChatColor.DARK_GRAY + " (" + ChatColor.GRAY + "1/10" + ChatColor.DARK_GRAY + ")>" + ChatColor.STRIKETHROUGH + "---------------");
- player.sendMessage(ChatColor.GRAY + "/brp -" + ChatColor.RED + " opens this help menu");
- player.sendMessage(ChatColor.GRAY + "/brp submit <Bug> <info> -" + ChatColor.RED + " submits a bug report");
- player.sendMessage(ChatColor.GRAY + "/brp reload -" + ChatColor.RED + " reloads the config");
- player.sendMessage(ChatColor.GRAY + "/brp buglist -" + ChatColor.RED + " opens a gui with a list of bugs that players have reported");
- return true;
- } else if (args[0].equalsIgnoreCase("reload")) {
- if (player.hasPermission("brp.reload")) {
- reloadConfig();
- player.sendMessage(ChatColor.BLUE + "You have reloaded the config!");
- return true;
- } else {
- player.sendMessage(ChatColor.RED + "You dont have permission!");
- return false;
- }
- } else if (args[0].equalsIgnoreCase("buglist")) {
- if (player.hasPermission("brp.buglist")) {
- player.openInventory(inv);
- List<ItemStack> items = (List<ItemStack>) settings.getData().getList("inventory");
- inv.addItem(items.toArray(new ItemStack[items.size()]));
- return true;
- } else {
- player.sendMessage(ChatColor.RED + "You dont have permission!");
- return false;
- }
- } else if (args[0].equalsIgnoreCase("submit")) {
- if (cooldownTime.containsKey(player)) {
- player.sendMessage(ChatColor.RED + "You must wait for " + cooldownTime.get(player) + " seconds.");
- return true;
- }
- if (args.length == 1) {
- player.sendMessage(ChatColor.RED + "USAGE: /brp submit <bug(one word)> <info(unlimited words)>");
- } else if (args.length == 2) {
- player.sendMessage(ChatColor.RED + "USAGE: /brp submit <bug(one word)> <info(unlimited words)>");
- } else if (args.length >= 3) {
- StringBuilder sb = new StringBuilder();
- for (int i = 2; i < args.length; i++)
- sb.append(args[i]+" ");
- player.sendMessage(ChatColor.GREEN + "Bug Report Message Sent To Admin:");
- player.sendMessage(ChatColor.GREEN + "Title: " + ChatColor.BLUE + args[1]);
- player.sendMessage(ChatColor.GREEN + "Info: " + ChatColor.BLUE + sb);
- ItemStack paper = new ItemStack(Material.PAPER);
- ItemMeta papermeta = paper.getItemMeta();
- papermeta.setDisplayName(ChatColor.BLUE + args[1]);
- List<String> lore = new ArrayList<String>();
- lore.add("" + sb);
- papermeta.setLore(lore);
- paper.setItemMeta(papermeta);
- inv.addItem(paper);
- settings.getData().set("inventory", inv.getContents());
- settings.saveData();
- cooldownTime.put(player, 3600);
- cooldownTask.put(player, new BukkitRunnable() {
- public void run() {
- Player player = (Player) sender;
- cooldownTime.put(player, cooldownTime.get(player) - 1);
- if (cooldownTime.get(player) == 0) {
- cooldownTime.remove(player);
- cooldownTask.remove(player);
- cancel();
- }
- }
- });
- cooldownTask.get(player).runTaskTimer(this, 20, 20);
- return true;
- }
- } else {
- player.sendMessage(ChatColor.RED + "Unknown argument, type /brp to show all the commands!");
- return false;
- }
- }
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement