isLoaded calls should NOT load chunks...

This commit is contained in:
William Blake Galbreath 2019-07-12 18:15:33 -05:00
parent 6eb2a02e66
commit 3884a4b321

View File

@ -0,0 +1,53 @@
From 72375763835b492551ee6f6a3ebaba8d66e9988f Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Fri, 12 Jul 2019 17:45:16 -0500
Subject: [PATCH] isLoaded calls should NOT load chunks...
---
src/main/java/net/minecraft/server/ChunkProviderServer.java | 2 +-
src/main/java/net/minecraft/server/FluidTypeLava.java | 2 +-
src/main/java/net/minecraft/server/World.java | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
index 539c65f855..db9113994e 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
@@ -164,7 +164,7 @@ public class ChunkProviderServer extends IChunkProvider {
for (int l = 0; l < 4; ++l) {
if (k == this.cachePos[l] && chunkstatus == this.cacheStatus[l]) {
ichunkaccess = this.cacheChunk[l];
- if (ichunkaccess != null) { // CraftBukkit - the chunk can become accessible in the meantime TODO for non-null chunks it might also make sense to check that the chunk's state hasn't changed in the meantime
+ if (ichunkaccess != null || !flag) { // CraftBukkit - the chunk can become accessible in the meantime TODO for non-null chunks it might also make sense to check that the chunk's state hasn't changed in the meantime // Purpur - put flag back
return ichunkaccess;
}
}
diff --git a/src/main/java/net/minecraft/server/FluidTypeLava.java b/src/main/java/net/minecraft/server/FluidTypeLava.java
index 2f9578e1cf..5f404fb721 100644
--- a/src/main/java/net/minecraft/server/FluidTypeLava.java
+++ b/src/main/java/net/minecraft/server/FluidTypeLava.java
@@ -94,7 +94,7 @@ public abstract class FluidTypeLava extends FluidTypeFlowing {
}
private boolean b(IWorldReader iworldreader, BlockPosition blockposition) {
- return blockposition.getY() >= 0 && blockposition.getY() < 256 && !iworldreader.isLoaded(blockposition) ? false : iworldreader.getType(blockposition).getMaterial().isBurnable();
+ return blockposition.getY() >= 0 && blockposition.getY() < 256 && !((WorldServer)iworldreader).isLoaded(blockposition) ? false : iworldreader.getType(blockposition).getMaterial().isBurnable(); // Purpur
}
@Override
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index c86c9d1ecc..c80c659a38 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -133,7 +133,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
}
public Chunk getChunkIfLoaded(int x, int z) {
- return ((ChunkProviderServer) this.chunkProvider).getChunkAt(x, z, false);
+ return (Chunk) getChunkIfLoadedImmediately(x, z); // Purpur
}
protected World(WorldData worlddata, DimensionManager dimensionmanager, BiFunction<World, WorldProvider, IChunkProvider> bifunction, GameProfilerFiller gameprofilerfiller, boolean flag, org.bukkit.generator.ChunkGenerator gen, org.bukkit.World.Environment env) {
--
2.20.1