diff --git a/nms-patches/net/minecraft/server/network/PlayerConnection.patch b/nms-patches/net/minecraft/server/network/PlayerConnection.patch index 838995149..fe32b0f84 100644 --- a/nms-patches/net/minecraft/server/network/PlayerConnection.patch +++ b/nms-patches/net/minecraft/server/network/PlayerConnection.patch @@ -1177,7 +1177,7 @@ public void sendPlayerChatMessage(PlayerChatMessage playerchatmessage, ChatMessageType.a chatmessagetype_a) { + // CraftBukkit start - SPIGOT-7262: if hidden we have to send as disguised message. Query whether we should send at all (but changing this may not be expected). -+ if (!getCraftPlayer().canSee(playerchatmessage.link().sender())) { ++ if (!getCraftPlayer().canSeePlayer(playerchatmessage.link().sender())) { + sendDisguisedChatMessage(playerchatmessage.decoratedContent(), chatmessagetype_a); + return; + } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java index 304453fcd..57bb9f675 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1657,11 +1657,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return equals(entity) || entity.isVisibleByDefault() ^ invertedVisibilityEntities.containsKey(entity.getUniqueId()); // SPIGOT-7312: Can always see self } - public boolean canSee(UUID uuid) { + public boolean canSeePlayer(UUID uuid) { org.bukkit.entity.Entity entity = getServer().getPlayer(uuid); - if (entity == null) { - entity = getServer().getEntity(uuid); // Also includes players, but check players first for efficiency - } return (entity != null) ? canSee(entity) : false; // If we can't find it, we can't see it }