Fix version checker to compare the individual semver numbers instead of combining it together.

This commit is contained in:
Starmism 2021-06-30 05:05:18 -06:00
parent f5386d4ca5
commit ef5cd9d376

View File

@ -23,6 +23,7 @@ package me.clip.placeholderapi.updatechecker;
import java.io.BufferedReader; import java.io.BufferedReader;
import java.io.InputStreamReader; import java.io.InputStreamReader;
import java.net.URL; import java.net.URL;
import java.util.Arrays;
import javax.net.ssl.HttpsURLConnection; import javax.net.ssl.HttpsURLConnection;
import me.clip.placeholderapi.PlaceholderAPIPlugin; import me.clip.placeholderapi.PlaceholderAPIPlugin;
import me.clip.placeholderapi.util.Msg; import me.clip.placeholderapi.util.Msg;
@ -90,17 +91,22 @@ public class UpdateChecker implements Listener {
return false; return false;
} }
String plV = toReadable(pluginVersion); int[] plV = toReadable(pluginVersion);
String spV = toReadable(spigotVersion); int[] spV = toReadable(spigotVersion);
return plV.compareTo(spV) < 0;
if (plV[0] < spV[0]) {
return true;
} else if ((plV[1] < spV[1])) {
return true;
} else return plV[2] < spV[2];
} }
private String toReadable(String version) { private int[] toReadable(String version) {
if (version.contains("-DEV-")) { if (version.contains("-DEV")) {
version = version.split("-DEV-")[0]; version = version.split("-DEV")[0];
} }
return version.replaceAll("\\.", ""); return Arrays.stream(version.split("\\.")).mapToInt(Integer::parseInt).toArray();
} }
@EventHandler(priority = EventPriority.MONITOR) @EventHandler(priority = EventPriority.MONITOR)