Revert previous change to clear chunk list on the end of each tick, make it configurable instead.

Whilst the new behaviour was technically correct as it prevented the possibility of the chunk tick list actually increasing over time, it introduced a few issues, namely the fact that it slowed growth to unreasonable levels, and interfered with the values which server admins have finally tuned, and come to enjoy over the last few years.
If it is absolutely essential that growth be halted and ticking reduced as much as possible, the config option is there for power users.
If we wish to 'fix' this by default in the future, a new chunk ticking algorithm, which actually has meaningful config options should be designed.
This commit is contained in:
md_5 2014-01-14 19:16:43 +11:00
parent 0add6ac4af
commit af480b8b95
15 changed files with 60 additions and 51 deletions

View File

@ -1,4 +1,4 @@
From 5d197934f78cbc807e7c6e7f5f04b613a8454c75 Mon Sep 17 00:00:00 2001
From 11f449c45b4450a0c4641fe4e8de3b1abe1a1429 Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Tue, 11 Jun 2013 12:56:02 +1000
Subject: [PATCH] Better Chunk Tick Selection
@ -116,7 +116,7 @@ index cd529ec..53ab411 100644
this.methodProfiler.b();
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index b9b967f..40bb548 100644
index b9b967f..3a8856d 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -306,10 +306,20 @@ public class WorldServer extends World implements org.bukkit.BlockChangeDelegate
@ -151,28 +151,37 @@ index b9b967f..40bb548 100644
block.a(this, k2 + k, i3 + chunksection.getYPosition(), l2 + l, this.random);
}
}
@@ -408,6 +419,7 @@ public class WorldServer extends World implements org.bukkit.BlockChangeDelegate
@@ -408,6 +419,12 @@ public class WorldServer extends World implements org.bukkit.BlockChangeDelegate
this.methodProfiler.b();
}
+ this.chunkTickList.clear(); // Spigot
+ // Spigot Start
+ if ( spigotConfig.clearChunksOnTick )
+ {
+ chunkTickList.clear();
+ }
+ // Spigot End
}
public boolean a(int i, int j, int k, Block block) {
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
index 961ddb4..478d9e6 100644
index 961ddb4..6ba7f5c 100644
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
@@ -68,4 +68,11 @@ public class SpigotWorldConfig
@@ -68,4 +68,15 @@ public class SpigotWorldConfig
config.addDefault( "world-settings.default." + path, def );
return config.getString( "world-settings." + worldName + "." + path, config.getString( "world-settings.default." + path ) );
}
+
+ public int chunksPerTick;
+ public boolean clearChunksOnTick;
+ private void chunksPerTick()
+ {
+ chunksPerTick = getInt( "chunks-per-tick", 650 );
+ log( "Chunks to Grow per Tick: " + chunksPerTick );
+
+ clearChunksOnTick = getBoolean( "clear-tick-list", false );
+ log( "Clear tick list: " + false );
+ }
}
--

View File

@ -1,4 +1,4 @@
From 52b47191f7175fd941117308964a2d01f09f5efe Mon Sep 17 00:00:00 2001
From 31eb3cc4054b8ca75e9c7a9e87281643fcc7e4ce Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Fri, 21 Jun 2013 17:17:20 +1000
Subject: [PATCH] Crop Growth Rates
@ -135,12 +135,12 @@ index 4fae805..a90fab1 100644
if (l < 7) {
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
index 478d9e6..f38bb25 100644
index 6ba7f5c..ddca7c3 100644
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
@@ -75,4 +75,35 @@ public class SpigotWorldConfig
chunksPerTick = getInt( "chunks-per-tick", 650 );
log( "Chunks to Grow per Tick: " + chunksPerTick );
@@ -79,4 +79,35 @@ public class SpigotWorldConfig
clearChunksOnTick = getBoolean( "clear-tick-list", false );
log( "Clear tick list: " + false );
}
+
+ // Crop growth rates

View File

