aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorLulu13022002 <[email protected]>2023-10-27 15:48:13 +0200
committerGitHub <[email protected]>2023-10-27 15:48:13 +0200
commit996d529fb3d3f85f002bd9aa8a51dae07975d686 (patch)
treefc0ee34c280fbc549af5d782a0e6c74143a5f6b1
parentb974a6b6f3a989050bf4af344be27da46de9041e (diff)
downloadPaper-996d529fb3d3f85f002bd9aa8a51dae07975d686.tar.gz
Paper-996d529fb3d3f85f002bd9aa8a51dae07975d686.zip
Resend entity using the bundle packet (#9853)
-rw-r--r--patches/server/0893-Properly-resend-entities.patch11
1 files changed, 7 insertions, 4 deletions
diff --git a/patches/server/0893-Properly-resend-entities.patch b/patches/server/0893-Properly-resend-entities.patch
index 14cfb1b688..7fb40cf3fd 100644
--- a/patches/server/0893-Properly-resend-entities.patch
+++ b/patches/server/0893-Properly-resend-entities.patch
@@ -16,10 +16,10 @@ See: https://github.com/PaperMC/Paper/pull/1896
public net.minecraft.server.level.ChunkMap$TrackedEntity serverEntity
diff --git a/src/main/java/net/minecraft/network/syncher/SynchedEntityData.java b/src/main/java/net/minecraft/network/syncher/SynchedEntityData.java
-index d088479d160dbd2fc90b48a30553be141db8eef2..15add3f4dfd718ec09bb1db4f22223466936879c 100644
+index d088479d160dbd2fc90b48a30553be141db8eef2..ccb7d92b6c36b6225a2e640f8cea6c0da37464c8 100644
--- a/src/main/java/net/minecraft/network/syncher/SynchedEntityData.java
+++ b/src/main/java/net/minecraft/network/syncher/SynchedEntityData.java
-@@ -253,14 +253,60 @@ public class SynchedEntityData {
+@@ -253,14 +253,63 @@ public class SynchedEntityData {
// CraftBukkit start
public void refresh(ServerPlayer to) {
if (!this.isEmpty()) {
@@ -58,9 +58,12 @@ index d088479d160dbd2fc90b48a30553be141db8eef2..15add3f4dfd718ec09bb1db4f2222346
+ return;
+ }
+
-+ net.minecraft.server.level.ServerEntity serverEntity = this.entity.tracker.serverEntity;
+ if (player.getBukkitEntity().canSee(entity.getBukkitEntity())) {
-+ serverEntity.sendPairingData(player, player.connection::send);
++ net.minecraft.server.level.ServerEntity serverEntity = this.entity.tracker.serverEntity;
++
++ List<net.minecraft.network.protocol.Packet<net.minecraft.network.protocol.game.ClientGamePacketListener>> list = new ArrayList<>();
++ serverEntity.sendPairingData(player, list::add);
++ player.connection.send(new net.minecraft.network.protocol.game.ClientboundBundlePacket(list));
+ }
+ }
+