From cfca8f1fddee044e1a4dcdf802a9fefd45a5b26f Mon Sep 17 00:00:00 2001 From: Electroblob77 <35599699+Electroblob77@users.noreply.github.com> Date: Mon, 29 Jun 2020 21:28:32 +0100 Subject: [PATCH] Also apply targeting fix when mind control effect is removed manually --- .../wizardry/spell/MindControl.java | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/main/java/electroblob/wizardry/spell/MindControl.java b/src/main/java/electroblob/wizardry/spell/MindControl.java index e5ed36c5..260a8faa 100644 --- a/src/main/java/electroblob/wizardry/spell/MindControl.java +++ b/src/main/java/electroblob/wizardry/spell/MindControl.java @@ -6,8 +6,11 @@ import electroblob.wizardry.item.SpellActions; import electroblob.wizardry.registry.WizardryItems; import electroblob.wizardry.registry.WizardryPotions; import electroblob.wizardry.registry.WizardrySounds; -import electroblob.wizardry.util.*; +import electroblob.wizardry.util.AllyDesignationSystem; +import electroblob.wizardry.util.EntityUtils; +import electroblob.wizardry.util.ParticleBuilder; import electroblob.wizardry.util.ParticleBuilder.Type; +import electroblob.wizardry.util.SpellModifiers; import net.minecraft.entity.*; import net.minecraft.entity.item.EntityArmorStand; import net.minecraft.entity.passive.EntitySheep; @@ -217,9 +220,17 @@ public class MindControl extends SpellRay { @SubscribeEvent public static void onPotionExpiryEvent(PotionEvent.PotionExpiryEvent event){ - if(event.getPotionEffect() != null && event.getPotionEffect().getPotion() == WizardryPotions.mind_control - && event.getEntity() instanceof EntityLiving){ - ((EntityLiving)event.getEntity()).setAttackTarget(null); // End effect + onEffectEnd(event.getPotionEffect(), event.getEntity()); + } + + @SubscribeEvent + public static void onPotionExpiryEvent(PotionEvent.PotionRemoveEvent event){ + onEffectEnd(event.getPotionEffect(), event.getEntity()); + } + + private static void onEffectEnd(PotionEffect effect, Entity entity){ + if(effect != null && effect.getPotion() == WizardryPotions.mind_control && entity instanceof EntityLiving){ + ((EntityLiving)entity).setAttackTarget(null); // End effect } }