Fix Nether/End world unloading spawn chunks - Fixes #92

This commit is contained in:
Aikar 2016-04-05 19:53:30 -04:00
parent d020e6e645
commit 8e68f444f1
2 changed files with 36 additions and 0 deletions

View file

@ -0,0 +1,35 @@
From b4c1805159d14e38fede429d131fde0160d3cc88 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Tue, 5 Apr 2016 19:42:22 -0400
Subject: [PATCH] Don't spam reload spawn chunks in nether/end
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 10e40aa..220a942 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -3242,6 +3242,7 @@ public abstract class World implements IBlockAccess {
return this.N;
}
+ public boolean shouldStayLoaded(int i, int j) { return c(i, j); } // Paper - OBFHELPER
public boolean c(int i, int j) {
BlockPosition blockposition = this.getSpawn();
int k = i * 16 + 8 - blockposition.getX();
diff --git a/src/main/java/net/minecraft/server/WorldProvider.java b/src/main/java/net/minecraft/server/WorldProvider.java
index 2d761d4..bc1eaf5 100644
--- a/src/main/java/net/minecraft/server/WorldProvider.java
+++ b/src/main/java/net/minecraft/server/WorldProvider.java
@@ -127,7 +127,7 @@ public abstract class WorldProvider {
public void r() {}
- public boolean c(int i, int j) {
- return true;
+ public boolean c(int i, int j) { // Method is "can chunk unload"
+ return !this.b.shouldStayLoaded(i, j); // Paper - Use shouldStayLoaded check for all worlds
}
}
--
2.8.0

View file

@ -61,6 +61,7 @@ import PathfinderAbstract
import PathfinderGoalFloat
import PersistentVillage
import TileEntityEnderChest
import WorldProvider
cd "$workdir/Spigot/Spigot-Server/"
git add src -A