package com.leontg77.uhc.cmds; import static com.leontg77.uhc.Main.plugin; import java.io.File; import java.util.Date; import java.util.TimeZone; import org.bukkit.BanEntry; import org.bukkit.BanList; import org.bukkit.BanList.Type; import org.bukkit.Bukkit; import org.bukkit.OfflinePlayer; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import com.leontg77.uhc.Main; import com.leontg77.uhc.User; import com.leontg77.uhc.utils.DateUtils; import com.leontg77.uhc.utils.PlayerUtils; /** * Info command class. * * @author LeonTG77 */ public class InfoCommand implements CommandExecutor { @Override public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { if (!sender.hasPermission("uhc.info")) { sender.sendMessage(Main.NO_PERM_MSG); return true; } if (args.length == 0) { sender.sendMessage(Main.PREFIX + "Usage: /info <player>"); return true; } File folder = new File(plugin.getDataFolder() + File.separator + "users" + File.separator); boolean found = false; OfflinePlayer target = PlayerUtils.getOfflinePlayer(args[0]); if (folder.exists()) { for (File file : folder.listFiles()) { if (file.getName().substring(0, file.getName().length() - 4).equals(target.getUniqueId().toString())) { found = true; break; } } } if (!found) { return true; } TimeZone.setDefault(TimeZone.getTimeZone("UTC")); User user = User.get(target); long lastlogout = user.getFile().getLong("lastlogout", -1l); BanList list = Bukkit.getBanList(Type.NAME); BanEntry entry = list.getBanEntry(target.getName()); sender.sendMessage(Main.PREFIX + "Info about �6" + target.getName() + "�8:"); sender.sendMessage("�8� �7Status: �6" + (target.getPlayer() == null ? "�cNot online" : "�aOnline")); sender.sendMessage("�8� �7UUID: �6" + user.getFile().getString("uuid")); if (sender.hasPermission("uhc.info.ip")) { sender.sendMessage("�8� �7IP: �6" + user.getFile().getString("ip")); } else { sender.sendMessage("�8� �7IP: �6�m###.##.##.###"); } sender.sendMessage("�8�----------------------------�"); sender.sendMessage("�8� �7First Joined: �6" + new Date(user.getFile().getLong("firstjoined"))); sender.sendMessage("�8� �7Last login: �6" + DateUtils.formatDateDiff(user.getFile().getLong("lastlogin"))); sender.sendMessage("�8� �7Last logout: �6" + (lastlogout == -1l ? "�cHasn't logged out" : DateUtils.formatDateDiff(lastlogout))); sender.sendMessage("�8�----------------------------�"); sender.sendMessage("�8� �7Banned: �6" + (list.isBanned(target.getName()) ? "�aTrue�7, Reason: �6" + entry.getReason() : "�cFalse")); sender.sendMessage("�8� �7Muted: �6" + (user.isMuted() ? "�aTrue�7, Reason: �6" + user.getMutedReason() : "�cFalse")); sender.sendMessage("�8�----------------------------�"); return true; } }