From c0a176825ce6596968904ee875292e076552b936 Mon Sep 17 00:00:00 2001 From: KHobbits Date: Fri, 28 Sep 2012 20:55:37 +0100 Subject: [PATCH] Add potion effect clearing on /heal - Chris Ward --- .../essentials/EssentialsEntityListener.java | 12 +++-------- .../essentials/commands/Commandheal.java | 21 +++++++++++++------ 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/Essentials/src/com/earth2me/essentials/EssentialsEntityListener.java b/Essentials/src/com/earth2me/essentials/EssentialsEntityListener.java index 0dfff355c..0077d988c 100644 --- a/Essentials/src/com/earth2me/essentials/EssentialsEntityListener.java +++ b/Essentials/src/com/earth2me/essentials/EssentialsEntityListener.java @@ -15,8 +15,6 @@ import org.bukkit.event.Listener; import org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason; import org.bukkit.event.entity.*; import org.bukkit.inventory.ItemStack; -import org.bukkit.potion.PotionEffect; -import org.bukkit.potion.PotionEffectType; public class EssentialsEntityListener implements Listener @@ -170,14 +168,10 @@ public class EssentialsEntityListener implements Listener { for (LivingEntity entity : event.getAffectedEntities()) { - if (entity instanceof Player) + if (entity instanceof Player && ess.getUser(entity).isGodModeEnabled()) { - User user = ess.getUser(entity); - if (user.isGodModeEnabled()) - { - event.setIntensity(entity, 0d); - } + event.setIntensity(entity, 0d); } } } -} +} diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandheal.java b/Essentials/src/com/earth2me/essentials/commands/Commandheal.java index 82678c96e..224e782de 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandheal.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandheal.java @@ -6,6 +6,8 @@ import java.util.List; import org.bukkit.Server; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +import org.bukkit.potion.PotionEffect; +import org.bukkit.potion.PotionEffectType; public class Commandheal extends EssentialsCommand @@ -33,9 +35,7 @@ public class Commandheal extends EssentialsCommand { user.healCooldown(); } - user.setHealth(20); - user.setFoodLevel(20); - user.sendMessage(_("heal")); + healPlayer(user); } @Override @@ -63,10 +63,19 @@ public class Commandheal extends EssentialsCommand { continue; } - p.setHealth(20); - p.setFoodLevel(20); - p.sendMessage(_("heal")); + healPlayer(p); sender.sendMessage(_("healOther", p.getDisplayName())); } } + + private void healPlayer(final Player p) + { + p.setHealth(20); + p.setFoodLevel(20); + p.sendMessage(_("heal")); + for (PotionEffect effect : p.getActivePotionEffects()) + { + p.removePotionEffect(effect.getType()); + } + } }