diff options
author | Minenash <minenash@protonmail.com> | 2018-11-09 20:21:42 -0500 |
---|---|---|
committer | Minenash <minenash@protonmail.com> | 2018-11-09 20:21:42 -0500 |
commit | 096739aaf54739a4e67037763a24abd9bae893d1 (patch) | |
tree | 69ac8fb2432d2f72002f8a675b5d5741af46be16 /src/main/java/com | |
parent | 60078ff7341f40db684c5ce102e62f94b71da6ce (diff) |
Added
Diffstat (limited to 'src/main/java/com')
-rw-r--r-- | src/main/java/com/redstoner/modules/reports/Reports.cmd | 11 | ||||
-rw-r--r-- | src/main/java/com/redstoner/modules/reports/Reports.java | 52 |
2 files changed, 44 insertions, 19 deletions
diff --git a/src/main/java/com/redstoner/modules/reports/Reports.cmd b/src/main/java/com/redstoner/modules/reports/Reports.cmd index 336c418..15268d5 100644 --- a/src/main/java/com/redstoner/modules/reports/Reports.cmd +++ b/src/main/java/com/redstoner/modules/reports/Reports.cmd @@ -1,14 +1,19 @@ command report { [string:message...] { - type player; - help Report a player or incident; run report message; + help Report a player or incident; } } +command undoreport { + [empty] { + run report_retract; + help Retracts the last report you sent.; + } +} command rp { perm utils.report; - open { + list { help List all open reports; run report_open; } diff --git a/src/main/java/com/redstoner/modules/reports/Reports.java b/src/main/java/com/redstoner/modules/reports/Reports.java index 0e55ccc..f0a6c16 100644 --- a/src/main/java/com/redstoner/modules/reports/Reports.java +++ b/src/main/java/com/redstoner/modules/reports/Reports.java @@ -20,7 +20,7 @@ import com.redstoner.misc.JsonManager; import com.redstoner.misc.Main; import com.redstoner.modules.Module; -import net.md_5.bungee.api.ChatColor; +import net.nemez.chatapi.click.Message; /** Report module. Allows reports to be created and handled by staff * @@ -109,28 +109,25 @@ public class Reports implements Module JSONObject report = (JSONObject) reports.get(id); reports.remove(id); archived.add(report); - sender.sendMessage(ChatColor.GREEN + "Report #" + id + " closed!"); + getLogger().message(sender, "Report #" + id + " closed!"); } @Command(hook = "report_open") public void listOpen(CommandSender sender) { int i = 0; + + Message msg = new Message(sender, null).appendText("\n" + getLogger().getHeader()); 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); + msg.appendText("\n&8[&e" + i + "&8][&e" + report.get("time") + "&8]&3" + + report.get("name") + "&f: &e" + report.get("message")); i++; } if (i == 0) - { - sender.sendMessage(ChatColor.GREEN + "There are no open reports."); - } + msg.appendText("\n&cThere are no open reports."); + msg.send(); } @SuppressWarnings("unchecked") @@ -143,12 +140,35 @@ public class Reports implements Module 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(); + 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!"); + getLogger().message(sender, "Report created!"); + } + + + @Command(hook = "report_retract") + public void retractReport(CommandSender sender) + { + String p_name = ((Player) sender).getName(); + + JSONObject lastReport = null; + + for (Object o_report : reports) { + JSONObject report = (JSONObject) o_report; + + String r_name = (String) report.get("name"); + if (r_name.equals(p_name)) + lastReport = report; + } + + if (lastReport == null) { + getLogger().message(sender, true, "You haven't submitted a report"); + return; + } + + reports.remove(lastReport); + getLogger().message(sender, "Successfully retracted your last report."); } } |