13
0
geforkt von Mirrors/Paper

Correct scheduler behaviour with intervals of >= Integer.MAX_VALUE (circa 3 years).

Dieser Commit ist enthalten in:
md_5 2017-07-25 15:36:44 +10:00
Ursprung 4670a84bd9
Commit d35483b0e1

Datei anzeigen

@ -60,10 +60,10 @@ public class CraftScheduler implements BukkitScheduler {
private final PriorityQueue<CraftTask> pending = new PriorityQueue<CraftTask>(10, private final PriorityQueue<CraftTask> pending = new PriorityQueue<CraftTask>(10,
new Comparator<CraftTask>() { new Comparator<CraftTask>() {
public int compare(final CraftTask o1, final CraftTask o2) { public int compare(final CraftTask o1, final CraftTask o2) {
int value = (int) (o1.getNextRun() - o2.getNextRun()); int value = Long.compare(o1.getNextRun(), o2.getNextRun());
// If the tasks should run on the same tick they should be run FIFO // If the tasks should run on the same tick they should be run FIFO
return value != 0 ? value : o1.getTaskId() - o2.getTaskId(); return value != 0 ? value : Integer.compare(o1.getTaskId(), o2.getTaskId());
} }
}); });
/** /**