Upload folder via GUI - src

This commit is contained in:
Git Manager GUI
2026-04-04 18:47:34 +02:00
parent 045a5f2b1b
commit 95b0e2f971
5 changed files with 87 additions and 8 deletions

View File

@@ -204,18 +204,55 @@ public class NexusLobby extends JavaPlugin implements Listener {
private void checkUpdates() {
new UpdateChecker(this).getVersion(version -> {
if (!this.getDescription().getVersion().equalsIgnoreCase(version)) {
String currentVersion = this.getDescription().getVersion();
if (isRemoteVersionNewer(currentVersion, version)) {
this.updateAvailable = true;
this.latestVersion = version;
getLogger().warning("====================================================");
getLogger().warning("Update gefunden! v" + getDescription().getVersion() + " -> v" + version);
getLogger().warning("Update gefunden! v" + currentVersion + " -> v" + version);
getLogger().warning("====================================================");
} else {
getLogger().info("NexusLobby ist aktuell (v" + version + ").");
this.updateAvailable = false;
this.latestVersion = "";
getLogger().info("NexusLobby ist aktuell/neu genug (lokal v" + currentVersion + ", remote v" + version + ").");
}
});
}
private boolean isRemoteVersionNewer(String localVersion, String remoteVersion) {
int[] local = extractVersionNumbers(localVersion);
int[] remote = extractVersionNumbers(remoteVersion);
int max = Math.max(local.length, remote.length);
for (int i = 0; i < max; i++) {
int l = i < local.length ? local[i] : 0;
int r = i < remote.length ? remote[i] : 0;
if (r > l) return true;
if (r < l) return false;
}
return false;
}
private int[] extractVersionNumbers(String version) {
if (version == null || version.isBlank()) return new int[0];
java.util.regex.Matcher matcher = java.util.regex.Pattern.compile("\\\\d+").matcher(version);
java.util.List<Integer> parts = new java.util.ArrayList<>();
while (matcher.find()) {
try {
parts.add(Integer.parseInt(matcher.group()));
} catch (NumberFormatException ignored) {
parts.add(0);
}
}
int[] result = new int[parts.size()];
for (int i = 0; i < parts.size(); i++) {
result[i] = parts.get(i);
}
return result;
}
private void registerModules() {
moduleManager.registerModule(new ProtectionModule());
moduleManager.registerModule(new ScoreboardModule());