From 19fab5f746af8326b585e65c5357955896a345f4 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Mon, 13 Apr 2015 15:47:15 -0500 Subject: [PATCH] Fix redstone lag issues diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java index 261c86c..e34e7fd 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -611,6 +611,8 @@ public class WorldServer extends World implements IAsyncTaskHandler { if (false) { // CraftBukkit throw new IllegalStateException("TickNextTick list out of synch"); } else { + // PaperSpigot start - No, stop doing this, it affects things like redstone + /* if (i > 1000) { // CraftBukkit start - If the server has too much to process over time, try to alleviate that if (i > 20 * 1000) { @@ -619,7 +621,11 @@ public class WorldServer extends World implements IAsyncTaskHandler { i = 1000; } // CraftBukkit end + */ + if (i > paperSpigotConfig.tickNextTickCap) { + i = paperSpigotConfig.tickNextTickCap; } + // PaperSpigot end this.methodProfiler.a("cleaning"); diff --git a/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java b/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java index 1915a7c..fa4a7d7 100644 --- a/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java +++ b/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java @@ -223,4 +223,11 @@ public class PaperSpigotWorldConfig System.err.println( "==========================================" ); } } + + public int tickNextTickCap; + private void tickNextTickCap() + { + tickNextTickCap = getInt( "tick-next-tick-list-cap", 10000 ); // Higher values will be friendlier to vanilla style mechanics (to a point) but may hurt performance + log( "WorldServer TickNextTick cap set at " + tickNextTickCap ); + } } -- 2.3.5