diff --git a/src/main/java/dev/micle/loginprotection/events/OnPlayerTickEventHandler.java b/src/main/java/dev/micle/loginprotection/events/OnPlayerTickEventHandler.java new file mode 100644 index 0000000..ce06f4d --- /dev/null +++ b/src/main/java/dev/micle/loginprotection/events/OnPlayerTickEventHandler.java @@ -0,0 +1,20 @@ +package dev.micle.loginprotection.events; + +import dev.micle.loginprotection.data.ProtectedPlayer; +import dev.micle.loginprotection.data.ProtectedPlayerManager; +import dev.micle.loginprotection.setup.Config; +import net.minecraftforge.event.TickEvent; +import net.minecraftforge.eventbus.api.SubscribeEvent; + +public class OnPlayerTickEventHandler { + @SubscribeEvent + public void onPlayerTickEvent(TickEvent.PlayerTickEvent event) { + ProtectedPlayer protectedPlayer = ProtectedPlayerManager.getPlayer(event.player.getUUID()); + if (protectedPlayer == null) { + return; + } + if (event.player.tickCount - protectedPlayer.getLastInputTick() >= Config.Server.AFK_TIME_THRESHOLD.get() * 20) { + ProtectedPlayerManager.updateState(protectedPlayer.getPlayerUUID()); + } + } +}