aboutsummaryrefslogtreecommitdiffhomepage
path: root/Spigot-Server-Patches-Unmapped/0074-Configurable-Chunk-Inhabited-Time.patch
diff options
context:
space:
mode:
Diffstat (limited to 'Spigot-Server-Patches-Unmapped/0074-Configurable-Chunk-Inhabited-Time.patch')
-rw-r--r--Spigot-Server-Patches-Unmapped/0074-Configurable-Chunk-Inhabited-Time.patch44
1 files changed, 44 insertions, 0 deletions
diff --git a/Spigot-Server-Patches-Unmapped/0074-Configurable-Chunk-Inhabited-Time.patch b/Spigot-Server-Patches-Unmapped/0074-Configurable-Chunk-Inhabited-Time.patch
new file mode 100644
index 0000000000..aec9c86c64
--- /dev/null
+++ b/Spigot-Server-Patches-Unmapped/0074-Configurable-Chunk-Inhabited-Time.patch
@@ -0,0 +1,44 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Aikar <[email protected]>
+Date: Mon, 28 Mar 2016 20:46:14 -0400
+Subject: [PATCH] Configurable Chunk Inhabited Time
+
+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 chose a fixed value.
+
+This allows to fine-tune vanilla gameplay.
+
+diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+index cd64fb9d0c6d123e1c86cb33f12cd9cefc9f80d0..74ba5dbb83c13ce1721619b755036a7864a1fb90 100644
+--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
++++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+@@ -238,4 +238,14 @@ public class PaperWorldConfig {
+ skeleHorseSpawnChance = 0.01D; // Vanilla value
+ }
+ }
++
++ public int fixedInhabitedTime;
++ private void fixedInhabitedTime() {
++ if (PaperConfig.version < 16) {
++ if (!config.getBoolean("world-settings.default.use-chunk-inhabited-timer", true)) config.set("world-settings.default.fixed-chunk-inhabited-time", 0);
++ if (!config.getBoolean("world-settings." + worldName + ".use-chunk-inhabited-timer", true)) config.set("world-settings." + worldName + ".fixed-chunk-inhabited-time", 0);
++ set("use-chunk-inhabited-timer", null);
++ }
++ fixedInhabitedTime = getInt("fixed-chunk-inhabited-time", -1);
++ }
+ }
+diff --git a/src/main/java/net/minecraft/world/level/chunk/Chunk.java b/src/main/java/net/minecraft/world/level/chunk/Chunk.java
+index fdc491f978560c394eec22116572585f9bbdec9f..b6898cd6e6117fef65198db32b98a64c806811d4 100644
+--- a/src/main/java/net/minecraft/world/level/chunk/Chunk.java
++++ b/src/main/java/net/minecraft/world/level/chunk/Chunk.java
+@@ -1022,7 +1022,7 @@ public class Chunk implements IChunkAccess {
+
+ @Override
+ public long getInhabitedTime() {
+- return this.inhabitedTime;
++ return world.paperConfig.fixedInhabitedTime < 0 ? this.inhabitedTime : world.paperConfig.fixedInhabitedTime; // Paper
+ }
+
+ @Override