e56bbcdcda
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.
40 lines
1.5 KiB
Diff
40 lines
1.5 KiB
Diff
From 6141cadba25a695101752faca997db05813c436b Mon Sep 17 00:00:00 2001
|
|
From: Aikar <aikar@aikar.co>
|
|
Date: Mon, 28 Mar 2016 20:46:14 -0400
|
|
Subject: [PATCH] Configurable Chunk Inhabited Timer
|
|
|
|
Vanilla stores how long a chunk has been active on a server, and dynamically scales some
|
|
aspects of vanilla gameplay to this factor.
|
|
|
|
For people who want all chunks to be treated equally, you can disable the timer.
|
|
|
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
index f689d69..6f77cfd 100644
|
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
@@ -295,4 +295,9 @@ public class PaperWorldConfig {
|
|
private void firePhysicsEventForRedstone() {
|
|
firePhysicsEventForRedstone = getBoolean("fire-physics-event-for-redstone", firePhysicsEventForRedstone);
|
|
}
|
|
+
|
|
+ public boolean useInhabitedTime = true;
|
|
+ private void useInhabitedTime() {
|
|
+ useInhabitedTime = getBoolean("use-chunk-inhabited-timer", true);
|
|
+ }
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
|
|
index 98d9e99..7144227 100644
|
|
--- a/src/main/java/net/minecraft/server/Chunk.java
|
|
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
|
@@ -1371,7 +1371,7 @@ public class Chunk {
|
|
}
|
|
|
|
public long x() {
|
|
- return this.w;
|
|
+ return world.paperConfig.useInhabitedTime ? this.w : 0; // Paper
|
|
}
|
|
|
|
public void c(long i) {
|
|
--
|
|
2.8.2
|
|
|