Allowance to limit {Tile,}Entity max tick consume for keep higher tps
This commit is contained in:
@ -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");
|
||||
}
|
||||
}
|
||||
|
18
src/main/java/org/spigotmc/TickLimiter.java
Normal file
18
src/main/java/org/spigotmc/TickLimiter.java
Normal 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;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user