summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMinenash <minenash@protonmail.com>2018-12-15 21:44:19 -0500
committerMinenash <minenash@protonmail.com>2018-12-15 21:44:19 -0500
commit7da2a0a87bb35f250204d831c660e7ed7fd24d48 (patch)
tree8f230d9e6e86a7760beabf62abeae8ebf7bf1649
parent08f41a9b088050ef6d928ab441fa293622099b18 (diff)
Added /ipinfo
-rw-r--r--src/main/java/com/redstoner/modules/check/Check.cmd8
-rw-r--r--src/main/java/com/redstoner/modules/check/Check.java34
2 files changed, 36 insertions, 6 deletions
diff --git a/src/main/java/com/redstoner/modules/check/Check.cmd b/src/main/java/com/redstoner/modules/check/Check.cmd
index 87cadbd..1fd7d0d 100644
--- a/src/main/java/com/redstoner/modules/check/Check.cmd
+++ b/src/main/java/com/redstoner/modules/check/Check.cmd
@@ -5,4 +5,12 @@ command check {
run checkCommand player;
help Get info on a player;
}
+}
+command ipinfo {
+ perm utils.check;
+
+ [string:ip] {
+ run ipinfo ip;
+ help Get the info about the given IP.;
+ }
} \ No newline at end of file
diff --git a/src/main/java/com/redstoner/modules/check/Check.java b/src/main/java/com/redstoner/modules/check/Check.java
index 17401de..b654869 100644
--- a/src/main/java/com/redstoner/modules/check/Check.java
+++ b/src/main/java/com/redstoner/modules/check/Check.java
@@ -2,11 +2,9 @@ package com.redstoner.modules.check;
import java.io.IOException;
import java.io.InputStreamReader;
-import java.io.Serializable;
import java.net.URL;
import java.text.SimpleDateFormat;
import java.util.Date;
-import java.util.Map;
import java.util.Scanner;
import java.util.concurrent.ExecutionException;
@@ -16,7 +14,6 @@ import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer;
import org.bukkit.command.CommandSender;
import org.bukkit.event.Listener;
-import org.bukkit.scheduler.BukkitScheduler;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
@@ -29,7 +26,6 @@ import com.redstoner.annotations.Version;
import com.redstoner.coremods.moduleLoader.ModuleLoader;
import com.redstoner.misc.CommandHolderType;
import com.redstoner.misc.Main;
-import com.redstoner.misc.mysql.JSONManager;
import com.redstoner.misc.mysql.MysqlHandler;
import com.redstoner.misc.mysql.elements.ConstraintOperator;
import com.redstoner.misc.mysql.elements.MysqlConstraint;
@@ -106,6 +102,28 @@ public class Check implements Module, Listener {
}
}
}
+
+ @Command(hook = "ipinfo", async = AsyncType.ALWAYS)
+ public void ipinfo(final CommandSender sender, final String ip) {
+ String[] info = getIpInfo(ip);
+
+ Message msg = new Message(sender, null);
+
+ if (info == null) {
+ msg.appendText("\n&6> &cData Unavailable");
+ } else {
+ String region = info[1];
+ String asn = info[2];
+ String org = info[3];
+
+ msg.appendText("\n&6> IP: ").appendSuggestHover("&e" + ip, ip, "Click to copy!");
+ msg.appendText("\n&6> Region: ").appendSuggestHover("&e" + region, region, "Click to copy!");
+ 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.send();
+ }
public String read(URL url) {
String data = "";
@@ -126,8 +144,7 @@ public class Check implements Module, Listener {
public String[] getIpInfo(OfflinePlayer player) {
String ip = "";
- String[] info = new String[4];
-
+
if (player.isOnline()) {
ip = player.getPlayer().getAddress().getHostString();
} else if (table != null) {
@@ -139,6 +156,11 @@ public class Check implements Module, Listener {
} else {
return null;
}
+ return getIpInfo(ip);
+ }
+
+ public String[] getIpInfo(String ip) {
+ String[] info = new String[4];
try {
URL ipinfo = new URL("https://ipapi.co/" + ip + "/json");