diff --git a/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/managers/BukkitTaskManager.java b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/managers/BukkitTaskManager.java index f6a3513..3438ea8 100644 --- a/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/managers/BukkitTaskManager.java +++ b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/managers/BukkitTaskManager.java @@ -6,6 +6,11 @@ import org.bukkit.Bukkit; public class BukkitTaskManager extends AbstractTaskManager { + @Override + public void runTask(Runnable runnable) { + Bukkit.getScheduler().runTask(ServerUtils.getInstance(), runnable); + } + @Override public void runTaskAsynchronously(Runnable runnable) { Bukkit.getScheduler().runTaskAsynchronously(ServerUtils.getInstance(), runnable); diff --git a/Bungee/src/main/java/net/frankheijden/serverutils/bungee/managers/BungeeTaskManager.java b/Bungee/src/main/java/net/frankheijden/serverutils/bungee/managers/BungeeTaskManager.java index f21a09b..b4ee301 100644 --- a/Bungee/src/main/java/net/frankheijden/serverutils/bungee/managers/BungeeTaskManager.java +++ b/Bungee/src/main/java/net/frankheijden/serverutils/bungee/managers/BungeeTaskManager.java @@ -6,6 +6,11 @@ import net.md_5.bungee.api.ProxyServer; public class BungeeTaskManager extends AbstractTaskManager { + @Override + public void runTask(Runnable runnable) { + runTaskAsynchronously(runnable); + } + @Override public void runTaskAsynchronously(Runnable runnable) { ProxyServer.getInstance().getScheduler().runAsync(ServerUtils.getInstance(), runnable); diff --git a/Common/src/main/java/net/frankheijden/serverutils/common/managers/AbstractTaskManager.java b/Common/src/main/java/net/frankheijden/serverutils/common/managers/AbstractTaskManager.java index 7844677..533d0de 100644 --- a/Common/src/main/java/net/frankheijden/serverutils/common/managers/AbstractTaskManager.java +++ b/Common/src/main/java/net/frankheijden/serverutils/common/managers/AbstractTaskManager.java @@ -2,5 +2,7 @@ package net.frankheijden.serverutils.common.managers; public abstract class AbstractTaskManager { + public abstract void runTask(Runnable runnable); + public abstract void runTaskAsynchronously(Runnable runnable); } diff --git a/Common/src/main/java/net/frankheijden/serverutils/common/tasks/UpdateCheckerTask.java b/Common/src/main/java/net/frankheijden/serverutils/common/tasks/UpdateCheckerTask.java index 46f4ba8..b5ef68c 100644 --- a/Common/src/main/java/net/frankheijden/serverutils/common/tasks/UpdateCheckerTask.java +++ b/Common/src/main/java/net/frankheijden/serverutils/common/tasks/UpdateCheckerTask.java @@ -176,15 +176,17 @@ public class UpdateCheckerTask implements Runnable { } private void tryReloadPlugin() { - String downloadedVersion = versionManager.getDownloadedVersion(); + plugin.getTaskManager().runTask(() -> { + String downloadedVersion = versionManager.getDownloadedVersion(); - if (isStartupCheck()) { - plugin.getLogger().info(String.format(DOWNLOADED_RESTART, downloadedVersion)); - plugin.getPluginManager().reloadPlugin((Object)ServerUtilsApp.getPlatformPlugin()); - plugin.getLogger().info(String.format(UPGRADE_SUCCESS, downloadedVersion)); - } else { - broadcastDownloadStatus(downloadedVersion, false); - } + if (isStartupCheck()) { + plugin.getLogger().info(String.format(DOWNLOADED_RESTART, downloadedVersion)); + plugin.getPluginManager().reloadPlugin((Object)ServerUtilsApp.getPlatformPlugin()); + plugin.getLogger().info(String.format(UPGRADE_SUCCESS, downloadedVersion)); + } else { + broadcastDownloadStatus(downloadedVersion, false); + } + }); } private void broadcastDownloadStatus(String githubVersion, boolean isError) {