From 4c4addc7ef48343b5117a328e4b1627e06b2eeb1 Mon Sep 17 00:00:00 2001 From: Micle Date: Wed, 8 Jun 2022 12:50:43 +0100 Subject: [PATCH] OnLivingSetAttackTargetEventHandler: Checks for new grace states before cancelling event. --- .../OnLivingSetAttackTargetEventHandler.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/main/java/dev/micle/loginprotection/events/OnLivingSetAttackTargetEventHandler.java b/src/main/java/dev/micle/loginprotection/events/OnLivingSetAttackTargetEventHandler.java index 3f5ef9f..23ed74f 100644 --- a/src/main/java/dev/micle/loginprotection/events/OnLivingSetAttackTargetEventHandler.java +++ b/src/main/java/dev/micle/loginprotection/events/OnLivingSetAttackTargetEventHandler.java @@ -11,16 +11,20 @@ import net.minecraftforge.eventbus.api.SubscribeEvent; public class OnLivingSetAttackTargetEventHandler { @SubscribeEvent public void LivingSetAttackTargetEvent(LivingSetAttackTargetEvent event) { - if (!(event.getTarget() instanceof Player target)) { return; } + if (!(event.getTarget() instanceof Player target)) { + return; + } ProtectedPlayer player = ProtectedPlayerManager.getPlayer(target.getUUID()); if (player == null) { return; } - if ((player.getState().equals(ProtectedPlayer.State.JOINING) && Config.Server.LOGIN_IGNORE_PLAYER_ENABLED.get()) || - (player.getState().equals(ProtectedPlayer.State.AFK) && Config.Server.AFK_IGNORE_PLAYER_ENABLED.get()) || - (player.getState().equals(ProtectedPlayer.State.ACTIVE) && player.getGracePeriodTimeRemaining() > 0 && - Config.Server.POST_GRACE_IGNORE_PLAYER_ENABLED.get())) { + + // Check if mob should ignore player + if ((player.getState().equals(ProtectedPlayer.State.JOINING) && Config.Server.LOGIN_MOBS_IGNORE_PLAYER.get()) || + (player.getState().equals(ProtectedPlayer.State.AFK) && Config.Server.AFK_MOBS_IGNORE_PLAYER.get()) || + (player.getState().equals(ProtectedPlayer.State.LOGIN_GRACE) && Config.Server.LOGIN_GRACE_MOBS_IGNORE_PLAYER.get()) || + (player.getState().equals(ProtectedPlayer.State.AFK_GRACE) && Config.Server.AFK_GRACE_MOBS_IGNORE_PLAYER.get())) { ((Mob) event.getEntityLiving()).setTarget(null); } }