9
0
mirror of https://github.com/WiIIiam278/HuskSync.git synced 2025-12-27 18:49:11 +00:00

Migrate to DesertWell for about menu, version checking

This commit is contained in:
William278
2022-09-10 19:52:34 +03:00
parent 61020e04d9
commit 59a0002c16
12 changed files with 101 additions and 213 deletions

View File

@@ -1,5 +1,6 @@
package net.william278.husksync;
import net.william278.desertwell.UpdateChecker;
import net.william278.husksync.config.Locales;
import net.william278.husksync.config.Settings;
import net.william278.husksync.data.DataAdapter;
@@ -11,7 +12,7 @@ import net.william278.husksync.player.OnlineUser;
import net.william278.husksync.redis.RedisManager;
import net.william278.husksync.util.Logger;
import net.william278.husksync.util.ResourceReader;
import net.william278.husksync.util.Version;
import net.william278.desertwell.Version;
import org.jetbrains.annotations.NotNull;
import java.util.List;
@@ -25,6 +26,8 @@ import java.util.concurrent.CompletableFuture;
*/
public interface HuskSync {
int SPIGOT_RESOURCE_ID = 97144;
/**
* Returns a set of online players.
*
@@ -131,6 +134,22 @@ public interface HuskSync {
@NotNull
Version getPluginVersion();
/**
* Returns a future returning the latest plugin {@link Version} if the plugin is out-of-date
*
* @return a {@link CompletableFuture} returning the latest {@link Version} if the current one is out-of-date
*/
default CompletableFuture<Optional<Version>> getLatestVersionIfOutdated() {
final UpdateChecker updateChecker = UpdateChecker.create(getPluginVersion(), SPIGOT_RESOURCE_ID);
return updateChecker.isUpToDate().thenApply(upToDate -> {
if (upToDate) {
return Optional.empty();
} else {
return Optional.of(updateChecker.getLatestVersion().join());
}
});
}
/**
* Returns the Minecraft version implementation
*