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.
Dieser Commit ist enthalten in:
Ursprung
538ddc9cc4
Commit
acf410d391
@ -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>
|
From: Thinkofdeath <thethinkofdeath@gmail.com>
|
||||||
Date: Mon, 2 Dec 2013 23:42:09 +0000
|
Date: Mon, 2 Dec 2013 23:42:09 +0000
|
||||||
Subject: [PATCH] Fix some chunks not being sent to the client
|
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
|
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
|
--- a/src/main/java/net/minecraft/server/Chunk.java
|
||||||
+++ b/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() {
|
public boolean k() {
|
||||||
|
- return this.m && this.done && this.lit;
|
||||||
+ // Spigot Start
|
+ // Spigot Start
|
||||||
+ if ( !( this.m && this.done && this.lit ) )
|
+ /*
|
||||||
+ {
|
+ * As of 1.7, Mojang added a check to make sure that only chunks which have been lit are sent to the client.
|
||||||
+ this.b( false );
|
+ * 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
|
+ // Spigot End
|
||||||
return this.m && this.done && this.lit;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ChunkCoordIntPair l() {
|
||||||
--
|
--
|
||||||
1.8.4.msysgit.0
|
1.8.3.2
|
||||||
|
|
||||||
|
In neuem Issue referenzieren
Einen Benutzer sperren