23 lines
1.0 KiB
Diff
23 lines
1.0 KiB
Diff
--- a/net/minecraft/server/level/ChunkMapDistance.java
|
|
+++ b/net/minecraft/server/level/ChunkMapDistance.java
|
|
@@ -77,6 +77,11 @@
|
|
}
|
|
|
|
if (!this.chunksToUpdateFutures.isEmpty()) {
|
|
+ // CraftBukkit start - SPIGOT-7780: Call chunk unload events before updateHighestAllowedStatus
|
|
+ for (PlayerChunk playerchunk : this.chunksToUpdateFutures) {
|
|
+ playerchunk.callEventIfUnloading(playerchunkmap);
|
|
+ }
|
|
+ // CraftBukkit end
|
|
for (PlayerChunk playerchunk : this.chunksToUpdateFutures) {
|
|
playerchunk.updateHighestAllowedStatus(playerchunkmap);
|
|
}
|
|
@@ -137,6 +142,7 @@
|
|
ChunkCoordIntPair chunkcoordintpair = sectionposition.chunk();
|
|
long i = chunkcoordintpair.toLong();
|
|
ObjectSet<EntityPlayer> objectset = (ObjectSet) this.playersPerChunk.get(i);
|
|
+ if (objectset == null) return; // CraftBukkit - SPIGOT-6208
|
|
|
|
objectset.remove(entityplayer);
|
|
if (objectset.isEmpty()) {
|