From 2ed1068aed03cd84522762e8e3f7f987d958f9c8 Mon Sep 17 00:00:00 2001 From: Esmorall Date: Thu, 2 Jul 2020 16:47:59 -0300 Subject: [PATCH] New option to enable all worlds --- EntityTrackerFixer/config.yml | 5 +++++ EntityTrackerFixer/plugin.yml | 2 +- .../entitytrackerfixer/config/ConfigMain.java | 13 +++++++++++-- .../v1_14_R1/tasks/CheckTask.java | 16 ++++++++++++---- .../v1_14_R1/tasks/UntrackerTask.java | 13 +++++++++++-- .../v1_15_R1/tasks/CheckTask.java | 16 ++++++++++++---- .../v1_15_R1/tasks/UntrackerTask.java | 13 +++++++++++-- .../v1_16_R1/tasks/CheckTask.java | 16 ++++++++++++---- .../v1_16_R1/tasks/UntrackerTask.java | 13 +++++++++++-- 9 files changed, 86 insertions(+), 21 deletions(-) diff --git a/EntityTrackerFixer/config.yml b/EntityTrackerFixer/config.yml index 88980b8..70963d9 100644 --- a/EntityTrackerFixer/config.yml +++ b/EntityTrackerFixer/config.yml @@ -16,6 +16,11 @@ log-to-console: true # - Default value(s): true disable-tick-for-untracked-entities: true +# Should the plugin perform tasks on all worlds? +# Note: if this is set to true, the option "worlds" will be ignored +# - Default value(s): false +enable-on-all-worlds: false + # How often (in ticks) should we check for "lingering" entities? # - Default value(s): 400 untrack-ticks: 400 diff --git a/EntityTrackerFixer/plugin.yml b/EntityTrackerFixer/plugin.yml index 38e2de4..87bcc46 100644 --- a/EntityTrackerFixer/plugin.yml +++ b/EntityTrackerFixer/plugin.yml @@ -1,6 +1,6 @@ name: EntityTrackerFixer main: net.minemora.entitytrackerfixer.EntityTrackerFixer -version: 1.3 +version: 1.3.1 softdepend: [Vault] api-version: 1.14 author: Esmorall diff --git a/EntityTrackerFixer/src/net/minemora/entitytrackerfixer/config/ConfigMain.java b/EntityTrackerFixer/src/net/minemora/entitytrackerfixer/config/ConfigMain.java index 04e8104..7cb2ab1 100644 --- a/EntityTrackerFixer/src/net/minemora/entitytrackerfixer/config/ConfigMain.java +++ b/EntityTrackerFixer/src/net/minemora/entitytrackerfixer/config/ConfigMain.java @@ -17,6 +17,7 @@ public final class ConfigMain extends Config { private static double minTps; private static boolean logToConsole = true; private static boolean disableTickUntracked = true; + private static boolean enableOnAllWorlds = false; private static List worlds = new ArrayList<>(); private ConfigMain() { @@ -33,9 +34,13 @@ public final class ConfigMain extends Config { EntityTrackerFixer.plugin.getLogger().info("Setting tracking range to: " + trackingRange); minTps = getConfig().getDouble("tps-limit", 18.5); EntityTrackerFixer.plugin.getLogger().info("Setting minmun TPS to: " + minTps); + enableOnAllWorlds = getConfig().getBoolean("enable-on-all-worlds", false); + EntityTrackerFixer.plugin.getLogger().info("Setting enable on all worlds to: " + enableOnAllWorlds); worlds = getConfig().getStringList("worlds"); - for(String world : worlds) { - EntityTrackerFixer.plugin.getLogger().info("Adding world: " + world); + if(!enableOnAllWorlds) { + for(String world : worlds) { + EntityTrackerFixer.plugin.getLogger().info("Adding world: " + world); + } } logToConsole = getConfig().getBoolean("log-to-console", true); EntityTrackerFixer.plugin.getLogger().info("Setting log to console to: " + logToConsole); @@ -86,4 +91,8 @@ public final class ConfigMain extends Config { public static boolean isDisableTickUntracked() { return disableTickUntracked; } + + public static boolean isEnableOnAllWorlds() { + return enableOnAllWorlds; + } } \ No newline at end of file diff --git a/EntityTrackerFixer/src/net/minemora/entitytrackerfixer/v1_14_R1/tasks/CheckTask.java b/EntityTrackerFixer/src/net/minemora/entitytrackerfixer/v1_14_R1/tasks/CheckTask.java index a25d533..cceb608 100644 --- a/EntityTrackerFixer/src/net/minemora/entitytrackerfixer/v1_14_R1/tasks/CheckTask.java +++ b/EntityTrackerFixer/src/net/minemora/entitytrackerfixer/v1_14_R1/tasks/CheckTask.java @@ -4,6 +4,7 @@ import java.util.HashSet; import java.util.Set; import org.bukkit.Bukkit; +import org.bukkit.World; import org.bukkit.craftbukkit.v1_14_R1.CraftWorld; import org.bukkit.craftbukkit.v1_14_R1.entity.CraftEntity; import org.bukkit.entity.Entity; @@ -22,11 +23,18 @@ public class CheckTask extends BukkitRunnable { if(UntrackerTask.isRunning()) { return; } - for(String worldName : ConfigMain.getWorlds()) { - if(Bukkit.getWorld(worldName) == null) { - continue; + if(ConfigMain.isEnableOnAllWorlds()) { + for(World world : Bukkit.getWorlds()) { + checkWorld(world.getName()); + } + } + else { + for(String worldName : ConfigMain.getWorlds()) { + if(Bukkit.getWorld(worldName) == null) { + continue; + } + checkWorld(worldName); } - checkWorld(worldName); } } diff --git a/EntityTrackerFixer/src/net/minemora/entitytrackerfixer/v1_14_R1/tasks/UntrackerTask.java b/EntityTrackerFixer/src/net/minemora/entitytrackerfixer/v1_14_R1/tasks/UntrackerTask.java index 7606150..76289ce 100644 --- a/EntityTrackerFixer/src/net/minemora/entitytrackerfixer/v1_14_R1/tasks/UntrackerTask.java +++ b/EntityTrackerFixer/src/net/minemora/entitytrackerfixer/v1_14_R1/tasks/UntrackerTask.java @@ -5,6 +5,7 @@ import java.util.HashSet; import java.util.Set; import org.bukkit.Bukkit; +import org.bukkit.World; import org.bukkit.craftbukkit.v1_14_R1.CraftWorld; import org.bukkit.scheduler.BukkitRunnable; @@ -41,9 +42,17 @@ public class UntrackerTask extends BukkitRunnable { return; } running = true; - for(String worldName : ConfigMain.getWorlds()) { - untrackProcess(worldName); + if(ConfigMain.isEnableOnAllWorlds()) { + for(World world : Bukkit.getWorlds()) { + untrackProcess(world.getName()); + } } + else { + for(String worldName : ConfigMain.getWorlds()) { + untrackProcess(worldName); + } + } + running = false; } diff --git a/EntityTrackerFixer/src/net/minemora/entitytrackerfixer/v1_15_R1/tasks/CheckTask.java b/EntityTrackerFixer/src/net/minemora/entitytrackerfixer/v1_15_R1/tasks/CheckTask.java index cf9f0de..7ccb230 100644 --- a/EntityTrackerFixer/src/net/minemora/entitytrackerfixer/v1_15_R1/tasks/CheckTask.java +++ b/EntityTrackerFixer/src/net/minemora/entitytrackerfixer/v1_15_R1/tasks/CheckTask.java @@ -4,6 +4,7 @@ import java.util.HashSet; import java.util.Set; import org.bukkit.Bukkit; +import org.bukkit.World; import org.bukkit.craftbukkit.v1_15_R1.CraftWorld; import org.bukkit.craftbukkit.v1_15_R1.entity.CraftEntity; import org.bukkit.entity.Entity; @@ -22,11 +23,18 @@ public class CheckTask extends BukkitRunnable { if(UntrackerTask.isRunning()) { return; } - for(String worldName : ConfigMain.getWorlds()) { - if(Bukkit.getWorld(worldName) == null) { - continue; + if(ConfigMain.isEnableOnAllWorlds()) { + for(World world : Bukkit.getWorlds()) { + checkWorld(world.getName()); + } + } + else { + for(String worldName : ConfigMain.getWorlds()) { + if(Bukkit.getWorld(worldName) == null) { + continue; + } + checkWorld(worldName); } - checkWorld(worldName); } } diff --git a/EntityTrackerFixer/src/net/minemora/entitytrackerfixer/v1_15_R1/tasks/UntrackerTask.java b/EntityTrackerFixer/src/net/minemora/entitytrackerfixer/v1_15_R1/tasks/UntrackerTask.java index b55b07f..8106372 100644 --- a/EntityTrackerFixer/src/net/minemora/entitytrackerfixer/v1_15_R1/tasks/UntrackerTask.java +++ b/EntityTrackerFixer/src/net/minemora/entitytrackerfixer/v1_15_R1/tasks/UntrackerTask.java @@ -5,6 +5,7 @@ import java.util.HashSet; import java.util.Set; import org.bukkit.Bukkit; +import org.bukkit.World; import org.bukkit.craftbukkit.v1_15_R1.CraftWorld; import org.bukkit.scheduler.BukkitRunnable; @@ -41,9 +42,17 @@ public class UntrackerTask extends BukkitRunnable { return; } running = true; - for(String worldName : ConfigMain.getWorlds()) { - untrackProcess(worldName); + if(ConfigMain.isEnableOnAllWorlds()) { + for(World world : Bukkit.getWorlds()) { + untrackProcess(world.getName()); + } } + else { + for(String worldName : ConfigMain.getWorlds()) { + untrackProcess(worldName); + } + } + running = false; } diff --git a/EntityTrackerFixer/src/net/minemora/entitytrackerfixer/v1_16_R1/tasks/CheckTask.java b/EntityTrackerFixer/src/net/minemora/entitytrackerfixer/v1_16_R1/tasks/CheckTask.java index 25043a9..11c821b 100644 --- a/EntityTrackerFixer/src/net/minemora/entitytrackerfixer/v1_16_R1/tasks/CheckTask.java +++ b/EntityTrackerFixer/src/net/minemora/entitytrackerfixer/v1_16_R1/tasks/CheckTask.java @@ -4,6 +4,7 @@ import java.util.HashSet; import java.util.Set; import org.bukkit.Bukkit; +import org.bukkit.World; import org.bukkit.craftbukkit.v1_16_R1.CraftWorld; import org.bukkit.craftbukkit.v1_16_R1.entity.CraftEntity; import org.bukkit.entity.Entity; @@ -23,11 +24,18 @@ public class CheckTask extends BukkitRunnable { if(UntrackerTask.isRunning()) { return; } - for(String worldName : ConfigMain.getWorlds()) { - if(Bukkit.getWorld(worldName) == null) { - continue; + if(ConfigMain.isEnableOnAllWorlds()) { + for(World world : Bukkit.getWorlds()) { + checkWorld(world.getName()); + } + } + else { + for(String worldName : ConfigMain.getWorlds()) { + if(Bukkit.getWorld(worldName) == null) { + continue; + } + checkWorld(worldName); } - checkWorld(worldName); } } diff --git a/EntityTrackerFixer/src/net/minemora/entitytrackerfixer/v1_16_R1/tasks/UntrackerTask.java b/EntityTrackerFixer/src/net/minemora/entitytrackerfixer/v1_16_R1/tasks/UntrackerTask.java index 751a445..ea6a43b 100644 --- a/EntityTrackerFixer/src/net/minemora/entitytrackerfixer/v1_16_R1/tasks/UntrackerTask.java +++ b/EntityTrackerFixer/src/net/minemora/entitytrackerfixer/v1_16_R1/tasks/UntrackerTask.java @@ -5,6 +5,7 @@ import java.util.HashSet; import java.util.Set; import org.bukkit.Bukkit; +import org.bukkit.World; import org.bukkit.craftbukkit.v1_16_R1.CraftWorld; import org.bukkit.scheduler.BukkitRunnable; @@ -42,9 +43,17 @@ public class UntrackerTask extends BukkitRunnable { return; } running = true; - for(String worldName : ConfigMain.getWorlds()) { - untrackProcess(worldName); + if(ConfigMain.isEnableOnAllWorlds()) { + for(World world : Bukkit.getWorlds()) { + untrackProcess(world.getName()); + } } + else { + for(String worldName : ConfigMain.getWorlds()) { + untrackProcess(worldName); + } + } + running = false; }