39 lines
1.8 KiB
Diff
39 lines
1.8 KiB
Diff
From 58d0f47f63481d1f00a5aa9628248cb1e77e58ef Mon Sep 17 00:00:00 2001
|
|
From: Aikar <aikar@aikar.co>
|
|
Date: Sat, 21 Apr 2018 11:21:48 -0400
|
|
Subject: [PATCH] Configurable Allowance of Permanent Chunk Loaders
|
|
|
|
This disables the behavior that allows players to keep chunks permanently loaded
|
|
by default and allows server operators to enable it if they wish.
|
|
|
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
index 809441fc63..4a135d84db 100644
|
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
@@ -471,4 +471,9 @@ public class PaperWorldConfig {
|
|
break;
|
|
}
|
|
}
|
|
+ public boolean allowPermaChunkLoaders = false;
|
|
+ private void allowPermaChunkLoaders() {
|
|
+ allowPermaChunkLoaders = getBoolean("game-mechanics.allow-permanent-chunk-loaders", allowPermaChunkLoaders);
|
|
+ log("Allow Perma Chunk Loaders: " + (allowPermaChunkLoaders ? "enabled" : "disabled"));
|
|
+ }
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
|
index 4973721243..0e0c7b1abe 100644
|
|
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
|
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
|
@@ -111,7 +111,7 @@ public class ChunkProviderServer implements IChunkProvider {
|
|
Long2ObjectMap long2objectmap = this.chunks;
|
|
|
|
synchronized (this.chunks) {
|
|
- Chunk chunk = this.getLoadedChunkAt(i, j);
|
|
+ Chunk chunk = world.paperConfig.allowPermaChunkLoaders ? getLoadedChunkAt(i, j) : getChunkIfLoaded(i, j); // Paper - Configurable perma chunk loaders
|
|
|
|
return chunk != null ? chunk : this.loadChunkAt(i, j);
|
|
}
|
|
--
|
|
2.18.0
|
|
|