Merge branch 'master' into feature/hide-plugins-from-plugins-command
# Conflicts: # Common/src/main/resources/config.json
This commit is contained in:
commit
8bdd28077d
2 changed files with 33 additions and 0 deletions
|
|
@ -7,8 +7,11 @@ import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
import net.frankheijden.serverutils.common.ServerUtilsApp;
|
import net.frankheijden.serverutils.common.ServerUtilsApp;
|
||||||
import net.frankheijden.serverutils.common.commands.brigadier.BrigadierHandler;
|
import net.frankheijden.serverutils.common.commands.brigadier.BrigadierHandler;
|
||||||
|
|
@ -16,6 +19,7 @@ import net.frankheijden.serverutils.common.config.CommandsResource;
|
||||||
import net.frankheijden.serverutils.common.config.ConfigResource;
|
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.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;
|
||||||
|
|
@ -99,6 +103,27 @@ public abstract class ServerUtilsPlugin<P, T, C extends ServerUtilsAudience<S>,
|
||||||
return file;
|
return file;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void unloadConfiguredPlugins() {
|
||||||
|
List<String> pluginIds = configResource.getConfig().getStringList("unload-after-startup.plugins");
|
||||||
|
List<P> plugins = new ArrayList<>(pluginIds.size());
|
||||||
|
for (String pluginId : pluginIds) {
|
||||||
|
Optional<P> pluginOptional = getPluginManager().getPlugin(pluginId);
|
||||||
|
if (!pluginOptional.isPresent()) {
|
||||||
|
getLogger().warning(
|
||||||
|
"Plugin '" + pluginId + "' defined in config.yml 'unload-after-startup' is not loaded!"
|
||||||
|
);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
plugins.add(pluginOptional.get());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (plugins.isEmpty()) return;
|
||||||
|
|
||||||
|
CloseablePluginResults<P> unloadResults = getPluginManager().unloadPlugins(plugins);
|
||||||
|
unloadResults.tryClose();
|
||||||
|
unloadResults.sendTo(getChatProvider().getConsoleServerAudience(), MessageKey.UNLOADPLUGIN);
|
||||||
|
}
|
||||||
|
|
||||||
protected abstract CommandManager<C> newCommandManager();
|
protected abstract CommandManager<C> newCommandManager();
|
||||||
|
|
||||||
protected void handleBrigadier(CloudBrigadierManager<C, ?> brigadierManager) {
|
protected void handleBrigadier(CloudBrigadierManager<C, ?> brigadierManager) {
|
||||||
|
|
@ -121,6 +146,10 @@ public abstract class ServerUtilsPlugin<P, T, C extends ServerUtilsAudience<S>,
|
||||||
|
|
||||||
reload();
|
reload();
|
||||||
enablePlugin();
|
enablePlugin();
|
||||||
|
getTaskManager().runTaskLater(
|
||||||
|
this::unloadConfiguredPlugins,
|
||||||
|
configResource.getConfig().getInt("unload-after-startup.delay-ticks")
|
||||||
|
);
|
||||||
ServerUtilsApp.tryCheckForUpdates();
|
ServerUtilsApp.tryCheckForUpdates();
|
||||||
ServerUtilsApp.unloadServerUtilsUpdater();
|
ServerUtilsApp.unloadServerUtilsUpdater();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,5 +8,9 @@
|
||||||
"install-updates-boot": false,
|
"install-updates-boot": false,
|
||||||
"install-updates-login": false
|
"install-updates-login": false
|
||||||
},
|
},
|
||||||
|
"unload-after-startup": {
|
||||||
|
"delay-ticks": 20,
|
||||||
|
"plugins": []
|
||||||
|
},
|
||||||
"hide-plugins-from-plugins-command": []
|
"hide-plugins-from-plugins-command": []
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue