diff options
author | Nassim Jahnke <[email protected]> | 2024-12-03 22:56:26 +0100 |
---|---|---|
committer | Nassim Jahnke <[email protected]> | 2024-12-03 22:56:26 +0100 |
commit | e2dd1d514ccab1912d807d362cd4bc5007ce7b8c (patch) | |
tree | bcc12d5cdaaaed31a6f830f5e902b6fc28405b33 /patches/server/0710-More-Teleport-API.patch | |
parent | b0603dab453c26d8a7bd6168e64cf655a5d6f436 (diff) | |
download | Paper-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.patch | 8 |
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) { |