Update on sync thread where possible

This commit is contained in:
Frank van der Heijden 2020-07-20 02:06:28 +02:00
parent 71b6a5fa02
commit 6c8a93dc1b
No known key found for this signature in database
GPG key ID: 26DA56488D314D11
4 changed files with 22 additions and 8 deletions

View file

@ -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);

View file

@ -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);

View file

@ -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);
}

View file

@ -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) {