More abstractions

- Abstracted UpdateCheckerTask
- Merged PluginProvider into the PluginManagers
This commit is contained in:
Frank van der Heijden 2020-07-05 16:07:36 +02:00
parent 23e8e80191
commit e67b20dee0
No known key found for this signature in database
GPG key ID: 26DA56488D314D11
40 changed files with 546 additions and 347 deletions

View file

@ -1,17 +1,41 @@
package net.frankheijden.serverutils.common;
import net.frankheijden.serverutils.common.config.Config;
import net.frankheijden.serverutils.common.entities.ServerUtilsPlugin;
import net.frankheijden.serverutils.common.tasks.UpdateCheckerTask;
public class ServerUtilsApp {
public class ServerUtilsApp<T> {
public static final int BSTATS_METRICS_ID = 7790;
private static ServerUtilsPlugin plugin;
public static void init(ServerUtilsPlugin plugin) {
ServerUtilsApp.plugin = plugin;
private final T platformPlugin;
private final ServerUtilsPlugin plugin;
@SuppressWarnings("rawtypes")
private static ServerUtilsApp instance;
private ServerUtilsApp(T platformPlugin, ServerUtilsPlugin plugin) {
this.platformPlugin = platformPlugin;
this.plugin = plugin;
instance = this;
}
public static <T> void init(T obj, ServerUtilsPlugin plugin) {
new ServerUtilsApp<>(obj, plugin);
}
public static void checkForUpdates() {
if (Config.getInstance().getConfig().getBoolean("settings.check-updates")) {
UpdateCheckerTask.start(getPlugin().getChatProvider().getConsoleSender(), true);
}
}
public static ServerUtilsPlugin getPlugin() {
return plugin;
return instance.plugin;
}
@SuppressWarnings("unchecked")
public static <T> T getPlatformPlugin() {
return (T) instance.platformPlugin;
}
}