Updated to use new ProtectedPlayerManager and new config options.

This commit is contained in:
2022-05-22 03:18:34 +01:00
parent 084d2caa25
commit 1976e54424
4 changed files with 25 additions and 23 deletions

View File

@ -1,7 +1,7 @@
package dev.micle.loginprotection.events; package dev.micle.loginprotection.events;
import dev.micle.loginprotection.LoginProtection;
import dev.micle.loginprotection.data.ProtectedPlayer; import dev.micle.loginprotection.data.ProtectedPlayer;
import dev.micle.loginprotection.data.ProtectedPlayerManager;
import dev.micle.loginprotection.setup.Config; import dev.micle.loginprotection.setup.Config;
import net.minecraft.world.entity.Mob; import net.minecraft.world.entity.Mob;
import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.player.Player;
@ -13,11 +13,16 @@ public class OnLivingSetAttackTargetEventHandler {
public void LivingSetAttackTargetEvent(LivingSetAttackTargetEvent event) { public void LivingSetAttackTargetEvent(LivingSetAttackTargetEvent event) {
if (!(event.getTarget() instanceof Player target)) { return; } if (!(event.getTarget() instanceof Player target)) { return; }
ProtectedPlayer player = LoginProtection.protected_players.getPlayer(target.getUUID()); ProtectedPlayer player = ProtectedPlayerManager.getPlayer(target.getUUID());
if (player == null) { return; } if (player == null) {
if (player.isLoading() && !Config.Server.LOGIN_IGNORE_PLAYER_ENABLED.get()) { return; } return;
if (!player.isLoading() && !Config.Server.POST_GRACE_IGNORE_PLAYER_ENABLED.get()) { 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); ((Mob) event.getEntityLiving()).setTarget(null);
} }
}
} }

View File

@ -1,6 +1,7 @@
package dev.micle.loginprotection.events; 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.minecraft.world.entity.player.Player;
import net.minecraftforge.event.entity.living.LivingDamageEvent; import net.minecraftforge.event.entity.living.LivingDamageEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.eventbus.api.SubscribeEvent;
@ -8,11 +9,12 @@ import net.minecraftforge.eventbus.api.SubscribeEvent;
public class OnPlayerDamageEventHandler { public class OnPlayerDamageEventHandler {
@SubscribeEvent @SubscribeEvent
public void LivingDamageEvent(LivingDamageEvent event) { public void LivingDamageEvent(LivingDamageEvent event) {
if (!(event.getEntity() instanceof Player)) { return; } if (!(event.getEntity() instanceof Player player)) { return; }
Player player = (Player) event.getEntity(); ProtectedPlayer protectedPlayer = ProtectedPlayerManager.getPlayer(player.getUUID());
if (protectedPlayer == null || protectedPlayer.getState().equals(ProtectedPlayer.State.JOINING) ||
if (LoginProtection.protected_players.getPlayer(player.getUUID()) != null) { protectedPlayer.getState().equals(ProtectedPlayer.State.AFK) || protectedPlayer.getGracePeriodTimeRemaining() == 0) {
return;
}
event.setCanceled(true); event.setCanceled(true);
} }
}
} }

View File

@ -1,6 +1,6 @@
package dev.micle.loginprotection.events; 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.minecraft.world.entity.player.Player;
import net.minecraftforge.event.entity.player.PlayerEvent; import net.minecraftforge.event.entity.player.PlayerEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.eventbus.api.SubscribeEvent;
@ -8,10 +8,7 @@ import net.minecraftforge.eventbus.api.SubscribeEvent;
public class OnPlayerJoinEventHandler { public class OnPlayerJoinEventHandler {
@SubscribeEvent @SubscribeEvent
public void EntityJoinWorldEvent(PlayerEvent.PlayerLoggedInEvent event) { public void EntityJoinWorldEvent(PlayerEvent.PlayerLoggedInEvent event) {
if (!(event.getEntity() instanceof Player)) { return; } if (!(event.getEntity() instanceof Player player)) { return; }
Player player = (Player) event.getEntity(); ProtectedPlayerManager.addPlayer(player.getUUID());
LoginProtection.protected_players.addPlayer(player.getUUID());
System.out.println(player.getUUID() + " (" + player.getDisplayName().getString() + ") is being protected!");
} }
} }

View File

@ -1,6 +1,6 @@
package dev.micle.loginprotection.events; 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.minecraft.world.entity.player.Player;
import net.minecraftforge.event.entity.player.PlayerEvent; import net.minecraftforge.event.entity.player.PlayerEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.eventbus.api.SubscribeEvent;
@ -8,9 +8,7 @@ import net.minecraftforge.eventbus.api.SubscribeEvent;
public class OnPlayerLeaveEventHandler { public class OnPlayerLeaveEventHandler {
@SubscribeEvent @SubscribeEvent
public void PlayerLeaveEvent(PlayerEvent.PlayerLoggedOutEvent event) { public void PlayerLeaveEvent(PlayerEvent.PlayerLoggedOutEvent event) {
if (!(event.getEntity() instanceof Player)) { return; } if (!(event.getEntity() instanceof Player player)) { return; }
Player player = event.getPlayer(); ProtectedPlayerManager.removePlayer(player.getUUID());
LoginProtection.protected_players.removePlayer(player.getUUID());
} }
} }