update metadata refresh approach

same fix, less work needed to do it
This commit is contained in:
Aikar 2019-03-24 17:48:22 -04:00
parent 4c807f929e
commit 424b05051b
No known key found for this signature in database
GPG key ID: 401ADFC9891FAAFE

View file

@ -1,23 +1,19 @@
From ab124ff3d442f70cef7665086a5f34ad13c42105 Mon Sep 17 00:00:00 2001
From b75921430d01070026e081910ccfb2785c4a4b24 Mon Sep 17 00:00:00 2001
From: AgentTroll <woodyc40@gmail.com>
Date: Fri, 22 Mar 2019 22:24:03 -0700
Subject: [PATCH] Fixes issues with player interaction preventing metadata from
being updated for other players
Subject: [PATCH] Update entity Metadata for all tracked players
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index c4edb5b85d..d2dd5d5be5 100644
index c4edb5b85..65e76491b 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -1974,7 +1974,10 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
@@ -1974,7 +1974,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
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.datawatcher, true));
+ // Paper start - update entity for all players
+ // this.sendPacket(new PacketPlayOutEntityMetadata(entity.getId(), entity.datawatcher, true));
+ entity.tracker.track(worldserver.players);
+ // Paper end
+ entity.tracker.broadcast(new PacketPlayOutEntityMetadata(entity.getId(), entity.datawatcher, true)); // Paper - update entity for all players
}
if (event.isCancelled()) {