Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.kowlintech.command.staff;
- import me.kowlintech.EnderWars;
- import me.kowlintech.utils.CommandUtils;
- import me.kowlintech.utils.GroupManager;
- import me.kowlintech.utils.PunishmentManager;
- import me.kowlintech.utils.objects.Colour;
- import me.kowlintech.utils.objects.Error;
- import me.kowlintech.utils.objects.Group;
- import me.kowlintech.utils.objects.Punishment;
- import org.apache.commons.lang3.EnumUtils;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.OfflinePlayer;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandExecutor;
- import org.bukkit.command.CommandSender;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.HashMap;
- import java.util.UUID;
- public class RecordCommand implements CommandExecutor {
- private GroupManager groupManager = new GroupManager();
- private CommandUtils commandUtils = new CommandUtils();
- private PunishmentManager punishmentManager = new PunishmentManager();
- private String issuername;
- @Override
- public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
- try {
- if(commandUtils.hasRequiredGroup(sender, Group.HELPER)) {
- if(args.length == 1) {
- OfflinePlayer player = Bukkit.getOfflinePlayer(args[0]);
- ArrayList<String> arrayList = new ArrayList<>();
- for(Integer punishmentid : punishmentManager.getPlayerRecord(player)) {
- PreparedStatement st = EnderWars.getPlugin().getDatabaseConnection().prepareStatement("SELECT * FROM punishmentrecords WHERE punishmentid = '" + punishmentid.toString() + "'");
- ResultSet rs = st.executeQuery();
- while(rs.next()) {
- String playeruuid = rs.getString("playeruuid");
- String issueruuid = rs.getString("issueruuid");
- try {
- issuername = Bukkit.getOfflinePlayer(UUID.fromString(issueruuid)).getName();
- } catch (IllegalArgumentException e) {
- issuername = "CONSOLE";
- }
- String punishmenttype = rs.getString("punishmenttype");
- String reason = rs.getString("reason");
- String whenissued = rs.getDate("whenissued").toString();
- ChatColor punishmentcolor = Punishment.valueOf(punishmenttype.toUpperCase()).getPunishmentStringColor();
- arrayList.add(punishmentcolor + punishmenttype + Colour.translate("&3:\n Issuer: " + issuername + "\n Reason: " + reason + "\n Issue Date: " + whenissued));
- }
- }
- sender.sendMessage(Colour.translate("&a" + player.getName() + "'s Punishment Record:\n") + String.join("\n", arrayList));
- } else {
- sender.sendMessage(Colour.translate("&cUsage: /record <player>"));
- return true;
- }
- } else {
- Error nopermission = Error.NO_PERMISSION;
- sender.sendMessage(nopermission.getColor() + nopermission.getError());
- return true;
- }
- } catch (SQLException e) {
- e.printStackTrace();
- sender.sendMessage(Colour.prefix(ChatColor.RED) + "An error occurred while executing that command. Please report this.");
- }
- return true;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement