PaperMC/Spigot-Server-Patches/0095-Configurable-Chunk-Inhabited-Timer.patch
Aikar 5d8b3d4969
Fix placement of chunk tracking - Fixes #1199
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
2018-07-15 02:44:37 -04:00

40 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