Advertisement
Guest User

Untitled

a guest
Mar 30th, 2020
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.67 KB | None | 0 0
  1. package me.kowlintech.command.staff;
  2.  
  3. import me.kowlintech.EnderWars;
  4. import me.kowlintech.utils.CommandUtils;
  5. import me.kowlintech.utils.GroupManager;
  6. import me.kowlintech.utils.PunishmentManager;
  7. import me.kowlintech.utils.objects.Colour;
  8. import me.kowlintech.utils.objects.Error;
  9. import me.kowlintech.utils.objects.Group;
  10. import me.kowlintech.utils.objects.Punishment;
  11. import org.apache.commons.lang3.EnumUtils;
  12. import org.bukkit.Bukkit;
  13. import org.bukkit.ChatColor;
  14. import org.bukkit.OfflinePlayer;
  15. import org.bukkit.command.Command;
  16. import org.bukkit.command.CommandExecutor;
  17. import org.bukkit.command.CommandSender;
  18.  
  19. import java.sql.PreparedStatement;
  20. import java.sql.ResultSet;
  21. import java.sql.SQLException;
  22. import java.util.ArrayList;
  23. import java.util.Date;
  24. import java.util.HashMap;
  25. import java.util.UUID;
  26.  
  27. public class RecordCommand implements CommandExecutor {
  28.  
  29. private GroupManager groupManager = new GroupManager();
  30. private CommandUtils commandUtils = new CommandUtils();
  31. private PunishmentManager punishmentManager = new PunishmentManager();
  32. private String issuername;
  33.  
  34. @Override
  35. public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
  36. try {
  37. if(commandUtils.hasRequiredGroup(sender, Group.HELPER)) {
  38. if(args.length == 1) {
  39. OfflinePlayer player = Bukkit.getOfflinePlayer(args[0]);
  40. ArrayList<String> arrayList = new ArrayList<>();
  41. for(Integer punishmentid : punishmentManager.getPlayerRecord(player)) {
  42. PreparedStatement st = EnderWars.getPlugin().getDatabaseConnection().prepareStatement("SELECT * FROM punishmentrecords WHERE punishmentid = '" + punishmentid.toString() + "'");
  43. ResultSet rs = st.executeQuery();
  44. while(rs.next()) {
  45. String playeruuid = rs.getString("playeruuid");
  46. String issueruuid = rs.getString("issueruuid");
  47. try {
  48. issuername = Bukkit.getOfflinePlayer(UUID.fromString(issueruuid)).getName();
  49. } catch (IllegalArgumentException e) {
  50. issuername = "CONSOLE";
  51. }
  52. String punishmenttype = rs.getString("punishmenttype");
  53. String reason = rs.getString("reason");
  54. String whenissued = rs.getDate("whenissued").toString();
  55. ChatColor punishmentcolor = Punishment.valueOf(punishmenttype.toUpperCase()).getPunishmentStringColor();
  56. arrayList.add(punishmentcolor + punishmenttype + Colour.translate("&3:\n Issuer: " + issuername + "\n Reason: " + reason + "\n Issue Date: " + whenissued));
  57. }
  58. }
  59. sender.sendMessage(Colour.translate("&a" + player.getName() + "'s Punishment Record:\n") + String.join("\n", arrayList));
  60. } else {
  61. sender.sendMessage(Colour.translate("&cUsage: /record <player>"));
  62. return true;
  63. }
  64. } else {
  65. Error nopermission = Error.NO_PERMISSION;
  66. sender.sendMessage(nopermission.getColor() + nopermission.getError());
  67. return true;
  68. }
  69. } catch (SQLException e) {
  70. e.printStackTrace();
  71. sender.sendMessage(Colour.prefix(ChatColor.RED) + "An error occurred while executing that command. Please report this.");
  72. }
  73. return true;
  74. }
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement