Spigot had code that returned early in chunk add/remove methods. This was causing our code added to set current chunks and counts to be skipped over if the entity was default not persistent but made persistent. This was the source of many issues Fixes #1208
41 lines
1.5 KiB
Diff
41 lines
1.5 KiB
Diff
From b0b7b1aef28c4017f37927c00042e87384f5a9bc 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 e634c3afd..54f23ea75 100644
|
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
@@ -271,4 +271,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 d84cc9843..da7b59434 100644
|
|
--- a/src/main/java/net/minecraft/server/Chunk.java
|
|
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
|
@@ -1441,7 +1441,7 @@ public class Chunk {
|
|
}
|
|
|
|
public long x() {
|
|
- return this.w;
|
|
+ return world.paperConfig.useInhabitedTime ? this.w : 0; // Paper
|
|
}
|
|
|
|
public void c(long i) {
|
|
--
|
|
2.18.0
|
|
|