mirror of
https://hub.spigotmc.org/stash/scm/spigot/spigot.git
synced 2025-08-05 16:48:51 +00:00
451 lines
14 KiB
Diff
451 lines
14 KiB
Diff
From fe876d095a9b60c1ffb8867ebe461ce634762c9d 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 75469885..e946bccf 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 65641699..a3468660 100644
|
|
--- a/src/main/java/org/bukkit/Server.java
|
|
+++ b/src/main/java/org/bukkit/Server.java
|
|
@@ -1016,6 +1016,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 4ce43d90..115c5b0b 100644
|
|
--- a/src/main/java/org/bukkit/entity/Player.java
|
|
+++ b/src/main/java/org/bukkit/entity/Player.java
|
|
@@ -1505,6 +1505,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 a252e3a8..c0b5f531 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.17.1
|
|
|