From f46109e1cbdb01c2ae896d544a5d82cf40512f44 Mon Sep 17 00:00:00 2001 From: Micle Date: Sun, 5 Jun 2022 13:41:10 +0100 Subject: [PATCH] Changed ProtectedPlayer's timers. -Removed lastInputTick field along with the getter and setter. -Changed timer name and added two TimerTask fields for the grace period and afk. -Changed the getter for the timer. -Added new setters for both of the timer tasks. --- .../loginprotection/data/ProtectedPlayer.java | 40 ++++++++++++------- 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/src/main/java/dev/micle/loginprotection/data/ProtectedPlayer.java b/src/main/java/dev/micle/loginprotection/data/ProtectedPlayer.java index efaecd1..0c78f48 100755 --- a/src/main/java/dev/micle/loginprotection/data/ProtectedPlayer.java +++ b/src/main/java/dev/micle/loginprotection/data/ProtectedPlayer.java @@ -1,15 +1,16 @@ package dev.micle.loginprotection.data; import java.util.Timer; +import java.util.TimerTask; import java.util.UUID; public class ProtectedPlayer { // Initialize variables private final UUID playerUUID; private int gracePeriodTimeRemaining = 0; - private final Timer gracePeriodTimer = new Timer(); + private final Timer timer = new Timer(); + private TimerTask afkTimerTask, gracePeriodTimerTask; private State state; - private int lastInputTick = -1; /** * Constructor for a ProtectedPlayer. @@ -42,11 +43,28 @@ public class ProtectedPlayer { this.gracePeriodTimeRemaining = gracePeriodLength; } - /** - * @return Grace period timer. - */ - public Timer getGracePeriodTimer() { - return gracePeriodTimer; + public Timer getTimer() { + return timer; + } + + public void setGracePeriodTimerTask(TimerTask gracePeriodTimerTask) { + if (this.gracePeriodTimerTask != null) { + this.gracePeriodTimerTask.cancel(); + } + if (gracePeriodTimerTask != null) { + this.gracePeriodTimerTask = gracePeriodTimerTask; + timer.schedule(this.gracePeriodTimerTask, 1000, 1000); + } + } + + public void setAfkTimerTask(TimerTask afkTimerTask, long delay) { + if (this.afkTimerTask != null) { + this.afkTimerTask.cancel(); + } + if (afkTimerTask != null) { + this.afkTimerTask = afkTimerTask; + timer.schedule(this.afkTimerTask, delay); + } } /** @@ -64,14 +82,6 @@ public class ProtectedPlayer { this.state = state; } - public int getLastInputTick() { - return lastInputTick; - } - - public void setLastInputTick(int lastInputTick) { - this.lastInputTick = lastInputTick; - } - public enum State { JOINING, AFK,