Refactor Lighting Queue System
may help #284 Cleans up the lighting queue system, reducing diff and improving implementation. We no longer stop chunk unloads due to lighting updates, and instead simply flush the lighting queue. The cost of forcing the chunk (and its neighbors!) to stay loaded waiting for its lighting work to finish is much greater than simply taking the hit and doing the work. This change also helps reduce the diff and avoid bugs with missed diffs by removing duplicated logic. Also switches to a more effecient data structure (ArrayDeque instead of LinkedList) for the queue itself.
This commit is contained in:
@@ -1,14 +1,14 @@
|
||||
From 42278206102e357936f9e7d8b7001160df905803 Mon Sep 17 00:00:00 2001
|
||||
From 6a7f3beb5deb1e84b02189832d3db4bc8fbc2161 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Mon, 28 Mar 2016 20:32:58 -0400
|
||||
Subject: [PATCH] Entity AddTo/RemoveFrom World Events
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index db70868..830494c 100644
|
||||
index 757ed3e..095d4b2 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1117,6 +1117,7 @@ public abstract class World implements IBlockAccess {
|
||||
@@ -1107,6 +1107,7 @@ public abstract class World implements IBlockAccess {
|
||||
}
|
||||
|
||||
entity.valid = true; // CraftBukkit
|
||||
@@ -16,7 +16,7 @@ index db70868..830494c 100644
|
||||
}
|
||||
|
||||
protected void c(Entity entity) {
|
||||
@@ -1124,6 +1125,7 @@ public abstract class World implements IBlockAccess {
|
||||
@@ -1114,6 +1115,7 @@ public abstract class World implements IBlockAccess {
|
||||
((IWorldAccess) this.u.get(i)).b(entity);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user