Disable plugins before unloading 👀

This commit is contained in:
Frank van der Heijden 2021-10-14 15:57:10 +02:00
parent d2a6533c67
commit 4707ed1058
No known key found for this signature in database
GPG key ID: B808721C2DD5B5B8

View file

@ -20,6 +20,7 @@ import net.frankheijden.serverutils.common.config.ConfigResource;
import net.frankheijden.serverutils.common.config.MessageKey; import net.frankheijden.serverutils.common.config.MessageKey;
import net.frankheijden.serverutils.common.config.MessagesResource; import net.frankheijden.serverutils.common.config.MessagesResource;
import net.frankheijden.serverutils.common.entities.results.CloseablePluginResults; import net.frankheijden.serverutils.common.entities.results.CloseablePluginResults;
import net.frankheijden.serverutils.common.entities.results.PluginResults;
import net.frankheijden.serverutils.common.managers.AbstractPluginManager; import net.frankheijden.serverutils.common.managers.AbstractPluginManager;
import net.frankheijden.serverutils.common.managers.AbstractTaskManager; import net.frankheijden.serverutils.common.managers.AbstractTaskManager;
import net.frankheijden.serverutils.common.managers.UpdateManager; import net.frankheijden.serverutils.common.managers.UpdateManager;
@ -119,6 +120,12 @@ public abstract class ServerUtilsPlugin<P, T, C extends ServerUtilsAudience<S>,
if (plugins.isEmpty()) return; if (plugins.isEmpty()) return;
PluginResults<P> disableResults = getPluginManager().disablePlugins(plugins);
if (!disableResults.isSuccess()) {
disableResults.sendTo(getChatProvider().getConsoleServerAudience(), null);
return;
}
CloseablePluginResults<P> unloadResults = getPluginManager().unloadPlugins(plugins); CloseablePluginResults<P> unloadResults = getPluginManager().unloadPlugins(plugins);
unloadResults.tryClose(); unloadResults.tryClose();
unloadResults.sendTo(getChatProvider().getConsoleServerAudience(), MessageKey.UNLOADPLUGIN); unloadResults.sendTo(getChatProvider().getConsoleServerAudience(), MessageKey.UNLOADPLUGIN);