papermc/Spigot-Server-Patches/0106-Configurable-Chunk-Inhabited-Timer.patch
Aikar 3faaaab75d Optimize isInvalidYLocation, getType and getBlockData
Some pretty micro optimizations, but this is the hottest method in the server....

This will drastically reduce number of operations to perform getType

the 2 previous patches was squashed into 1
2016-06-22 22:43:02 -04:00

40 lines
1.5 KiB
Diff

From 43dbd3c0ac26aee92c2039f72f38663d55e108c7 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 a97eee7..8966b4a 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -301,4 +301,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 c7452d9..e36525a 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -1402,7 +1402,7 @@ public class Chunk {
}
public long x() {
- return this.w;
+ return world.paperConfig.useInhabitedTime ? this.w : 0; // Paper
}
public void c(long i) {
--
2.9.0