This branch/commit is only useful to those who purely use a clean Bukkit/Spigot/Paper API and does not use NMS/OBC references. This will let you start updating your plugin to the latest 1.13 builds of Bukkit Preview (4 as of now) Note that this release is not final!!! API breakages may occur! It is up to you if you find use out of this work.
451 lines
14 KiB
Diff
451 lines
14 KiB
Diff
From 3115ab07167acda0ecc19748172ba7ff26b2392e Mon Sep 17 00:00:00 2001
|
|
From: md_5 <git@md-5.net>
|
|
Date: Sat, 13 Dec 2014 02:59:14 +0100
|
|
Subject: [PATCH] BungeeCord Chat API
|
|
|
|
|
|
diff --git a/pom.xml b/pom.xml
|
|
index 88b109e0..99ff13b3 100644
|
|
--- a/pom.xml
|
|
+++ b/pom.xml
|
|
@@ -76,6 +76,14 @@
|
|
<version>1.21</version>
|
|
<scope>compile</scope>
|
|
</dependency>
|
|
+ <dependency>
|
|
+ <groupId>net.md-5</groupId>
|
|
+ <artifactId>bungeecord-chat</artifactId>
|
|
+ <version>1.12-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 b8872b41..adbae51a 100644
|
|
--- a/src/main/java/org/bukkit/ChatColor.java
|
|
+++ b/src/main/java/org/bukkit/ChatColor.java
|
|
@@ -10,95 +10,205 @@ 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
|
|
@@ -125,6 +235,10 @@ 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 65ad9aa0..2b8f039f 100644
|
|
--- a/src/main/java/org/bukkit/Server.java
|
|
+++ b/src/main/java/org/bukkit/Server.java
|
|
@@ -1013,6 +1013,24 @@ 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/command/CommandSender.java b/src/main/java/org/bukkit/command/CommandSender.java
|
|
index 5dcd2218..abf68a2c 100644
|
|
--- a/src/main/java/org/bukkit/command/CommandSender.java
|
|
+++ b/src/main/java/org/bukkit/command/CommandSender.java
|
|
@@ -37,6 +37,23 @@ public interface CommandSender extends Permissible {
|
|
public class Spigot
|
|
{
|
|
|
|
+ /**
|
|
+ * Sends this sender a chat component.
|
|
+ *
|
|
+ * @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 sender.
|
|
+ *
|
|
+ * @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();
|
|
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
|
index f59c2c19..86eca9e1 100644
|
|
--- a/src/main/java/org/bukkit/entity/Player.java
|
|
+++ b/src/main/java/org/bukkit/entity/Player.java
|
|
@@ -1511,6 +1511,36 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
|
{
|
|
throw new UnsupportedOperationException( "Not supported yet." );
|
|
}
|
|
+
|
|
+ @Override
|
|
+ public void sendMessage(net.md_5.bungee.api.chat.BaseComponent component) {
|
|
+ throw new UnsupportedOperationException("Not supported yet.");
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public void sendMessage(net.md_5.bungee.api.chat.BaseComponent... components) {
|
|
+ throw new UnsupportedOperationException("Not supported yet.");
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Sends the component to the specified screen position of this player
|
|
+ *
|
|
+ * @param position the screen position
|
|
+ * @param component the components to send
|
|
+ */
|
|
+ public void sendMessage(net.md_5.bungee.api.ChatMessageType position, 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 specified screen position of this player
|
|
+ *
|
|
+ * @param position the screen position
|
|
+ * @param components the components to send
|
|
+ */
|
|
+ public void sendMessage(net.md_5.bungee.api.ChatMessageType position, net.md_5.bungee.api.chat.BaseComponent... components) {
|
|
+ throw new UnsupportedOperationException("Not supported yet.");
|
|
+ }
|
|
}
|
|
|
|
@Override
|
|
diff --git a/src/main/java/org/bukkit/inventory/meta/BookMeta.java b/src/main/java/org/bukkit/inventory/meta/BookMeta.java
|
|
index 3b6bf419..75b03ac3 100644
|
|
--- a/src/main/java/org/bukkit/inventory/meta/BookMeta.java
|
|
+++ b/src/main/java/org/bukkit/inventory/meta/BookMeta.java
|
|
@@ -1,6 +1,7 @@
|
|
package org.bukkit.inventory.meta;
|
|
|
|
import java.util.List;
|
|
+import net.md_5.bungee.api.chat.BaseComponent;
|
|
|
|
import org.bukkit.Material;
|
|
|
|
@@ -177,6 +178,68 @@ public interface BookMeta extends ItemMeta {
|
|
// Spigot start
|
|
public class Spigot extends ItemMeta.Spigot {
|
|
|
|
+ /**
|
|
+ * Gets the specified page in the book. The given page must exist.
|
|
+ *
|
|
+ * @param page the page number to get
|
|
+ * @return the page from the book
|
|
+ */
|
|
+ public BaseComponent[] getPage(int page) {
|
|
+ throw new UnsupportedOperationException("Not supported yet.");
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Sets the specified page in the book. Pages of the book must be
|
|
+ * contiguous.
|
|
+ * <p>
|
|
+ * The data can be up to 256 characters in length, additional characters
|
|
+ * are truncated.
|
|
+ *
|
|
+ * @param page the page number to set
|
|
+ * @param data the data to set for that page
|
|
+ */
|
|
+ public void setPage(int page, BaseComponent... data) {
|
|
+ throw new UnsupportedOperationException("Not supported yet.");
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Gets all the pages in the book.
|
|
+ *
|
|
+ * @return list of all the pages in the book
|
|
+ */
|
|
+ public List<BaseComponent[]> getPages() {
|
|
+ throw new UnsupportedOperationException("Not supported yet.");
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Clears the existing book pages, and sets the book to use the provided
|
|
+ * pages. Maximum 50 pages with 256 characters per page.
|
|
+ *
|
|
+ * @param pages A list of pages to set the book to use
|
|
+ */
|
|
+ public void setPages(List<BaseComponent[]> pages) {
|
|
+ throw new UnsupportedOperationException("Not supported yet.");
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Clears the existing book pages, and sets the book to use the provided
|
|
+ * pages. Maximum 50 pages with 256 characters per page.
|
|
+ *
|
|
+ * @param pages A list of component arrays, each being a page
|
|
+ */
|
|
+ public void setPages(BaseComponent[]... pages) {
|
|
+ throw new UnsupportedOperationException("Not supported yet.");
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Adds new pages to the end of the book. Up to a maximum of 50 pages
|
|
+ * with 256 characters per page.
|
|
+ *
|
|
+ * @param pages A list of component arrays, each being a page
|
|
+ */
|
|
+ public void addPage(BaseComponent[]... pages) {
|
|
+ throw new UnsupportedOperationException("Not supported yet.");
|
|
+ }
|
|
}
|
|
|
|
@Override
|
|
--
|
|
2.18.0
|
|
|