38 lines
1.9 KiB
Diff
38 lines
1.9 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Cryptite <cryptite@gmail.com>
|
|
Date: Mon, 10 Apr 2023 08:47:43 -0500
|
|
Subject: [PATCH] Add PlayerPreChunkLoadEvent
|
|
|
|
|
|
diff --git a/src/main/java/io/papermc/paper/chunk/system/RegionizedPlayerChunkLoader.java b/src/main/java/io/papermc/paper/chunk/system/RegionizedPlayerChunkLoader.java
|
|
index 1b090f1e79b996e52097afc49c1cec85936653e6..5185bcbf5363fa2c7e2b0226706cc66d46fa16ee 100644
|
|
--- a/src/main/java/io/papermc/paper/chunk/system/RegionizedPlayerChunkLoader.java
|
|
+++ b/src/main/java/io/papermc/paper/chunk/system/RegionizedPlayerChunkLoader.java
|
|
@@ -410,7 +410,7 @@ public class RegionizedPlayerChunkLoader {
|
|
private boolean canGenerateChunks = true;
|
|
|
|
private final ArrayDeque<ChunkHolderManager.TicketOperation<?, ?>> delayedTicketOps = new ArrayDeque<>();
|
|
- private final LongOpenHashSet sentChunks = new LongOpenHashSet();
|
|
+ public final LongOpenHashSet sentChunks = new LongOpenHashSet(); // Slice -> public
|
|
|
|
private static final byte CHUNK_TICKET_STAGE_NONE = 0;
|
|
private static final byte CHUNK_TICKET_STAGE_LOADING = 1;
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
|
index 7727a4322155c9b208f097bec751368c01671a07..d71b6e3b3535ab2815ef5ec15361732d13593c37 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
|
@@ -538,6 +538,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
|
return true;
|
|
}
|
|
|
|
+ @Override
|
|
+ @NotNull
|
|
+ public it.unimi.dsi.fastutil.longs.LongOpenHashSet getSentChunks(@NotNull Player p) {
|
|
+ ServerPlayer craftPlayer = ((CraftPlayer) p).getHandle();
|
|
+ return craftPlayer.chunkLoader.sentChunks;
|
|
+ }
|
|
+
|
|
@Override
|
|
public boolean isChunkInUse(int x, int z) {
|
|
return this.isChunkLoaded(x, z);
|