3
0

Allowance to limit {Tile,}Entity max tick consume for keep higher tps

This commit is contained in:
Prototik
2015-05-15 09:08:55 +07:00
parent 56e30acac0
commit 4496eada0a
4 changed files with 164 additions and 61 deletions

View File

@ -278,4 +278,13 @@ public class SpigotWorldConfig
maxCollisionsPerEntity = getInt( "max-entity-collisions", 8 );
log( "Max Entity Collisions: " + maxCollisionsPerEntity );
}
public int tileMaxTickTime;
public int entityMaxTickTime;
private void maxTickTimes()
{
tileMaxTickTime = getInt("max-tick-time.tile", 50);
entityMaxTickTime = getInt("max-tick-time.entity", 50);
log("Tile Max Tick Time: " + tileMaxTickTime + "ms Entity max Tick Time: " + entityMaxTickTime + "ms");
}
}

View File

@ -0,0 +1,18 @@
package org.spigotmc;
public class TickLimiter {
private final int maxTime;
private long startTime;
public TickLimiter(int maxTime) {
this.maxTime = maxTime;
}
public void initTick() {
startTime = System.currentTimeMillis();
}
public boolean shouldContinue() {
return System.currentTimeMillis() - startTime < maxTime;
}
}