From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Sat, 13 Dec 2014 12:59:14 +1100
Subject: [PATCH] BungeeCord Chat API


diff --git a/pom.xml b/pom.xml
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/pom.xml
+++ b/pom.xml
@@ -0,0 +0,0 @@
             <version>1.15</version>
             <scope>compile</scope>
         </dependency>
+        <dependency>
+            <groupId>net.md-5</groupId>
+            <artifactId>bungeecord-chat</artifactId>
+            <version>1.8-SNAPSHOT</version>
+            <type>jar</type>
+            <scope>compile</scope>
+        </dependency>
+
         <!-- testing -->
         <dependency>
             <groupId>junit</groupId>
diff --git a/src/main/java/org/bukkit/ChatColor.java b/src/main/java/org/bukkit/ChatColor.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/org/bukkit/ChatColor.java
+++ b/src/main/java/org/bukkit/ChatColor.java
@@ -0,0 +0,0 @@ import com.google.common.collect.Maps;
 /**
  * All supported color values for chat
  */
-public enum ChatColor {
+public enum ChatColor{
     /**
      * Represents black
      */
-    BLACK('0', 0x00),
+    BLACK('0', 0x00) {
+        @Override
+        public net.md_5.bungee.api.ChatColor asBungee() {
+            return net.md_5.bungee.api.ChatColor.BLACK;
+        }
+    },
     /**
      * Represents dark blue
      */
-    DARK_BLUE('1', 0x1),
+    DARK_BLUE('1', 0x1){
+        @Override
+        public net.md_5.bungee.api.ChatColor asBungee() {
+            return net.md_5.bungee.api.ChatColor.DARK_BLUE;
+        }
+    },
     /**
      * Represents dark green
      */
-    DARK_GREEN('2', 0x2),
+    DARK_GREEN('2', 0x2){
+        @Override
+        public net.md_5.bungee.api.ChatColor asBungee() {
+            return net.md_5.bungee.api.ChatColor.DARK_GREEN;
+        }
+    },
     /**
      * Represents dark blue (aqua)
      */
-    DARK_AQUA('3', 0x3),
+    DARK_AQUA('3', 0x3){
+        @Override
+        public net.md_5.bungee.api.ChatColor asBungee() {
+            return net.md_5.bungee.api.ChatColor.DARK_AQUA;
+        }
+    },
     /**
      * Represents dark red
      */
-    DARK_RED('4', 0x4),
+    DARK_RED('4', 0x4){
+        @Override
+        public net.md_5.bungee.api.ChatColor asBungee() {
+            return net.md_5.bungee.api.ChatColor.DARK_RED;
+        }
+    },
     /**
      * Represents dark purple
      */
-    DARK_PURPLE('5', 0x5),
+    DARK_PURPLE('5', 0x5){
+        @Override
+        public net.md_5.bungee.api.ChatColor asBungee() {
+            return net.md_5.bungee.api.ChatColor.DARK_PURPLE;
+        }
+    },
     /**
      * Represents gold
      */
-    GOLD('6', 0x6),
+    GOLD('6', 0x6){
+        @Override
+        public net.md_5.bungee.api.ChatColor asBungee() {
+            return net.md_5.bungee.api.ChatColor.GOLD;
+        }
+    },
     /**
      * Represents gray
      */
-    GRAY('7', 0x7),
+    GRAY('7', 0x7){
+        @Override
+        public net.md_5.bungee.api.ChatColor asBungee() {
+            return net.md_5.bungee.api.ChatColor.GRAY;
+        }
+    },
     /**
      * Represents dark gray
      */
-    DARK_GRAY('8', 0x8),
+    DARK_GRAY('8', 0x8){
+        @Override
+        public net.md_5.bungee.api.ChatColor asBungee() {
+            return net.md_5.bungee.api.ChatColor.DARK_GRAY;
+        }
+    },
     /**
      * Represents blue
      */
-    BLUE('9', 0x9),
+    BLUE('9', 0x9){
+        @Override
+        public net.md_5.bungee.api.ChatColor asBungee() {
+            return net.md_5.bungee.api.ChatColor.BLUE;
+        }
+    },
     /**
      * Represents green
      */
-    GREEN('a', 0xA),
+    GREEN('a', 0xA){
+        @Override
+        public net.md_5.bungee.api.ChatColor asBungee() {
+            return net.md_5.bungee.api.ChatColor.GREEN;
+        }
+    },
     /**
      * Represents aqua
      */
-    AQUA('b', 0xB),
+    AQUA('b', 0xB){
+        @Override
+        public net.md_5.bungee.api.ChatColor asBungee() {
+            return net.md_5.bungee.api.ChatColor.AQUA;
+        }
+    },
     /**
      * Represents red
      */
-    RED('c', 0xC),
+    RED('c', 0xC){
+        @Override
+        public net.md_5.bungee.api.ChatColor asBungee() {
+            return net.md_5.bungee.api.ChatColor.RED;
+        }
+    },
     /**
      * Represents light purple
      */
-    LIGHT_PURPLE('d', 0xD),
+    LIGHT_PURPLE('d', 0xD){
+        @Override
+        public net.md_5.bungee.api.ChatColor asBungee() {
+            return net.md_5.bungee.api.ChatColor.LIGHT_PURPLE;
+        }
+    },
     /**
      * Represents yellow
      */
-    YELLOW('e', 0xE),
+    YELLOW('e', 0xE){
+        @Override
+        public net.md_5.bungee.api.ChatColor asBungee() {
+            return net.md_5.bungee.api.ChatColor.YELLOW;
+        }
+    },
     /**
      * Represents white
      */
-    WHITE('f', 0xF),
+    WHITE('f', 0xF){
+        @Override
+        public net.md_5.bungee.api.ChatColor asBungee() {
+            return net.md_5.bungee.api.ChatColor.WHITE;
+        }
+    },
     /**
      * Represents magical characters that change around randomly
      */
-    MAGIC('k', 0x10, true),
+    MAGIC('k', 0x10, true){
+        @Override
+        public net.md_5.bungee.api.ChatColor asBungee() {
+            return net.md_5.bungee.api.ChatColor.MAGIC;
+        }
+    },
     /**
      * Makes the text bold.
      */
-    BOLD('l', 0x11, true),
+    BOLD('l', 0x11, true){
+        @Override
+        public net.md_5.bungee.api.ChatColor asBungee() {
+            return net.md_5.bungee.api.ChatColor.BOLD;
+        }
+    },
     /**
      * Makes a line appear through the text.
      */
-    STRIKETHROUGH('m', 0x12, true),
+    STRIKETHROUGH('m', 0x12, true){
+        @Override
+        public net.md_5.bungee.api.ChatColor asBungee() {
+            return net.md_5.bungee.api.ChatColor.STRIKETHROUGH;
+        }
+    },
     /**
      * Makes the text appear underlined.
      */
-    UNDERLINE('n', 0x13, true),
+    UNDERLINE('n', 0x13, true){
+        @Override
+        public net.md_5.bungee.api.ChatColor asBungee() {
+            return net.md_5.bungee.api.ChatColor.UNDERLINE;
+        }
+    },
     /**
      * Makes the text italic.
      */
-    ITALIC('o', 0x14, true),
+    ITALIC('o', 0x14, true){
+        @Override
+        public net.md_5.bungee.api.ChatColor asBungee() {
+            return net.md_5.bungee.api.ChatColor.ITALIC;
+        }
+    },
     /**
      * Resets all previous chat colors or formats.
      */
-    RESET('r', 0x15);
+    RESET('r', 0x15){
+        @Override
+        public net.md_5.bungee.api.ChatColor asBungee() {
+            return net.md_5.bungee.api.ChatColor.RESET;
+        }
+    };
 
     /**
      * The special character which prefixes all chat colour codes. Use this if
@@ -0,0 +0,0 @@ public enum ChatColor {
         this.toString = new String(new char[] {COLOR_CHAR, code});
     }
 
+    public net.md_5.bungee.api.ChatColor asBungee() {
+        return net.md_5.bungee.api.ChatColor.RESET;
+    };
+
     /**
      * Gets the char value associated with this color
      *
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -0,0 +0,0 @@ public interface Server extends PluginMessageRecipient {
         {
             throw new UnsupportedOperationException( "Not supported yet." );
         }
+
+        /**
+         * Sends the component to the player
+         *
+         * @param component the components to send
+         */
+        public void broadcast(net.md_5.bungee.api.chat.BaseComponent component) {
+            throw new UnsupportedOperationException("Not supported yet.");
+        }
+
+        /**
+         * Sends an array of components as a single message to the player
+         *
+         * @param components the components to send
+         */
+        public void broadcast(net.md_5.bungee.api.chat.BaseComponent... components) {
+            throw new UnsupportedOperationException("Not supported yet.");
+        }
     }
 
     Spigot spigot();
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -0,0 +0,0 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
         {
             throw new UnsupportedOperationException( "Not supported yet." );
         }
+
+        /**
+         * Sends the component to the player
+         *
+         * @param component the components to send
+         */
+        public void sendMessage(net.md_5.bungee.api.chat.BaseComponent component) {
+            throw new UnsupportedOperationException("Not supported yet.");
+        }
+
+        /**
+         * Sends an array of components as a single message to the player
+         *
+         * @param components the components to send
+         */
+        public void sendMessage(net.md_5.bungee.api.chat.BaseComponent... components) {
+            throw new UnsupportedOperationException("Not supported yet.");
+        }
     }
 
     Spigot spigot();
--