diff options
Diffstat (limited to 'Spigot-Server-Patches-Unmapped/0338-Update-entity-Metadata-for-all-tracked-players.patch')
-rw-r--r-- | Spigot-Server-Patches-Unmapped/0338-Update-entity-Metadata-for-all-tracked-players.patch | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/Spigot-Server-Patches-Unmapped/0338-Update-entity-Metadata-for-all-tracked-players.patch b/Spigot-Server-Patches-Unmapped/0338-Update-entity-Metadata-for-all-tracked-players.patch new file mode 100644 index 0000000000..f05b82653c --- /dev/null +++ b/Spigot-Server-Patches-Unmapped/0338-Update-entity-Metadata-for-all-tracked-players.patch @@ -0,0 +1,43 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: AgentTroll <[email protected]> +Date: Fri, 22 Mar 2019 22:24:03 -0700 +Subject: [PATCH] Update entity Metadata for all tracked players + + +diff --git a/src/main/java/net/minecraft/server/level/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/level/EntityTrackerEntry.java +index e3cdea3c85d762af6984f3dbe544fdfe101f6ff6..6110d7723b70df5380338a42b5cbff3446294bac 100644 +--- a/src/main/java/net/minecraft/server/level/EntityTrackerEntry.java ++++ b/src/main/java/net/minecraft/server/level/EntityTrackerEntry.java +@@ -421,6 +421,12 @@ public class EntityTrackerEntry { + return PacketPlayOutEntity.a(this.xLoc, this.yLoc, this.zLoc); + } + ++ // Paper start - Add broadcast method ++ void broadcast(Packet<?> packet) { ++ this.getPacketConsumer().accept(packet); ++ } ++ // Paper end ++ + private void broadcastIncludingSelf(Packet<?> packet) { + this.f.accept(packet); + if (this.tracker instanceof EntityPlayer) { +diff --git a/src/main/java/net/minecraft/server/network/PlayerConnection.java b/src/main/java/net/minecraft/server/network/PlayerConnection.java +index 2c949e079e5de86c902b162dfdb6adffe0511448..02ae07db49d3793c0cc40ebe55cdc6b383f9b2e3 100644 +--- a/src/main/java/net/minecraft/server/network/PlayerConnection.java ++++ b/src/main/java/net/minecraft/server/network/PlayerConnection.java +@@ -2287,7 +2287,14 @@ public class PlayerConnection implements PacketListenerPlayIn { + + if (event.isCancelled() || this.player.inventory.getItemInHand() == null || this.player.inventory.getItemInHand().getItem() != origItem) { + // Refresh the current entity metadata +- this.sendPacket(new PacketPlayOutEntityMetadata(entity.getId(), entity.getDataWatcher(), true)); ++ // Paper start - update entity for all players ++ PacketPlayOutEntityMetadata packet = new PacketPlayOutEntityMetadata(entity.getId(), entity.getDataWatcher(), true); ++ if (entity.tracker != null) { ++ entity.tracker.broadcast(packet); ++ } else { ++ this.sendPacket(packet); ++ } ++ // Paper end + } + + if (event.isCancelled()) { |