aboutsummaryrefslogtreecommitdiffhomepage
path: root/Spigot-Server-Patches-Unmapped/0338-Update-entity-Metadata-for-all-tracked-players.patch
diff options
context:
space:
mode:
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.patch43
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()) {