geforkt von Mirrors/Paper
7d69214b54
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
CraftBukkit Changes:
00bff0270
SPIGOT-5794: Do not skip PlayerInteractEvent
44 Zeilen
2.3 KiB
Diff
44 Zeilen
2.3 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: AgentTroll <woodyc40@gmail.com>
|
|
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/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
|
|
index bbb3f88bb15c70aec7f4d223dd3c0cc986c6eb21..b8fa8a582c4e440990f7e9c426c40bb576a3af66 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
|
|
@@ -392,6 +392,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/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
|
index 18ea59a5b9bb3720696fc8732f9eab19674e8ddf..46329ecc93ba30c9af909d74215a5c7e26aa1abe 100644
|
|
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
|
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
|
@@ -2036,7 +2036,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.datawatcher, true));
|
|
+ // Paper start - update entity for all players
|
|
+ PacketPlayOutEntityMetadata packet = new PacketPlayOutEntityMetadata(entity.getId(), entity.datawatcher, true);
|
|
+ if (entity.tracker != null) {
|
|
+ entity.tracker.broadcast(packet);
|
|
+ } else {
|
|
+ this.sendPacket(packet);
|
|
+ }
|
|
+ // Paper end
|
|
}
|
|
|
|
if (event.isCancelled()) {
|