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 0af7bba7e8
commit 187eebee4a

View File

@ -7,7 +7,6 @@ import java.util.UUID;
public class ProtectedPlayer {
// Initialize variables
private final UUID playerUUID;
private int gracePeriodTimeRemaining = 0;
private final Timer timer = new Timer();
private TimerTask afkTimerTask, gracePeriodTimerTask;
private State state;
@ -28,32 +27,17 @@ public class ProtectedPlayer {
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() {
return timer;
}
public void setGracePeriodTimerTask(TimerTask gracePeriodTimerTask) {
public void setGracePeriodTimerTask(TimerTask gracePeriodTimerTask, long delay) {
if (this.gracePeriodTimerTask != null) {
this.gracePeriodTimerTask.cancel();
}
if (gracePeriodTimerTask != null) {
this.gracePeriodTimerTask = gracePeriodTimerTask;
timer.schedule(this.gracePeriodTimerTask, 1000, 1000);
timer.schedule(this.gracePeriodTimerTask, delay);
}
}
@ -85,6 +69,8 @@ public class ProtectedPlayer {
public enum State {
JOINING,
AFK,
ACTIVE
ACTIVE,
LOGIN_GRACE,
AFK_GRACE
}
}