--- a/net/minecraft/server/TickListServer.java
+++ b/net/minecraft/server/TickListServer.java
@@ -37,11 +37,17 @@
this.b();
int i = this.nextTickList.size();
- if (i != this.nextTickListHash.size()) {
+ if (false) { // CraftBukkit
throw new IllegalStateException("TickNextTick list out of synch");
} else {
if (i > 65536) {
- i = 65536;
+ // CraftBukkit start - If the server has too much to process over time, try to alleviate that
+ if (i > 20 * 65536) {
+ i = i / 20;
+ } else {
+ i = 65536;
+ }
+ // CraftBukkit end
}
this.h.getMethodProfiler().enter("selecting");