From e3ec0f3b9b04a1cf648270303b818dc30209b5ea Mon Sep 17 00:00:00 2001 From: Glare Date: Fri, 13 Mar 2020 03:24:29 -0600 Subject: [PATCH] Added in option to remove effects on heal (#2754) --- Essentials/src/com/earth2me/essentials/ISettings.java | 3 +++ Essentials/src/com/earth2me/essentials/Settings.java | 11 +++++++++++ .../com/earth2me/essentials/commands/Commandheal.java | 6 ++++-- Essentials/src/config.yml | 3 +++ 4 files changed, 21 insertions(+), 2 deletions(-) diff --git a/Essentials/src/com/earth2me/essentials/ISettings.java b/Essentials/src/com/earth2me/essentials/ISettings.java index a20fcd541..11ec1e227 100644 --- a/Essentials/src/com/earth2me/essentials/ISettings.java +++ b/Essentials/src/com/earth2me/essentials/ISettings.java @@ -338,5 +338,8 @@ public interface ISettings extends IConf { double getMaxProjectileSpeed(); + boolean isRemovingEffectsOnHeal(); + boolean isSpawnIfNoHome(); + } diff --git a/Essentials/src/com/earth2me/essentials/Settings.java b/Essentials/src/com/earth2me/essentials/Settings.java index ba965e225..d90b6e125 100644 --- a/Essentials/src/com/earth2me/essentials/Settings.java +++ b/Essentials/src/com/earth2me/essentials/Settings.java @@ -1625,6 +1625,17 @@ public class Settings implements net.ess3.api.ISettings { return maxProjectileSpeed; } + private boolean removeEffectsOnHeal; + + private boolean _isRemovingEffectsOnHeal() { + return config.getBoolean("remove-effects-on-heal", true); + } + + @Override + public boolean isRemovingEffectsOnHeal() { + return removeEffectsOnHeal; + } + @Override public boolean isSpawnIfNoHome() { return config.getBoolean("spawn-if-no-home", true); diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandheal.java b/Essentials/src/com/earth2me/essentials/commands/Commandheal.java index 688a923d2..4b57485ca 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandheal.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandheal.java @@ -75,8 +75,10 @@ public class Commandheal extends EssentialsLoopCommand { player.setFoodLevel(20); player.setFireTicks(0); user.sendMessage(tl("heal")); - for (PotionEffect effect : player.getActivePotionEffects()) { - player.removePotionEffect(effect.getType()); + if (ess.getSettings().isRemovingEffectsOnHeal()) { + for (PotionEffect effect : player.getActivePotionEffects()) { + player.removePotionEffect(effect.getType()); + } } } diff --git a/Essentials/src/config.yml b/Essentials/src/config.yml index f0a93685e..4d1bfd4bd 100644 --- a/Essentials/src/config.yml +++ b/Essentials/src/config.yml @@ -94,6 +94,9 @@ teleport-to-center: true # The delay, in seconds, required between /heal or /feed attempts. heal-cooldown: 60 +# Do you want to remove potion effects when healing a player? +remove-effects-on-heal: true + # Near Radius # The default radius with /near # Used to use chat radius but we are going to make it separate.