aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/0710-More-Teleport-API.patch
diff options
context:
space:
mode:
authorNassim Jahnke <[email protected]>2024-12-03 22:56:26 +0100
committerNassim Jahnke <[email protected]>2024-12-03 22:56:26 +0100
commite2dd1d514ccab1912d807d362cd4bc5007ce7b8c (patch)
treebcc12d5cdaaaed31a6f830f5e902b6fc28405b33 /patches/server/0710-More-Teleport-API.patch
parentb0603dab453c26d8a7bd6168e64cf655a5d6f436 (diff)
downloadPaper-e2dd1d514ccab1912d807d362cd4bc5007ce7b8c.tar.gz
Paper-e2dd1d514ccab1912d807d362cd4bc5007ce7b8c.zip
Add back post_teleport chunk ticket
Diffstat (limited to 'patches/server/0710-More-Teleport-API.patch')
-rw-r--r--patches/server/0710-More-Teleport-API.patch8
1 files changed, 6 insertions, 2 deletions
diff --git a/patches/server/0710-More-Teleport-API.patch b/patches/server/0710-More-Teleport-API.patch
index 567bd06573..8aa4c173f9 100644
--- a/patches/server/0710-More-Teleport-API.patch
+++ b/patches/server/0710-More-Teleport-API.patch
@@ -30,7 +30,7 @@ index 864ab4d3de50ee9ce9ff2b0538aa46df43985a84..90eedcb1013226cd4dbbbaf4ff9332a8
positionmoverotation = new PositionMoveRotation(CraftLocation.toVec3D(to), Vec3.ZERO, to.getYaw(), to.getPitch());
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
-index 10fb64df10820974d11f142c102a11a5bd0f317c..2335a3501399ea37d2fab2e5267712d7d174041b 100644
+index 10fb64df10820974d11f142c102a11a5bd0f317c..ea62e2725152008e87961cedd837fa0d03787d03 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -222,15 +222,36 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@@ -72,7 +72,7 @@ index 10fb64df10820974d11f142c102a11a5bd0f317c..2335a3501399ea37d2fab2e5267712d7
// Let the server handle cross world teleports
if (location.getWorld() != null && !location.getWorld().equals(this.getWorld())) {
-@@ -971,6 +992,35 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
+@@ -971,6 +992,39 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
return CraftEntity.perm;
}
@@ -89,6 +89,10 @@ index 10fb64df10820974d11f142c102a11a5bd0f317c..2335a3501399ea37d2fab2e5267712d7
+ world.loadChunksForMoveAsync(getHandle().getBoundingBoxAt(locationClone.getX(), locationClone.getY(), locationClone.getZ()),
+ this instanceof CraftPlayer ? ca.spottedleaf.concurrentutil.util.Priority.HIGHER : ca.spottedleaf.concurrentutil.util.Priority.NORMAL, (list) -> {
+ net.minecraft.server.MinecraftServer.getServer().scheduleOnMain(() -> {
++ final net.minecraft.server.level.ServerChunkCache chunkCache = world.getChunkSource();
++ for (final net.minecraft.world.level.chunk.ChunkAccess chunk : list) {
++ chunkCache.addTicketAtLevel(net.minecraft.server.level.TicketType.POST_TELEPORT, chunk.getPos(), 33, CraftEntity.this.getEntityId());
++ }
+ try {
+ ret.complete(CraftEntity.this.teleport(locationClone, cause, teleportFlags) ? Boolean.TRUE : Boolean.FALSE);
+ } catch (Throwable throwable) {