From acf410d391481a4a84eb9ad4ca75312c5e847eb9 Mon Sep 17 00:00:00 2001 From: md_5 Date: Tue, 3 Dec 2013 15:43:02 +1100 Subject: [PATCH] Address some chunk gen speed issues - see below for current reasoning. As of 1.7, Mojang added a check to make sure that only chunks which have been lit are sent to the client. Unfortunately this interferes with our modified chunk ticking algorithm, which will only tick chunks distant from the player on a very infrequent basis. We cannot unfortunately do this lighting stage during chunk gen as it appears to put a lot more noticeable load on the server, than when it is done at play time. For now at least we will simply send all chunks, in accordance with pre 1.7 behaviour. --- ...-chunks-not-being-sent-to-the-client.patch | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/CraftBukkit-Patches/0070-Fix-some-chunks-not-being-sent-to-the-client.patch b/CraftBukkit-Patches/0070-Fix-some-chunks-not-being-sent-to-the-client.patch index 231dea110..792cc72b6 100644 --- a/CraftBukkit-Patches/0070-Fix-some-chunks-not-being-sent-to-the-client.patch +++ b/CraftBukkit-Patches/0070-Fix-some-chunks-not-being-sent-to-the-client.patch @@ -1,26 +1,30 @@ -From 7f6ffc377f63db0c5bfe0bfb9189e14f2a670270 Mon Sep 17 00:00:00 2001 +From ea0330160627fac71f970dd0977d696a54385ef7 Mon Sep 17 00:00:00 2001 From: Thinkofdeath Date: Mon, 2 Dec 2013 23:42:09 +0000 Subject: [PATCH] Fix some chunks not being sent to the client diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 99c30f9..d342f8f 100644 +index 99c30f9..412e487 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -919,6 +919,12 @@ public class Chunk { +@@ -919,7 +919,15 @@ public class Chunk { } public boolean k() { +- return this.m && this.done && this.lit; + // Spigot Start -+ if ( !( this.m && this.done && this.lit ) ) -+ { -+ this.b( false ); -+ } ++ /* ++ * As of 1.7, Mojang added a check to make sure that only chunks which have been lit are sent to the client. ++ * Unfortunately this interferes with our modified chunk ticking algorithm, which will only tick chunks distant from the player on a very infrequent basis. ++ * We cannot unfortunately do this lighting stage during chunk gen as it appears to put a lot more noticeable load on the server, than when it is done at play time. ++ * For now at least we will simply send all chunks, in accordance with pre 1.7 behaviour. ++ */ ++ return true; + // Spigot End - return this.m && this.done && this.lit; } + public ChunkCoordIntPair l() { -- -1.8.4.msysgit.0 +1.8.3.2