Updated the update checker so it uses bukkit as well (ew)
This commit is contained in:
parent
8535ccf2dd
commit
01dd3ef587
@ -51,8 +51,8 @@ public class ReflectionManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static String bukkitVersion = Bukkit.getServer().getClass().getName().split("\\.")[3];
|
private static String bukkitVersion = Bukkit.getServer().getClass().getName().split("\\.")[3];
|
||||||
private static Class itemClass;
|
|
||||||
private static Method damageAndIdleSoundMethod;
|
private static Method damageAndIdleSoundMethod;
|
||||||
|
private static Class itemClass;
|
||||||
|
|
||||||
static {
|
static {
|
||||||
for (Method method : getNmsClass("EntityLiving").getDeclaredMethods()) {
|
for (Method method : getNmsClass("EntityLiving").getDeclaredMethods()) {
|
||||||
|
@ -1,12 +1,16 @@
|
|||||||
package me.libraryaddict.disguise.utilities;
|
package me.libraryaddict.disguise.utilities;
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.InputStreamReader;
|
import java.io.InputStreamReader;
|
||||||
import java.net.HttpURLConnection;
|
import java.net.HttpURLConnection;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
|
import java.net.URLConnection;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
|
import org.json.simple.JSONArray;
|
||||||
|
import org.json.simple.JSONObject;
|
||||||
|
import org.json.simple.JSONValue;
|
||||||
|
|
||||||
public class UpdateChecker {
|
public class UpdateChecker {
|
||||||
private String latestVersion;
|
private String latestVersion;
|
||||||
|
|
||||||
@ -16,34 +20,66 @@ public class UpdateChecker {
|
|||||||
return current.compareTo(newVers) < 0;
|
return current.compareTo(newVers) < 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void checkUpdate(String currentVersion) throws Exception {
|
public void checkUpdate(String currentVersion) {
|
||||||
String version = getVersion("98BE0FE67F88AB82B4C197FAF1DC3B69206EFDCC4D3B80FC83A00037510B99B4", 81);
|
String version = getSpigotVersion();
|
||||||
if (checkHigher(currentVersion, version))
|
if (version == null) {
|
||||||
|
version = getBukkitVersion();
|
||||||
|
}
|
||||||
|
if (checkHigher(currentVersion, version)) {
|
||||||
latestVersion = version;
|
latestVersion = version;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Asks bukkit for the version
|
||||||
|
*/
|
||||||
|
private String getBukkitVersion() {
|
||||||
|
try {
|
||||||
|
URLConnection conn = new URL("https://api.curseforge.com/servermods/files?projectIds=72490").openConnection();
|
||||||
|
conn.addRequestProperty("User-Agent", "Lib's Disguises Update Checker");
|
||||||
|
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
|
||||||
|
JSONArray array = (JSONArray) JSONValue.parse(reader.readLine());
|
||||||
|
if (!array.isEmpty()) {
|
||||||
|
JSONObject latest = (JSONObject) array.get(array.size() - 1);
|
||||||
|
String version = (String) latest.get("name");
|
||||||
|
version = version.substring(version.lastIndexOf(" ") + 1);
|
||||||
|
if (version.length() <= 7) {
|
||||||
|
return version;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.print("[LibsDisguises] Failed to check for a update on bukkit.");
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getLatestVersion() {
|
public String getLatestVersion() {
|
||||||
return latestVersion;
|
return latestVersion;
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getVersion(String key, int resourceId) {
|
/**
|
||||||
String version = null;
|
* Asks spigot for the version
|
||||||
|
*/
|
||||||
|
private String getSpigotVersion() {
|
||||||
try {
|
try {
|
||||||
HttpURLConnection con = (HttpURLConnection) new URL("http://www.spigotmc.org/api/general.php").openConnection();
|
HttpURLConnection con = (HttpURLConnection) new URL("http://www.spigotmc.org/api/general.php").openConnection();
|
||||||
con.setDoOutput(true);
|
con.setDoOutput(true);
|
||||||
con.setRequestMethod("POST");
|
con.setRequestMethod("POST");
|
||||||
con.getOutputStream().write(("key=" + key + "&resource=" + resourceId).getBytes("UTF-8"));
|
con.getOutputStream().write(
|
||||||
version = new BufferedReader(new InputStreamReader(con.getInputStream())).readLine();
|
("key=98BE0FE67F88AB82B4C197FAF1DC3B69206EFDCC4D3B80FC83A00037510B99B4&resource=81").getBytes("UTF-8"));
|
||||||
if (version.length() > 7) {
|
String version = new BufferedReader(new InputStreamReader(con.getInputStream())).readLine();
|
||||||
version = null;
|
if (version.length() <= 7) {
|
||||||
|
return version;
|
||||||
}
|
}
|
||||||
} catch (IOException ex) {
|
} catch (Exception ex) {
|
||||||
|
System.out.print("[LibsDisguises] Failed to check for a update on spigot. Now checking bukkit..");
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
}
|
}
|
||||||
return version;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String toReadable(String version) {
|
private String toReadable(String version) {
|
||||||
String[] split = Pattern.compile(".", Pattern.LITERAL).split(version.replace("v", ""));
|
String[] split = Pattern.compile(".", Pattern.LITERAL).split(version.replace("v", ""));
|
||||||
version = "";
|
version = "";
|
||||||
for (String s : split)
|
for (String s : split)
|
||||||
|
Loading…
Reference in New Issue
Block a user