diff --git a/patches/net/minecraft/world/World.java.patch b/patches/net/minecraft/world/World.java.patch index 5664362f..6b8a889f 100644 --- a/patches/net/minecraft/world/World.java.patch +++ b/patches/net/minecraft/world/World.java.patch @@ -1389,7 +1389,7 @@ + // Keep chunks with growth inside of the optimal chunk range + int chunksPerPlayer = Math.min(200, Math.max(1, (int) (((optimalChunks - playerEntities.size()) / (double) playerEntities.size()) + 0.5))); + // Cauldron start - use server view distance instead of capping it at 7 -+ int randRange = this.func_152379_p(); ++ int randRange = Math.min(this.getSpigotConfig().tickDistance, this.func_152379_p()); + if (randRange < 1) + { + throw new IllegalArgumentException("Too small view radius! edit server.properties and change view-distance to a value > 0."); diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java index 8e8e2f9a..73294a64 100644 --- a/src/main/java/org/spigotmc/SpigotWorldConfig.java +++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java @@ -23,6 +23,7 @@ public class SpigotWorldConfig { public double itemMerge; public double expMerge; public int viewDistance; + public int tickDistance; public byte mobSpawnRange; public int animalActivationRange = 32; public int monsterActivationRange = 32; @@ -147,6 +148,11 @@ private void viewDistance() { log("View Distance: " + viewDistance); } + private void tickDistance() { + tickDistance = getInt("tick-distance", Bukkit.getViewDistance()); + log("Tick Distance: " + tickDistance); + } + private void mobSpawnRange() { mobSpawnRange = (byte) getInt("mob-spawn-range", 4); log("Mob Spawn Range: " + mobSpawnRange);