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:
@ -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
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user