@ -1,4 +1,4 @@
From 6117d1cfc54f4e894a7607003baa1c54cb3ba9bd Mon Sep 17 00:00:00 2001
From 3499d77354a84df9ce6e49d5dba39a0a471b3ff8 Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Sat, 23 Mar 2013 09:46:33 +1100
Subject: [PATCH] Merge tweaks and configuration
@ -69,10 +69,10 @@ index 53ab411..d90d5a4 100644
if (event != null && (event.isCancelled() || entity.dead)) {
entity.dead = true;
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
index f38bb25..9f07e71 100644
index ddca7c3..185442a 100644
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
@@ -106,4 +106,18 @@ public class SpigotWorldConfig
@@ -110,4 +110,18 @@ public class SpigotWorldConfig
saplingModifier = getAndValidateGrowth( "Sapling" );
wheatModifier = getAndValidateGrowth( "Wheat" );
}

View File

@ -1,4 +1,4 @@
From 4ddb7d7d8e92f0f4a333d80a3e3ced37b409bb4b Mon Sep 17 00:00:00 2001
From 6a5b7f6ba565726739616f685d89593fa5862aa6 Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Sat, 23 Mar 2013 09:52:41 +1100
Subject: [PATCH] View Distance
@ -19,7 +19,7 @@ index 4e0398c..ae4ca63 100644
} else {
this.f = i;
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 812e887..9f09a3d 100644
index 3a8856d..a0e4ade 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -54,7 +54,7 @@ public class WorldServer extends World implements org.bukkit.BlockChangeDelegate
@ -32,10 +32,10 @@ index 812e887..9f09a3d 100644
this.entitiesById = new IntHashMap();
}
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
index 9f07e71..97d56bd 100644
index 185442a..15b2ac8 100644
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
@@ -120,4 +120,11 @@ public class SpigotWorldConfig
@@ -124,4 +124,11 @@ public class SpigotWorldConfig
expMerge = getDouble("merge-radius.exp", 3.0 );
log( "Experience Merge Radius: " + expMerge );
}

View File

@ -1,4 +1,4 @@
From 77f77b800a6ffb71e6cf952e2f114b17c3e562f4 Mon Sep 17 00:00:00 2001
From d9860352fadbcf7ba9dc05acdfa6f57bbb3fe2e7 Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Fri, 21 Jun 2013 17:29:54 +1000
Subject: [PATCH] Fix Mob Spawning Relative to View Distance
@ -135,10 +135,10 @@ index f514b78..3f0dd70 100644
continue label110;
}
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
index 97d56bd..47d8421 100644
index 15b2ac8..49a5b7a 100644
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
@@ -127,4 +127,11 @@ public class SpigotWorldConfig
@@ -131,4 +131,11 @@ public class SpigotWorldConfig
viewDistance = getInt( "view-distance", Bukkit.getViewDistance() );
log( "View Distance: " + viewDistance );
}

View File

@ -1,4 +1,4 @@
From f703353afd10357543bc579d91070a3e92496aea Mon Sep 17 00:00:00 2001
From 825f177a357447c0542949b349e839fee21c50ce Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sun, 3 Feb 2013 05:10:21 -0500
Subject: [PATCH] Entity Activation Range
@ -457,10 +457,10 @@ index 0000000..db4c927
+ }
+}
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
index 47d8421..f7c6166 100644
index 49a5b7a..1d95207 100644
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
@@ -134,4 +134,15 @@ public class SpigotWorldConfig
@@ -138,4 +138,15 @@ public class SpigotWorldConfig
mobSpawnRange = (byte) getInt( "mob-spawn-range", 4 );
log( "Mob Spawn Range: " + mobSpawnRange );
}

View File

@ -1,4 +1,4 @@
From 723a29a9f8ab6121ab7a9059b67155bc10104131 Mon Sep 17 00:00:00 2001
From 9b5ea03810a7d9eb28ced82c271b59988a7ac21b Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Wed, 20 Feb 2013 11:58:47 -0500
Subject: [PATCH] Entity Tracking Ranges
@ -24,10 +24,10 @@ index 97d0bbb..fc679ae 100644
i = this.e;
}
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
index f7c6166..92497f5 100644
index 1d95207..43f7fd8 100644
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
@@ -145,4 +145,19 @@ public class SpigotWorldConfig
@@ -149,4 +149,19 @@ public class SpigotWorldConfig
miscActivationRange = getInt( "entity-activation-range.misc", miscActivationRange );
log( "Entity Activation Range: An " + animalActivationRange + " / Mo " + monsterActivationRange + " / Mi " + miscActivationRange );
}

