#759: Allow sending messages from specific UUIDs

By: Mariell Hoversholm <proximyst@proximyst.com>
This commit is contained in:
CraftBukkit/Spigot
2020-10-17 17:43:03 +11:00
parent 071360817a
commit b643889355
5 changed files with 61 additions and 0 deletions

View File

@@ -793,6 +793,16 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
}
@Override
public void sendMessage(UUID sender, String message) {
this.sendMessage(message); // Most entities don't know about senders
}
@Override
public void sendMessage(UUID sender, String[] messages) {
this.sendMessage(messages); // Most entities don't know about senders
}
@Override
public String getName() {
return CraftChatMessage.fromComponent(getHandle().getDisplayName());

View File

@@ -199,6 +199,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
}
@Override
public void sendRawMessage(UUID sender, String message) {
if (getHandle().playerConnection == null) return;
for (IChatBaseComponent component : CraftChatMessage.fromString(message)) {
getHandle().playerConnection.sendPacket(new PacketPlayOutChat(component, ChatMessageType.CHAT, (sender == null) ? SystemUtils.b : sender));
}
}
@Override
public void sendMessage(String message) {
if (!conversationTracker.isConversingModaly()) {
@@ -213,6 +222,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
}
@Override
public void sendMessage(UUID sender, String message) {
if (!conversationTracker.isConversingModaly()) {
this.sendRawMessage(sender, message);
}
}
@Override
public void sendMessage(UUID sender, String[] messages) {
for (String message : messages) {
sendMessage(sender, message);
}
}
@Override
public String getDisplayName() {
return getHandle().displayName;