From 17a2fb9b49d62904887623a74c0954a60ca7f1a6 Mon Sep 17 00:00:00 2001 From: Zeshan Aslam Date: Sun, 5 Apr 2020 12:37:05 -0400 Subject: [PATCH] Added ability to modify player looking check timer --- config.yml | 2 + plugin.yml | 2 +- src/com/zeshanaslam/actionhealth/Main.java | 2 +- .../actionhealth/config/ConfigStore.java | 37 +++++++++++-------- 4 files changed, 26 insertions(+), 17 deletions(-) diff --git a/config.yml b/config.yml index fd31ad4..26ebfa7 100644 --- a/config.yml +++ b/config.yml @@ -77,6 +77,8 @@ Show On Look: true Look Distance: 10 LookValues: + # How often (in ticks) to check if player is looking at an entity. Increase if lagging, maybe to 10 or 20. + CheckTicks: 0 # If the dot product is positive, the target is in front Dot: 0 # Tolerance of the line calculation diff --git a/plugin.yml b/plugin.yml index 7f38aef..c13a7d2 100644 --- a/plugin.yml +++ b/plugin.yml @@ -1,6 +1,6 @@ name: ActionHealth main: com.zeshanaslam.actionhealth.Main -version: 3.4.3 +version: 3.4.4 softdepend: [PlaceholderAPI, MVdWPlaceholderAPI, WorldGuard, mcMMO, MythicMobs, LangUtils] commands: Actionhealth: diff --git a/src/com/zeshanaslam/actionhealth/Main.java b/src/com/zeshanaslam/actionhealth/Main.java index 8dd2509..66818f8 100644 --- a/src/com/zeshanaslam/actionhealth/Main.java +++ b/src/com/zeshanaslam/actionhealth/Main.java @@ -69,7 +69,7 @@ public class Main extends JavaPlugin { langUtilsEnabled = true; } - actionTask = new ActionTask(this).runTaskTimer(this, 0, 20); + actionTask = new ActionTask(this).runTaskTimer(this, 0, configStore.checkTicks); } @Override diff --git a/src/com/zeshanaslam/actionhealth/config/ConfigStore.java b/src/com/zeshanaslam/actionhealth/config/ConfigStore.java index 06c2e47..313e8eb 100644 --- a/src/com/zeshanaslam/actionhealth/config/ConfigStore.java +++ b/src/com/zeshanaslam/actionhealth/config/ConfigStore.java @@ -49,6 +49,7 @@ public class ConfigStore { public boolean showMiniaturePets; public double lookDot; public double lookTolerance; + public long checkTicks; public ActionStore actionStore; public ConfigStore(Main plugin) { @@ -58,8 +59,6 @@ public class ConfigStore { blacklist.clear(); translate.clear(); - if (plugin.taskID != -1) Bukkit.getScheduler().cancelTask(plugin.taskID); - // Check if using MVdWPlaceholderAPI hasMVdWPlaceholderAPI = Bukkit.getPluginManager().isPluginEnabled("MVdWPlaceholderAPI"); @@ -120,19 +119,6 @@ public class ConfigStore { blacklist.addAll(plugin.getConfig().getStringList("Blacklist").stream().map(s -> ChatColor.translateAlternateColorCodes('&', s)).collect(Collectors.toList())); } - if (plugin.getConfig().contains("Show On Look")) { - showOnLook = plugin.getConfig().getBoolean("Show On Look"); - lookDistance = plugin.getConfig().getDouble("Look Distance"); - - if (showOnLook) { - BukkitTask bukkitTask = new LookThread(plugin).runTaskTimer(plugin, 0, 20); - plugin.taskID = bukkitTask.getTaskId(); - } - } else { - plugin.taskID = -1; - showOnLook = false; - } - if (plugin.getConfig().contains("Toggle Message")) { toggleMessage = plugin.getConfig().getString("Toggle Message"); } @@ -184,5 +170,26 @@ public class ConfigStore { lookDot = 0; lookTolerance = 4; } + + if (plugin.getConfig().contains("LookValues.CheckTicks")) { + checkTicks = plugin.getConfig().getLong("LookValues.CheckTicks"); + } else { + checkTicks = 0; + } + + if (plugin.taskID != -1) Bukkit.getScheduler().cancelTask(plugin.taskID); + + if (plugin.getConfig().contains("Show On Look")) { + showOnLook = plugin.getConfig().getBoolean("Show On Look"); + lookDistance = plugin.getConfig().getDouble("Look Distance"); + + if (showOnLook) { + BukkitTask bukkitTask = new LookThread(plugin).runTaskTimer(plugin, 0, checkTicks); + plugin.taskID = bukkitTask.getTaskId(); + } + } else { + plugin.taskID = -1; + showOnLook = false; + } } }