diff options
Diffstat (limited to 'src/com/redstoner/modules/reports/Reports.java')
-rw-r--r-- | src/com/redstoner/modules/reports/Reports.java | 163 |
1 files changed, 0 insertions, 163 deletions
diff --git a/src/com/redstoner/modules/reports/Reports.java b/src/com/redstoner/modules/reports/Reports.java deleted file mode 100644 index cb1022e..0000000 --- a/src/com/redstoner/modules/reports/Reports.java +++ /dev/null @@ -1,163 +0,0 @@ -package com.redstoner.modules.reports; - -import java.io.File; -import java.text.SimpleDateFormat; -import java.util.Date; - -import org.bukkit.Bukkit; -import org.bukkit.Location; -import org.bukkit.World; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; -import org.json.simple.JSONArray; -import org.json.simple.JSONObject; - -import com.nemez.cmdmgr.Command; -import com.redstoner.annotations.Version; -import com.redstoner.misc.JsonManager; -import com.redstoner.misc.Main; -import com.redstoner.modules.Module; - -import net.md_5.bungee.api.ChatColor; - -/** Report module. Allows reports to be created and handled by staff - * - * @author Redempt */ -@Version(major = 2, minor = 0, revision = 0, compatible = 2) -public class Reports implements Module -{ - private int task = 0; - private JSONArray reports; - private JSONArray archived; - private SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd kk:mm"); - - @Override - public boolean onEnable() - { - reports = JsonManager.getArray(new File(Main.plugin.getDataFolder(), "reports.json")); - archived = JsonManager.getArray(new File(Main.plugin.getDataFolder(), "archived_reports.json")); - if (reports == null) - { - reports = new JSONArray(); - } - if (archived == null) - { - archived = new JSONArray(); - } - // Notify online staff of open reports - task = Bukkit.getScheduler().scheduleSyncRepeatingTask(Main.plugin, () -> - { - if (reports.size() <= 0) - { - return; - } - for (Player player : Bukkit.getOnlinePlayers()) - { - if (player.hasPermission("utils.report")) - { - player.sendMessage(ChatColor.RED + "There are " + ChatColor.YELLOW + reports.size() + ChatColor.RED - + " open reports!"); - } - } - } , 2400, 2400); - return true; - } - - @Override - public void onDisable() - { - // Save reports, cancel notifier task - Bukkit.getScheduler().cancelTask(task); - JsonManager.save(reports, new File(Main.plugin.getDataFolder(), "reports.json")); - JsonManager.save(archived, new File(Main.plugin.getDataFolder(), "archived_reports.json")); - } - - @Override - public String getCommandString() - { - return "command report {" + "[string:message...] {" + "type player;" + "help Report a player or incident;" - + "run report message;" + "}" + "}" + "command rp {" + "perm utils.report;" + "open {" - + "help List all open reports;" + "run report_open;" + "}" + "close [int:id] {" + "help Close a report;" - + "run report_close id;" + "}" + "tp [int:id] {" + "help Teleport to the location of a report;" - + "run report_tp id;" + "type player;" + "}" + "}"; - } - - @Command(hook = "report_tp") - public void tpReport(CommandSender sender, int id) - { - // Check for invalid ID - Player player = (Player) sender; - if (id > reports.size() - 1 || id < 0) - { - sender.sendMessage(ChatColor.RED + "Invalid ID!"); - return; - } - JSONObject report = (JSONObject) reports.get(id); - String loc = (String) report.get("location"); - String[] split = loc.split(";"); - // Location from string - int x = Integer.parseInt(split[0]); - int y = Integer.parseInt(split[1]); - int z = Integer.parseInt(split[2]); - World world = Bukkit.getWorld(split[3]); - Location location = new Location(world, x, y, z); - player.teleport(location); - } - - @SuppressWarnings("unchecked") - @Command(hook = "report_close") - public void closeReport(CommandSender sender, int id) - { - // Check for invalid ID - if (id > reports.size() - 1 || id < 0) - { - sender.sendMessage(ChatColor.RED + "Invalid ID!"); - return; - } - // Move report to archived reports - JSONObject report = (JSONObject) reports.get(id); - reports.remove(id); - archived.add(report); - sender.sendMessage(ChatColor.GREEN + "Report #" + id + " closed!"); - } - - @Command(hook = "report_open") - public void listOpen(CommandSender sender) - { - int i = 0; - for (Object object : reports) - { - JSONObject report = (JSONObject) object; - String message = ""; - message += ChatColor.DARK_GRAY + "[" + ChatColor.YELLOW + i + ChatColor.DARK_GRAY + "]"; - message += "[" + ChatColor.YELLOW + report.get("time") + ChatColor.DARK_GRAY + "] "; - message += ChatColor.DARK_AQUA + "" + report.get("name"); - message += ChatColor.WHITE + ": " + ChatColor.YELLOW + report.get("message"); - sender.sendMessage(message); - i++; - } - if (i == 0) - { - sender.sendMessage(ChatColor.GREEN + "There are no open reports."); - } - } - - @SuppressWarnings("unchecked") - @Command(hook = "report") - public void report(CommandSender sender, String message) - { - Player player = (Player) sender; - // Create report JSONObject - JSONObject report = new JSONObject(); - report.put("name", player.getName()); - report.put("time", dateFormat.format(new Date())); - report.put("message", message); - String loc = ""; - // Location to string - loc += player.getLocation().getBlockX() + ";" + player.getLocation().getBlockY() + ";" - + player.getLocation().getBlockZ() + ";" + player.getLocation().getWorld().getName(); - report.put("location", loc); - reports.add(report); - sender.sendMessage(ChatColor.GREEN + "Report created!"); - } -} |