View File

@ -1,4 +1,4 @@
From c9f04ca3489752262a5c59fa13385f09e331ce81 Mon Sep 17 00:00:00 2001
From cde7f232212d25c0082bf180b7550ad7408e19a3 Mon Sep 17 00:00:00 2001
From: erocs <github@erocs.org>
Date: Sun, 8 Sep 2013 12:06:15 -0700
Subject: [PATCH] Hopper Cooldowns
@ -59,10 +59,10 @@ index 730eb78..a68b748 100644
}
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
index 92497f5..fc0aa4c 100644
index 43f7fd8..87eac1b 100644
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
@@ -160,4 +160,17 @@ public class SpigotWorldConfig
@@ -164,4 +164,17 @@ public class SpigotWorldConfig
maxTrackingRange = getInt( "entity-tracking-range.other", maxTrackingRange );
log( "Entity Tracking Range: Pl " + playerTrackingRange + " / An " + animalTrackingRange + " / Mo " + monsterTrackingRange + " / Mi " + miscTrackingRange + " / Other " + maxTrackingRange );
}

View File

@ -1,4 +1,4 @@
From 3d01e9989ffbcbffe694ef398533b212fa04c11d Mon Sep 17 00:00:00 2001
From 2155a9e89454ee4120c716bcdc3b744e243ec84b Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Sat, 22 Jun 2013 16:12:02 +1000
Subject: [PATCH] Allow Disabling of Random Lighting Updates
@ -31,10 +31,10 @@ index 2cc9005..0b6b681 100644
entityhuman = (EntityHuman) this.players.get(i);
j = MathHelper.floor(entityhuman.locX) + this.random.nextInt(11) - 5;
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
index fc0aa4c..eb118c6 100644
index 87eac1b..aa639fe 100644
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
@@ -173,4 +173,11 @@ public class SpigotWorldConfig
@@ -177,4 +177,11 @@ public class SpigotWorldConfig
hopperCheck = getInt( "ticks-per.hopper-check", hopperTransfer );
log( "Hopper Transfer: " + hopperTransfer + " Hopper Check: " + hopperCheck );
}

View File

@ -1,4 +1,4 @@
From 21b153776a02cb6931e8186f666a3bb52567f0ea Mon Sep 17 00:00:00 2001
From 7ac90b95f5e78b0cc8c73bcb29d6cf58e7ed74ab Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Sat, 21 Sep 2013 12:33:09 +1000
Subject: [PATCH] Allow Disabling of 1.6.3 Structure Saving
@ -25,10 +25,10 @@ index 1eb87ae..b3c8101 100644
this.e = new PersistentStructure(this.a());
world.a(this.a(), (PersistentBase) this.e);
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
index eb118c6..a4cdc7a 100644
index aa639fe..3825bdf 100644
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
@@ -180,4 +180,16 @@ public class SpigotWorldConfig
@@ -184,4 +184,16 @@ public class SpigotWorldConfig
randomLightUpdates = getBoolean( "random-light-updates", false );
log( "Random Lighting Updates: " + randomLightUpdates );
}

View File

@ -1,4 +1,4 @@
From dd603179f1246321346cd3394a2fb2a6f762e92a Mon Sep 17 00:00:00 2001
From 271b8162947d0cb71d237b42f39ca03135732626 Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Sun, 22 Sep 2013 19:10:53 +1000
Subject: [PATCH] Item Despawn Rate
@ -18,10 +18,10 @@ index 08b9ac8..8ea7abc 100644
if (org.bukkit.craftbukkit.event.CraftEventFactory.callItemDespawnEvent(this).isCancelled()) {
this.age = 0;
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
index a4cdc7a..0b4e527 100644
index 3825bdf..72aabff 100644
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
@@ -192,4 +192,11 @@ public class SpigotWorldConfig
@@ -196,4 +196,11 @@ public class SpigotWorldConfig
log( "*** WARNING *** Please use this option with caution, SpigotMC is not responsible for any issues this option may cause in the future!" );
}
}

