From 7f5e706d5ead9f8e18d4a1ad975dc439c89ec71a Mon Sep 17 00:00:00 2001 From: Luna Date: Mon, 11 Jul 2022 13:08:49 -0300 Subject: [PATCH] Add enable-updates config option --- server/src/main/java/dev/plex/Plex.java | 7 +++++-- .../main/java/dev/plex/command/impl/PlexCMD.java | 13 ++++++++++++- .../main/java/dev/plex/services/ServiceManager.java | 9 +++++++-- server/src/main/resources/config.yml | 3 +++ 4 files changed, 27 insertions(+), 5 deletions(-) diff --git a/server/src/main/java/dev/plex/Plex.java b/server/src/main/java/dev/plex/Plex.java index 49fb63c..a55b958 100644 --- a/server/src/main/java/dev/plex/Plex.java +++ b/server/src/main/java/dev/plex/Plex.java @@ -162,8 +162,11 @@ public class Plex extends PlexPlugin implements PlexApiProvider this.setPermissionHandler(new NativePermissionHandler()); } - updateChecker = new UpdateChecker(); - PlexLog.log("Update checking enabled"); + if (config.getBoolean("enable-updates")) + { + updateChecker = new UpdateChecker(); + PlexLog.log("Update checking enabled"); + } // https://bstats.org/plugin/bukkit/Plex/14143 Metrics metrics = new Metrics(this, 14143); diff --git a/server/src/main/java/dev/plex/command/impl/PlexCMD.java b/server/src/main/java/dev/plex/command/impl/PlexCMD.java index c0aea76..db3af5c 100644 --- a/server/src/main/java/dev/plex/command/impl/PlexCMD.java +++ b/server/src/main/java/dev/plex/command/impl/PlexCMD.java @@ -39,7 +39,10 @@ public class PlexCMD extends PlexCommand send(sender, mmString("Authors: Telesphoreo, Taahh")); send(sender, mmString("Built by: " + BuildInfo.getAuthor() + " on " + BuildInfo.getDate())); send(sender, mmString("Run /plex modules to see a list of modules.")); - plugin.getUpdateChecker().getUpdateStatusMessage(sender, true, 2); + if (plugin.config.getBoolean("enable-updates")) + { + plugin.getUpdateChecker().getUpdateStatusMessage(sender, true, 2); + } return null; } if (args[0].equalsIgnoreCase("reload")) @@ -100,6 +103,10 @@ public class PlexCMD extends PlexCommand { return messageComponent("noPermissionRank", "an Owner or Developer"); } + if (!plugin.getConfig().getBoolean("enable-updates")) + { + return mmString("Updating has been disabled in the config."); + } for (PlexModule module : plugin.getModuleManager().getModules()) { plugin.getUpdateChecker().updateJar(sender, module.getPlexModuleFile().getName(), true); @@ -114,6 +121,10 @@ public class PlexCMD extends PlexCommand { return messageComponent("noPermissionRank", "an Owner or Developer"); } + if (!plugin.getConfig().getBoolean("enable-updates")) + { + return mmString("Updating has been disabled in the config."); + } if (!plugin.getUpdateChecker().getUpdateStatusMessage(sender, false, 0)) { return mmString("Plex is already up to date!"); diff --git a/server/src/main/java/dev/plex/services/ServiceManager.java b/server/src/main/java/dev/plex/services/ServiceManager.java index d4acf79..fe18984 100644 --- a/server/src/main/java/dev/plex/services/ServiceManager.java +++ b/server/src/main/java/dev/plex/services/ServiceManager.java @@ -2,6 +2,7 @@ package dev.plex.services; import com.google.common.collect.Lists; import dev.plex.Plex; +import dev.plex.PlexBase; import dev.plex.services.impl.AutoWipeService; import dev.plex.services.impl.BanService; import dev.plex.services.impl.CommandBlockerService; @@ -12,7 +13,7 @@ import java.util.List; import org.bukkit.Bukkit; import org.bukkit.scheduler.BukkitTask; -public class ServiceManager +public class ServiceManager implements PlexBase { private final List services = Lists.newArrayList(); @@ -23,7 +24,11 @@ public class ServiceManager registerService(new CommandBlockerService()); registerService(new GameRuleService()); registerService(new TimingService()); - registerService(new UpdateCheckerService()); + + if (plugin.config.getBoolean("enable-updates")) + { + registerService(new UpdateCheckerService()); + } } public void startServices() diff --git a/server/src/main/resources/config.yml b/server/src/main/resources/config.yml index 2b8a051..522d5dc 100644 --- a/server/src/main/resources/config.yml +++ b/server/src/main/resources/config.yml @@ -225,6 +225,9 @@ worlds: stone: 16 bedrock: 1 +# Should the plugin should enable updating features? +enable-updates: true + # If you are running a custom fork of Plex, you may wish to check for updates from a different repository. update_repo: "plexusorg/Plex"