From 31b6e1bf9da0e6bd894023fc7ef1b062233c4061 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Thu, 3 Mar 2016 02:21:58 -0600
Subject: [PATCH] Graduate bungeecord chat API from spigot subclasses


diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 76f50ae..cb9906a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1309,6 +1309,22 @@ public final class CraftServer implements Server {
         return count;
     }
 
+    // Paper start
+    @Override
+    public void broadcast(BaseComponent component) {
+        for (Player player : getOnlinePlayers()) {
+            player.sendMessage(component);
+        }
+    }
+
+    @Override
+    public void broadcast(BaseComponent... components) {
+        for (Player player : getOnlinePlayers()) {
+            player.sendMessage(components);
+        }
+    }
+    // Paper end
+
     @Override
     @Deprecated
     public OfflinePlayer getOfflinePlayer(String name) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 582ab4c..10bf160 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -156,6 +156,22 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
         }
     }
 
+    // Paper start
+    @Override
+    public void sendMessage(BaseComponent component) {
+        sendMessage(new BaseComponent[]{component});
+    }
+
+    @Override
+    public void sendMessage(BaseComponent... components) {
+        if (getHandle().playerConnection == null) return;
+
+        PacketPlayOutChat packet = new PacketPlayOutChat();
+        packet.components = components;
+        getHandle().playerConnection.sendPacket(packet);
+    }
+    // Paper end
+
     @Override
     public String getDisplayName() {
         return getHandle().displayName;
-- 
2.7.2