mirror of
https://github.com/NoCheatPlus/NoCheatPlus.git
synced 2024-12-28 11:28:11 +01:00
Add ability to lock TickTask.
Prevents adding new entries.
This commit is contained in:
parent
44b6eb2b2a
commit
2a8b6e3ad2
@ -61,6 +61,9 @@ public class TickTask implements Runnable {
|
||||
|
||||
protected static long timeLast = 0;
|
||||
|
||||
/** Lock flag set on disable. */
|
||||
protected static boolean locked = false;
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////
|
||||
// Special static methods, usually not called from outside.
|
||||
@ -115,6 +118,7 @@ public class TickTask implements Runnable {
|
||||
* @param checkType
|
||||
*/
|
||||
public static void requestPermissionUpdate(final String playerName, final CheckType checkType){
|
||||
if (locked) return;
|
||||
permissionUpdates.add(new PermissionUpdateEntry(playerName, checkType));
|
||||
}
|
||||
|
||||
@ -124,6 +128,7 @@ public class TickTask implements Runnable {
|
||||
* @param actions
|
||||
*/
|
||||
public static void requestActionsExecution(final ViolationData actions) {
|
||||
if (locked) return;
|
||||
delayedActions.add(actions);
|
||||
}
|
||||
|
||||
@ -144,10 +149,22 @@ public class TickTask implements Runnable {
|
||||
return timeStart;
|
||||
}
|
||||
|
||||
/**
|
||||
* Time when last time processing was finished.
|
||||
* @return
|
||||
*/
|
||||
public static final long getTimeLast(){
|
||||
return timeLast;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if new permission update requests and actions can be added.
|
||||
* @return True if locked.
|
||||
*/
|
||||
public boolean isLocked(){
|
||||
return locked;
|
||||
}
|
||||
|
||||
////////////////////////////////////////
|
||||
// Public methods for internal use.
|
||||
////////////////////////////////////////
|
||||
@ -165,6 +182,14 @@ public class TickTask implements Runnable {
|
||||
taskId = -1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Control if new elements can be added to request queues.
|
||||
* @param locked
|
||||
*/
|
||||
public static void setLocked(boolean locked){
|
||||
TickTask.locked = locked;
|
||||
}
|
||||
|
||||
//////////////////////////
|
||||
// Instance methods
|
||||
//////////////////////////
|
||||
|
Loading…
Reference in New Issue
Block a user