diff options
author | David Panić <david@panic.tk> | 2018-11-10 22:42:49 +0100 |
---|---|---|
committer | David Panić <david@panic.tk> | 2018-11-10 22:42:49 +0100 |
commit | 0b1c2c69fd0a991ef515ded68eb19163df002a70 (patch) | |
tree | c5c77ac8b5d3f5ff67dafd71c427375090c263c0 /src/main/java/com/redstoner/modules/check | |
parent | fe80557b8a7df5c1d03874931f76e6d88173d302 (diff) |
Code cleanup batch 1
Diffstat (limited to 'src/main/java/com/redstoner/modules/check')
-rw-r--r-- | src/main/java/com/redstoner/modules/check/Check.java | 255 |
1 files changed, 115 insertions, 140 deletions
diff --git a/src/main/java/com/redstoner/modules/check/Check.java b/src/main/java/com/redstoner/modules/check/Check.java index 29f5754..9c599bc 100644 --- a/src/main/java/com/redstoner/modules/check/Check.java +++ b/src/main/java/com/redstoner/modules/check/Check.java @@ -37,235 +37,210 @@ import net.nemez.chatapi.click.Message; @Commands(CommandHolderType.File) @Version(major = 4, minor = 2, revision = 0, compatible = 4) -public class Check implements Module, Listener -{ +public class Check implements Module, Listener { MysqlTable table; - + @Override - public boolean onEnable() - { + public boolean onEnable() { Map<Serializable, Serializable> config = JSONManager.getConfiguration("check.json"); - if (config == null || !config.containsKey("database") || !config.containsKey("table")) - { + + if (config == null || !config.containsKey("database") || !config.containsKey("table")) { getLogger().error("Could not load the Check config file, disabling!"); return false; } - try - { - MysqlDatabase database = MysqlHandler.INSTANCE - .getDatabase((String) config.get("database") + "?autoReconnect=true"); + + try { + MysqlDatabase database = MysqlHandler.INSTANCE.getDatabase((String) config.get("database") + "?autoReconnect=true"); table = database.getTable((String) config.get("table")); - } - catch (NullPointerException e) - { + } catch (NullPointerException e) { getLogger().error("Could not use the Check config, disabling!"); return false; } + return true; } - - + @Override - public void postEnable() - { + public void postEnable() { CommandManager.registerCommand(getCommandString(), this, Main.plugin); } - + @SuppressWarnings("deprecation") @Command(hook = "checkCommand", async = AsyncType.ALWAYS) - public void checkCommand(final CommandSender sender, final String player) - { - OfflinePlayer oPlayer; - oPlayer = Bukkit.getPlayer(player); - if (oPlayer == null) - oPlayer = Bukkit.getServer().getOfflinePlayer(player); + public void checkCommand(final CommandSender sender, final String player) { + OfflinePlayer oPlayer = Bukkit.getPlayer(player); + if (oPlayer == null) oPlayer = Bukkit.getServer().getOfflinePlayer(player); + sendData(sender, oPlayer); - if (ModuleLoader.exists("Tag")) - Bukkit.dispatchCommand(sender, "tag check " + player); + + if (ModuleLoader.exists("Tag")) Bukkit.dispatchCommand(sender, "tag check " + player); } - - public String read(URL url) - { + + public String read(URL url) { String data = ""; - try - { + + try { Scanner in = new Scanner(new InputStreamReader(url.openStream())); - while (in.hasNextLine()) - { + + while (in.hasNextLine()) { data += in.nextLine(); } + in.close(); return data; - } - catch (IOException e) - {} + } catch (IOException e) {} + return null; } - - public String[] getIpInfo(OfflinePlayer player) - { + + public String[] getIpInfo(OfflinePlayer player) { String ip = ""; String[] info = new String[4]; - - if (player.isOnline()) - { + + if (player.isOnline()) { ip = player.getPlayer().getAddress().getHostString(); - } - else - { - try - { - ip = (String) table.get("last_ip", new MysqlConstraint("uuid", ConstraintOperator.EQUAL, - player.getUniqueId().toString().replace("-", "")))[0]; - } - catch (Exception e) - { + } else { + try { + ip = (String) table.get("last_ip", new MysqlConstraint("uuid", ConstraintOperator.EQUAL, player.getUniqueId().toString().replace("-", "")))[0]; + } catch (Exception e) { return null; } } - try - { + + try { URL ipinfo = new URL("https://ipapi.co/" + ip + "/json"); - JSONObject json = (JSONObject) new JSONParser().parse( read(ipinfo) ); - + JSONObject json = (JSONObject) new JSONParser().parse(read(ipinfo)); + info[0] = ip; - + Object o_country = json.get("country_name"); Object o_region = json.get("region"); Object o_asn = json.get("asn"); Object o_org = json.get("org"); - - String country = o_country == null? "Unknown" : (String) o_country; - String region = o_region == null? "" : ", " + (String) o_region; - String asn = o_asn == null? "Unknown" : (String) o_asn; - String org = o_org == null? "Unknown" : (String) o_org; - - info[1] = country.equals("")? "Unknown" : country + (region.equals(", ")? "" : region); - info[3] = asn.equals("")? "Unknown" : asn; - info[4] = org.equals("")? "Unknown" : org; + + String country = o_country == null ? "Unknown" : (String) o_country; + String region = o_region == null ? "" : ", " + (String) o_region; + String asn = o_asn == null ? "Unknown" : (String) o_asn; + String org = o_org == null ? "Unknown" : (String) o_org; + + info[1] = country.equals("") ? "Unknown" : country + (region.equals(", ") ? "" : region); + info[3] = asn.equals("") ? "Unknown" : asn; + info[4] = org.equals("") ? "Unknown" : org; + return info; + } catch (Exception e) { + e.printStackTrace(); } - catch (Exception e) - {e.printStackTrace();} + return null; } - - public String getFirstJoin(OfflinePlayer player) - { + + public String getFirstJoin(OfflinePlayer player) { Long firstJoin = player.getFirstPlayed(); Date date = new Date(firstJoin); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + return format.format(date); } - - public String getLastSeen(OfflinePlayer player) - { + + public String getLastSeen(OfflinePlayer player) { Long lastSeen = player.getLastPlayed(); Date date = new Date(lastSeen); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + return format.format(date); } - - public Object[] getWebsiteData(OfflinePlayer player) - { - MysqlConstraint constraint = new MysqlConstraint("uuid", ConstraintOperator.EQUAL, - player.getUniqueId().toString().replace("-", "")); - try - { + + public Object[] getWebsiteData(OfflinePlayer player) { + MysqlConstraint constraint = new MysqlConstraint("uuid", ConstraintOperator.EQUAL, player.getUniqueId().toString().replace("-", "")); + + try { int id = (int) table.get("id", constraint)[0]; String email = (String) table.get("email", constraint)[0]; boolean confirmed = (boolean) table.get("confirmed", constraint)[0]; - return new Object[] {"https://redstoner.com/users/" + id, email, confirmed}; - } - catch (Exception e) - { - try - { + + return new Object[] { "https://redstoner.com/users/" + id, email, confirmed }; + } catch (Exception e) { + try { int id = (int) table.get("id", constraint)[0]; String email = (String) table.get("email", constraint)[0]; boolean confirmed = (boolean) table.get("confirmed", constraint)[0]; - return new Object[] {"https://redstoner.com/users/" + id, email, confirmed}; - } - catch (Exception e2) - {} - return new Object[] {null}; - + + return new Object[] { "https://redstoner.com/users/" + id, email, confirmed }; + } catch (Exception e2) {} + + return new Object[] { null }; } } - - public String getAllNames(OfflinePlayer player) - { + + public String getAllNames(OfflinePlayer player) { String uuid = player.getUniqueId().toString().replace("-", ""); String nameString = ""; - try - { + + try { String rawJson = read(new URL("https://api.mojang.com/user/profiles/" + uuid + "/names")); JSONArray names = (JSONArray) new JSONParser().parse(rawJson); - for (Object obj : names) - { + + for (Object obj : names) { nameString += "&e" + ((JSONObject) obj).get("name") + "&7, "; } + nameString = nameString.substring(0, nameString.length() - 2); return nameString; - } - catch (Exception e) - {} + } catch (Exception e) {} + return "None"; } - - public void sendData(CommandSender sender, OfflinePlayer player) - { - try - { + + public void sendData(CommandSender sender, OfflinePlayer player) { + try { // data String uuid = player.getUniqueId().toString(); + String firstJoin = getFirstJoin(player); String lastSeen = getLastSeen(player); firstJoin = (firstJoin.equals("1970-01-01 01:00")) ? "&eNever" : "&7(yyyy-MM-dd hh:mm) &e" + firstJoin; lastSeen = (lastSeen.equals("1970-1-1 01:00")) ? "&eNever" : "&7(yyyy-MM-dd hh:mm) &e" + lastSeen; - + Object[] websiteData = getWebsiteData(player); String websiteUrl = (websiteData[0] == null) ? "None" : (String) websiteData[0]; String email = (websiteData[0] == null) ? "Unknown" : (String) websiteData[1]; boolean emailNotConfirmed = (websiteData[0] == null) ? false : !((boolean) websiteData[2]); - + String[] ipInfo = getIpInfo(player); - + String namesUsed = getAllNames(player); - - // messages - Message msg = new Message(sender, null) - .appendText("\n" + getLogger().getHeader()) - .appendText("\n&7Data provided by redstoner:") - .appendText("\n&6> UUID: ").appendSuggestHover("&e" + uuid, uuid, "Click to copy!") - .appendText("\n&6> First joined: &e" + firstJoin) - .appendText("\n&6> Last Seen: &e" + lastSeen) - .appendText("\n&6> Website account: &e").appendLink(websiteUrl, websiteUrl) - .appendText("\n&6> Email: &e" + (emailNotConfirmed ? "\n&6> &cEmail NOT Confirmed!" : "")) - .appendSuggestHover("&e" + email, email, "Click to copy!") - .appendText("\n\n&7Data provided by ipapi.co:"); - - if (ipInfo == null) + + // messages + Message msg = new Message(sender, null); + + msg.appendText("\n" + getLogger().getHeader()); + msg.appendText("\n&7Data provided by redstoner:"); + msg.appendText("\n&6> UUID: ").appendSuggestHover("&e" + uuid, uuid, "Click to copy!"); + msg.appendText("\n&6> First joined: &e" + firstJoin); + msg.appendText("\n&6> Last Seen: &e" + lastSeen); + msg.appendText("\n&6> Website account: &e").appendLink(websiteUrl, websiteUrl); + msg.appendText("\n&6> Email: &e" + (emailNotConfirmed ? "\n&6> &cEmail NOT Confirmed!" : "")).appendSuggestHover("&e" + email, email, "Click to copy!"); + msg.appendText("\n\n&7Data provided by ipapi.co:"); + + if (ipInfo == null) { msg.appendText("\n&6> &cData Unavailable"); - else - { + } else { String ip = ipInfo[0]; String region = ipInfo[1]; String asn = ipInfo[2]; String org = ipInfo[3]; - - msg.appendText("\n&6> IP: ").appendSuggestHover("&e" + ip, ip, "Click to copy!") - .appendText("\n&6> Region: " + region) - .appendText("\n&6> ASN: ").appendSuggestHover("&e" + asn, asn, "Click to copy!") - .appendText("\n&6> Org: ").appendSuggestHover("&e" + org, org, "Click to copy!"); + + msg.appendText("\n&6> IP: ").appendSuggestHover("&e" + ip, ip, "Click to copy!"); + msg.appendText("\n&6> Region: " + region); + msg.appendText("\n&6> ASN: ").appendSuggestHover("&e" + asn, asn, "Click to copy!"); + msg.appendText("\n&6> Org: ").appendSuggestHover("&e" + org, org, "Click to copy!"); } - - msg.appendText("\n\n&7Data provided by mojang:") - .appendText("\n&6> All ingame names used so far: &e" + namesUsed) - .send(); - } - catch (Exception e) - { + + msg.appendText("\n\n&7Data provided by mojang:"); + msg.appendText("\n&6> All ingame names used so far: &e" + namesUsed); + msg.send(); + } catch (Exception e) { getLogger().message(sender, true, "Sorry, something went wrong while fetching data"); e.printStackTrace(); } |