v2.0.2 - Improve reloading and cleaning up of BungeeCord plugins.

- Cleanup PluginClassLoader properly
- Cancel plugin tasks properly
- Fixed automatic updater on bungee
This commit is contained in:
Frank van der Heijden 2020-07-05 21:59:26 +02:00
parent f728c3e6bb
commit 584ce8be4d
No known key found for this signature in database
GPG key ID: 26DA56488D314D11
5 changed files with 53 additions and 16 deletions

View file

@ -9,9 +9,14 @@ import net.frankheijden.serverutils.bungee.entities.BungeePlugin;
import net.frankheijden.serverutils.bungee.entities.BungeeReflection;
import net.frankheijden.serverutils.bungee.listeners.BungeeListener;
import net.frankheijden.serverutils.bungee.managers.BungeePluginManager;
import net.frankheijden.serverutils.bungee.reflection.RPluginClassLoader;
import net.frankheijden.serverutils.bungee.reflection.RPluginManager;
import net.frankheijden.serverutils.common.ServerUtilsApp;
import net.frankheijden.serverutils.common.config.Config;
import net.frankheijden.serverutils.common.config.Messenger;
import net.frankheijden.serverutils.common.entities.CloseableResult;
import net.frankheijden.serverutils.common.entities.Result;
import net.frankheijden.serverutils.common.utils.MapUtils;
import net.md_5.bungee.api.plugin.Plugin;
import org.bstats.bungeecord.Metrics;
@ -47,9 +52,20 @@ public class ServerUtils extends Plugin {
reload();
getProxy().getPluginManager().registerListener(this, new BungeeListener());
loadClasses();
ServerUtilsApp.tryCheckForUpdates();
}
/**
* Loads some classes in memory so they're available during updating.
*/
private void loadClasses() {
new RPluginManager();
new MapUtils();
new CloseableResult(Result.SUCCESS);
new RPluginClassLoader();
}
public static ServerUtils getInstance() {
return instance;
}