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.
This commit is contained in:
md_5 2013-12-03 15:43:02 +11:00
parent 538ddc9cc4
commit acf410d391

View file

@ -1,26 +1,30 @@
From 7f6ffc377f63db0c5bfe0bfb9189e14f2a670270 Mon Sep 17 00:00:00 2001
From ea0330160627fac71f970dd0977d696a54385ef7 Mon Sep 17 00:00:00 2001
From: Thinkofdeath <thethinkofdeath@gmail.com>
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