2021-03-16 09:00:00 +11:00
|
|
|
--- a/net/minecraft/server/level/ChunkMapDistance.java
|
|
|
|
+++ b/net/minecraft/server/level/ChunkMapDistance.java
|
2025-03-26 03:05:00 +11:00
|
|
|
@@ -77,6 +77,11 @@
|
|
|
|
}
|
2024-09-27 08:46:44 +10:00
|
|
|
|
2025-03-26 03:05:00 +11:00
|
|
|
if (!this.chunksToUpdateFutures.isEmpty()) {
|
2024-09-27 08:46:44 +10:00
|
|
|
+ // CraftBukkit start - SPIGOT-7780: Call chunk unload events before updateHighestAllowedStatus
|
2025-03-26 03:05:00 +11:00
|
|
|
+ for (PlayerChunk playerchunk : this.chunksToUpdateFutures) {
|
2024-09-27 08:46:44 +10:00
|
|
|
+ playerchunk.callEventIfUnloading(playerchunkmap);
|
2024-10-23 02:15:00 +11:00
|
|
|
+ }
|
2024-09-27 08:46:44 +10:00
|
|
|
+ // CraftBukkit end
|
2025-03-26 03:05:00 +11:00
|
|
|
for (PlayerChunk playerchunk : this.chunksToUpdateFutures) {
|
2024-09-27 08:46:44 +10:00
|
|
|
playerchunk.updateHighestAllowedStatus(playerchunkmap);
|
2025-03-26 03:05:00 +11:00
|
|
|
}
|
|
|
|
@@ -137,6 +142,7 @@
|
2021-11-22 09:00:00 +11:00
|
|
|
ChunkCoordIntPair chunkcoordintpair = sectionposition.chunk();
|
|
|
|
long i = chunkcoordintpair.toLong();
|
2021-06-11 15:00:00 +10:00
|
|
|
ObjectSet<EntityPlayer> objectset = (ObjectSet) this.playersPerChunk.get(i);
|
2021-01-31 14:26:05 +11:00
|
|
|
+ if (objectset == null) return; // CraftBukkit - SPIGOT-6208
|
|
|
|
|
|
|
|
objectset.remove(entityplayer);
|
|
|
|
if (objectset.isEmpty()) {
|