View File

@ -1,4 +1,4 @@
From af94c6183ce68494f41d7ebe8eba02d4d17d686c Mon Sep 17 00:00:00 2001
From 1b4d13ce447c6f1c30b88e443f4e3f976bf141a0 Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Mon, 14 Oct 2013 19:20:10 +1100
Subject: [PATCH] Arrow Despawn Rate
@ -18,10 +18,10 @@ index 3fd3de9..a49519b 100644
}
} else {
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
index 0b4e527..447581d 100644
index 72aabff..d4e8bf4 100644
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
@@ -199,4 +199,11 @@ public class SpigotWorldConfig
@@ -203,4 +203,11 @@ public class SpigotWorldConfig
itemDespawnRate = getInt( "item-despawn-rate", 6000 );
log( "Item Despawn Rate: " + itemDespawnRate );
}

View File

@ -1,4 +1,4 @@
From 97e7b007ed3107e3d442432648fdf234dc4264e8 Mon Sep 17 00:00:00 2001
From 65f36750e5bee16a364326103d42a0cda40fac42 Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Thu, 16 May 2013 18:51:05 +1000
Subject: [PATCH] Orebfuscator
@ -333,7 +333,7 @@ index 0000000..297fae8
+ }
+}
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
index 447581d..743f9bd 100644
index d4e8bf4..b9399ad 100644
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
@@ -1,5 +1,6 @@
@ -343,7 +343,7 @@ index 447581d..743f9bd 100644
import java.util.List;
import org.bukkit.Bukkit;
import org.bukkit.configuration.file.YamlConfiguration;
@@ -206,4 +207,36 @@ public class SpigotWorldConfig
@@ -210,4 +211,36 @@ public class SpigotWorldConfig
arrowDespawnRate = getInt( "arrow-despawn-rate", 1200 );
log( "Arrow Despawn Rate: " + arrowDespawnRate );
}

View File

@ -1,4 +1,4 @@
From 6b13883ffdd352eebd155c6d05c6ed7c3fa37c2f Mon Sep 17 00:00:00 2001
From 5df9392ef7ee1760da1f9d62facd50b06cf7c4ec Mon Sep 17 00:00:00 2001
From: Dylan Xaldin <Puremin0rez515@gmail.com>
Date: Thu, 12 Dec 2013 18:05:03 -0600
Subject: [PATCH] Allow Disabling Zombie Villager Aggression
@ -28,10 +28,10 @@ index 6c6e03e..5c8b0a8 100644
}
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
index b207c02..ea447f9 100644
index b9399ad..e7cb99d 100644
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
@@ -239,4 +239,11 @@ public class SpigotWorldConfig
@@ -243,4 +243,11 @@ public class SpigotWorldConfig
antiXrayInstance = new AntiXray( this );
}

View File

@ -1,4 +1,4 @@
From cc12a2b7e200d943b531a6fa085ca5ba343f4ab2 Mon Sep 17 00:00:00 2001
From 913fd442d20a4b592f6d25ce3efc7991d1559ee6 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Sun, 22 Dec 2013 20:58:02 +1100
Subject: [PATCH] Add Option to Nerf Mobs from Spawner's
@ -51,10 +51,10 @@ index bb6b3d5..1eb8818 100644
// CraftBukkit end
}
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
index ea447f9..e08d6a5 100644
index e7cb99d..50d3069 100644
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
@@ -246,4 +246,11 @@ public class SpigotWorldConfig
@@ -250,4 +250,11 @@ public class SpigotWorldConfig
zombieAggressiveTowardsVillager = getBoolean( "zombie-aggressive-towards-villager", true );
log( "Zombie Aggressive Towards Villager: " + zombieAggressiveTowardsVillager );
}