summaryrefslogtreecommitdiff
path: root/src/com/redstoner/modules/reports/Reports.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/redstoner/modules/reports/Reports.java')
-rw-r--r--src/com/redstoner/modules/reports/Reports.java163
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!");
- }
-}