Instead of overriding add within the queue, never add runnables to the queue if the light queue is disabled. This change is made to make timings reports and stacktraces less confusing for administrators, who prior to this change, would have seen the lighting queue referenced in both, regardless of whether or not it was enabled. This change should not affect performance, nor is it made with the intent to.
49 lines
2.8 KiB
Diff
49 lines
2.8 KiB
Diff
From 73859b56033285cbe25838550eea43ef5b6112ea Mon Sep 17 00:00:00 2001
|
|
From: Aikar <aikar@aikar.co>
|
|
Date: Thu, 12 May 2016 01:55:17 -0400
|
|
Subject: [PATCH] Do not mark chunks as active for neighbor updates
|
|
|
|
Fixes chunk unload issues
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
|
|
index ecc76a88..f1bcdef5 100644
|
|
--- a/src/main/java/net/minecraft/server/Chunk.java
|
|
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
|
@@ -1007,25 +1007,25 @@ public class Chunk {
|
|
// CraftBukkit end
|
|
world.timings.syncChunkLoadPostTimer.stopTiming(); // Paper
|
|
world.timings.syncChunkLoadPopulateNeighbors.startTiming(); // Paper
|
|
- Chunk chunk = ichunkprovider.getLoadedChunkAt(this.locX, this.locZ - 1);
|
|
- Chunk chunk1 = ichunkprovider.getLoadedChunkAt(this.locX + 1, this.locZ);
|
|
- Chunk chunk2 = ichunkprovider.getLoadedChunkAt(this.locX, this.locZ + 1);
|
|
- Chunk chunk3 = ichunkprovider.getLoadedChunkAt(this.locX - 1, this.locZ);
|
|
+ Chunk chunk = MCUtil.getLoadedChunkWithoutMarkingActive(ichunkprovider,this.locX, this.locZ - 1); // Paper
|
|
+ Chunk chunk1 = MCUtil.getLoadedChunkWithoutMarkingActive(ichunkprovider,this.locX + 1, this.locZ); // Paper
|
|
+ Chunk chunk2 = MCUtil.getLoadedChunkWithoutMarkingActive(ichunkprovider,this.locX, this.locZ + 1); // Paper
|
|
+ Chunk chunk3 = MCUtil.getLoadedChunkWithoutMarkingActive(ichunkprovider,this.locX - 1, this.locZ); // Paper
|
|
|
|
- if (chunk1 != null && chunk2 != null && ichunkprovider.getLoadedChunkAt(this.locX + 1, this.locZ + 1) != null) {
|
|
+ if (chunk1 != null && chunk2 != null && MCUtil.getLoadedChunkWithoutMarkingActive(ichunkprovider,this.locX + 1, this.locZ + 1) != null) { // Paper
|
|
this.a(chunkgenerator);
|
|
}
|
|
|
|
- if (chunk3 != null && chunk2 != null && ichunkprovider.getLoadedChunkAt(this.locX - 1, this.locZ + 1) != null) {
|
|
+ if (chunk3 != null && chunk2 != null && MCUtil.getLoadedChunkWithoutMarkingActive(ichunkprovider,this.locX - 1, this.locZ + 1) != null) { // Paper
|
|
chunk3.a(chunkgenerator);
|
|
}
|
|
|
|
- if (chunk != null && chunk1 != null && ichunkprovider.getLoadedChunkAt(this.locX + 1, this.locZ - 1) != null) {
|
|
+ if (chunk != null && chunk1 != null && MCUtil.getLoadedChunkWithoutMarkingActive(ichunkprovider,this.locX + 1, this.locZ - 1) != null) { // Paper
|
|
chunk.a(chunkgenerator);
|
|
}
|
|
|
|
if (chunk != null && chunk3 != null) {
|
|
- Chunk chunk4 = ichunkprovider.getLoadedChunkAt(this.locX - 1, this.locZ - 1);
|
|
+ Chunk chunk4 = MCUtil.getLoadedChunkWithoutMarkingActive(ichunkprovider,this.locX - 1, this.locZ - 1); // Paper
|
|
|
|
if (chunk4 != null) {
|
|
chunk4.a(chunkgenerator);
|
|
--
|
|
2.15.1.windows.2
|
|
|