From 93dd59d6937aa6b377fd8482a3152db1c5ec99eb Mon Sep 17 00:00:00 2001 From: Micle Date: Sun, 22 May 2022 03:18:34 +0100 Subject: [PATCH] Updated to use new ProtectedPlayerManager and new config options. --- .../OnLivingSetAttackTargetEventHandler.java | 17 +++++++++++------ .../events/OnPlayerDamageEventHandler.java | 14 ++++++++------ .../events/OnPlayerJoinEventHandler.java | 9 +++------ .../events/OnPlayerLeaveEventHandler.java | 8 +++----- 4 files changed, 25 insertions(+), 23 deletions(-) diff --git a/src/main/java/dev/micle/loginprotection/events/OnLivingSetAttackTargetEventHandler.java b/src/main/java/dev/micle/loginprotection/events/OnLivingSetAttackTargetEventHandler.java index 278d6ff..3f5ef9f 100644 --- a/src/main/java/dev/micle/loginprotection/events/OnLivingSetAttackTargetEventHandler.java +++ b/src/main/java/dev/micle/loginprotection/events/OnLivingSetAttackTargetEventHandler.java @@ -1,7 +1,7 @@ package dev.micle.loginprotection.events; -import dev.micle.loginprotection.LoginProtection; import dev.micle.loginprotection.data.ProtectedPlayer; +import dev.micle.loginprotection.data.ProtectedPlayerManager; import dev.micle.loginprotection.setup.Config; import net.minecraft.world.entity.Mob; import net.minecraft.world.entity.player.Player; @@ -13,11 +13,16 @@ public class OnLivingSetAttackTargetEventHandler { public void LivingSetAttackTargetEvent(LivingSetAttackTargetEvent event) { if (!(event.getTarget() instanceof Player target)) { return; } - ProtectedPlayer player = LoginProtection.protected_players.getPlayer(target.getUUID()); - if (player == null) { return; } - if (player.isLoading() && !Config.Server.LOGIN_IGNORE_PLAYER_ENABLED.get()) { return; } - if (!player.isLoading() && !Config.Server.POST_GRACE_IGNORE_PLAYER_ENABLED.get()) { return; } - ((Mob) event.getEntityLiving()).setTarget(null); + 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())) { + ((Mob) event.getEntityLiving()).setTarget(null); + } } } diff --git a/src/main/java/dev/micle/loginprotection/events/OnPlayerDamageEventHandler.java b/src/main/java/dev/micle/loginprotection/events/OnPlayerDamageEventHandler.java index 37c815a..97d0199 100755 --- a/src/main/java/dev/micle/loginprotection/events/OnPlayerDamageEventHandler.java +++ b/src/main/java/dev/micle/loginprotection/events/OnPlayerDamageEventHandler.java @@ -1,6 +1,7 @@ package dev.micle.loginprotection.events; -import dev.micle.loginprotection.LoginProtection; +import dev.micle.loginprotection.data.ProtectedPlayer; +import dev.micle.loginprotection.data.ProtectedPlayerManager; import net.minecraft.world.entity.player.Player; import net.minecraftforge.event.entity.living.LivingDamageEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; @@ -8,11 +9,12 @@ import net.minecraftforge.eventbus.api.SubscribeEvent; public class OnPlayerDamageEventHandler { @SubscribeEvent public void LivingDamageEvent(LivingDamageEvent event) { - if (!(event.getEntity() instanceof Player)) { return; } - Player player = (Player) event.getEntity(); - - if (LoginProtection.protected_players.getPlayer(player.getUUID()) != null) { - event.setCanceled(true); + if (!(event.getEntity() instanceof Player player)) { return; } + ProtectedPlayer protectedPlayer = ProtectedPlayerManager.getPlayer(player.getUUID()); + if (protectedPlayer == null || protectedPlayer.getState().equals(ProtectedPlayer.State.JOINING) || + protectedPlayer.getState().equals(ProtectedPlayer.State.AFK) || protectedPlayer.getGracePeriodTimeRemaining() == 0) { + return; } + event.setCanceled(true); } } diff --git a/src/main/java/dev/micle/loginprotection/events/OnPlayerJoinEventHandler.java b/src/main/java/dev/micle/loginprotection/events/OnPlayerJoinEventHandler.java index f39885d..e219623 100755 --- a/src/main/java/dev/micle/loginprotection/events/OnPlayerJoinEventHandler.java +++ b/src/main/java/dev/micle/loginprotection/events/OnPlayerJoinEventHandler.java @@ -1,6 +1,6 @@ package dev.micle.loginprotection.events; -import dev.micle.loginprotection.LoginProtection; +import dev.micle.loginprotection.data.ProtectedPlayerManager; import net.minecraft.world.entity.player.Player; import net.minecraftforge.event.entity.player.PlayerEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; @@ -8,10 +8,7 @@ import net.minecraftforge.eventbus.api.SubscribeEvent; public class OnPlayerJoinEventHandler { @SubscribeEvent public void EntityJoinWorldEvent(PlayerEvent.PlayerLoggedInEvent event) { - if (!(event.getEntity() instanceof Player)) { return; } - Player player = (Player) event.getEntity(); - - LoginProtection.protected_players.addPlayer(player.getUUID()); - System.out.println(player.getUUID() + " (" + player.getDisplayName().getString() + ") is being protected!"); + if (!(event.getEntity() instanceof Player player)) { return; } + ProtectedPlayerManager.addPlayer(player.getUUID()); } } diff --git a/src/main/java/dev/micle/loginprotection/events/OnPlayerLeaveEventHandler.java b/src/main/java/dev/micle/loginprotection/events/OnPlayerLeaveEventHandler.java index f496353..d226eb8 100755 --- a/src/main/java/dev/micle/loginprotection/events/OnPlayerLeaveEventHandler.java +++ b/src/main/java/dev/micle/loginprotection/events/OnPlayerLeaveEventHandler.java @@ -1,6 +1,6 @@ package dev.micle.loginprotection.events; -import dev.micle.loginprotection.LoginProtection; +import dev.micle.loginprotection.data.ProtectedPlayerManager; import net.minecraft.world.entity.player.Player; import net.minecraftforge.event.entity.player.PlayerEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; @@ -8,9 +8,7 @@ import net.minecraftforge.eventbus.api.SubscribeEvent; public class OnPlayerLeaveEventHandler { @SubscribeEvent public void PlayerLeaveEvent(PlayerEvent.PlayerLoggedOutEvent event) { - if (!(event.getEntity() instanceof Player)) { return; } - Player player = event.getPlayer(); - - LoginProtection.protected_players.removePlayer(player.getUUID()); + if (!(event.getEntity() instanceof Player player)) { return; } + ProtectedPlayerManager.removePlayer(player.getUUID()); } }