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;
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);
}
}
}

View File

@ -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);
}
}

View File

@ -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());
}
}

View File

@ -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());
}
}