ProtectedPlayer: Grace period changes.

- Removed old way of tracking how much time is left in the grace period.
- Added delay parameter to the setGracePeriodTimerTask method.
- Added two new States: LOGIN_GRACE and AFK_GRACE.
This commit is contained in:
2022-06-07 14:29:30 +01:00
parent d9f68f6162
commit 1ad35ed9d9

View File

@ -7,7 +7,6 @@ import java.util.UUID;
public class ProtectedPlayer { public class ProtectedPlayer {
// Initialize variables // Initialize variables
private final UUID playerUUID; private final UUID playerUUID;
private int gracePeriodTimeRemaining = 0;
private final Timer timer = new Timer(); private final Timer timer = new Timer();
private TimerTask afkTimerTask, gracePeriodTimerTask; private TimerTask afkTimerTask, gracePeriodTimerTask;
private State state; private State state;
@ -28,32 +27,17 @@ public class ProtectedPlayer {
return playerUUID; return playerUUID;
} }
/**
* @return Remaining grade period time.
*/
public int getGracePeriodTimeRemaining() {
return gracePeriodTimeRemaining;
}
/**
* Set the remaining grace period time.
* @param gracePeriodLength Grade period length.
*/
public void setGracePeriod(int gracePeriodLength) {
this.gracePeriodTimeRemaining = gracePeriodLength;
}
public Timer getTimer() { public Timer getTimer() {
return timer; return timer;
} }
public void setGracePeriodTimerTask(TimerTask gracePeriodTimerTask) { public void setGracePeriodTimerTask(TimerTask gracePeriodTimerTask, long delay) {
if (this.gracePeriodTimerTask != null) { if (this.gracePeriodTimerTask != null) {
this.gracePeriodTimerTask.cancel(); this.gracePeriodTimerTask.cancel();
} }
if (gracePeriodTimerTask != null) { if (gracePeriodTimerTask != null) {
this.gracePeriodTimerTask = gracePeriodTimerTask; this.gracePeriodTimerTask = gracePeriodTimerTask;
timer.schedule(this.gracePeriodTimerTask, 1000, 1000); timer.schedule(this.gracePeriodTimerTask, delay);
} }
} }
@ -85,6 +69,8 @@ public class ProtectedPlayer {
public enum State { public enum State {
JOINING, JOINING,
AFK, AFK,
ACTIVE ACTIVE,
LOGIN_GRACE,
AFK_GRACE
} }
} }