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:
@@ -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)));
|
||||
|
||||
Reference in New Issue
Block a user