9
0
mirror of https://github.com/WiIIiam278/HuskSync.git synced 2025-12-26 01:59:20 +00:00

Edit: fix UpdateChecker version check;

Add: version utils;
This commit is contained in:
Harvels X
2022-01-31 20:03:24 +03:00
parent 3c50245540
commit 28c14ed393
3 changed files with 73 additions and 32 deletions

View File

@@ -1,6 +1,7 @@
package me.william278.husksync.bukkit.util.nms;
import me.william278.husksync.util.ThrowSupplier;
import me.william278.husksync.util.VersionUtils;
import org.bukkit.Bukkit;
public class MinecraftVersionUtils {
@@ -8,27 +9,10 @@ public class MinecraftVersionUtils {
public final static String CRAFTBUKKIT_PACKAGE_PATH = Bukkit.getServer().getClass().getPackage().getName();
public final static String PACKAGE_VERSION = CRAFTBUKKIT_PACKAGE_PATH.split("\\.")[3];
public final static String MINECRAFT_PACKAGE = compare("1.17") < 0 ?
public final static VersionUtils.Version SERVER_VERSION
= VersionUtils.Version.of(Bukkit.getBukkitVersion().split("-")[0]);
public final static String MINECRAFT_PACKAGE = SERVER_VERSION.compareTo(VersionUtils.Version.of("1.17")) < 0 ?
"net.minecraft.server.".concat(PACKAGE_VERSION) : "net.minecraft.server";
public final static String SERVER_VERSION = Bukkit.getBukkitVersion().split("-")[0];
public static int compare(String version) {
if (version == null || SERVER_VERSION == null) return 1;
String[] as = SERVER_VERSION.split("\\.");
String[] bs = version.split("\\.");
int length = Math.max(as.length, bs.length);
for (int i = 0; i < length; i++) {
int a = i < as.length ? Integer.parseInt(as[i]) : 0;
int b = i < bs.length ? Integer.parseInt(bs[i]) : 0;
if (a < b) return -1;
if (a > b) return 1;
}
return 0;
}
public static Class<?> getBukkitClass(String path) {
return ThrowSupplier.get(() -> Class.forName(CRAFTBUKKIT_PACKAGE_PATH.concat(".").concat(path)));