diff --git a/paper-api/pom.xml b/paper-api/pom.xml index 57b74c3a5d..25a8f7daaf 100644 --- a/paper-api/pom.xml +++ b/paper-api/pom.xml @@ -51,6 +51,13 @@ 1.10.8 compile + + net.md-5 + bungeecord-chat + 1.20-R0.2 + jar + compile + org.yaml snakeyaml diff --git a/paper-api/src/main/java/org/bukkit/ChatColor.java b/paper-api/src/main/java/org/bukkit/ChatColor.java index 6149c77df6..e3f185dc98 100644 --- a/paper-api/src/main/java/org/bukkit/ChatColor.java +++ b/paper-api/src/main/java/org/bukkit/ChatColor.java @@ -15,91 +15,223 @@ public enum ChatColor { /** * Represents black */ - BLACK('0', 0x00), + BLACK('0', 0x00) { + @NotNull + @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) { + @NotNull + @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) { + @NotNull + @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) { + @NotNull + @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) { + @NotNull + @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) { + @NotNull + @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) { + @NotNull + @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) { + @NotNull + @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) { + @NotNull + @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) { + @NotNull + @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) { + @NotNull + @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) { + @NotNull + @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) { + @NotNull + @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) { + @NotNull + @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) { + @NotNull + @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) { + @NotNull + @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) { + @NotNull + @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) { + @NotNull + @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) { + @NotNull + @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) { + @NotNull + @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) { + @NotNull + @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) { + @NotNull + @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 @@ -126,6 +258,11 @@ public enum ChatColor { this.toString = new String(new char[] {COLOR_CHAR, code}); } + @NotNull + 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/paper-api/src/main/java/org/bukkit/Server.java b/paper-api/src/main/java/org/bukkit/Server.java index 2d750d9498..704840ea10 100644 --- a/paper-api/src/main/java/org/bukkit/Server.java +++ b/paper-api/src/main/java/org/bukkit/Server.java @@ -1860,6 +1860,24 @@ public interface Server extends PluginMessageRecipient { public org.bukkit.configuration.file.YamlConfiguration getConfig() { throw new UnsupportedOperationException("Not supported yet."); } + + /** + * Sends the component to the player + * + * @param component the components to send + */ + public void broadcast(@NotNull 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(@NotNull net.md_5.bungee.api.chat.BaseComponent... components) { + throw new UnsupportedOperationException("Not supported yet."); + } } @NotNull diff --git a/paper-api/src/main/java/org/bukkit/command/CommandSender.java b/paper-api/src/main/java/org/bukkit/command/CommandSender.java index 4b6b95404f..284be63a12 100644 --- a/paper-api/src/main/java/org/bukkit/command/CommandSender.java +++ b/paper-api/src/main/java/org/bukkit/command/CommandSender.java @@ -57,6 +57,43 @@ public interface CommandSender extends Permissible { // Spigot start public class Spigot { + /** + * Sends this sender a chat component. + * + * @param component the components to send + */ + public void sendMessage(@NotNull 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(@NotNull net.md_5.bungee.api.chat.BaseComponent... components) { + throw new UnsupportedOperationException("Not supported yet."); + } + + /** + * Sends this sender a chat component. + * + * @param component the components to send + * @param sender the sender of the message + */ + public void sendMessage(@Nullable UUID sender, @NotNull 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 + * @param sender the sender of the message + */ + public void sendMessage(@Nullable UUID sender, @NotNull net.md_5.bungee.api.chat.BaseComponent... components) { + throw new UnsupportedOperationException("Not supported yet."); + } } @NotNull diff --git a/paper-api/src/main/java/org/bukkit/entity/Player.java b/paper-api/src/main/java/org/bukkit/entity/Player.java index b09ebd035c..299c3d4c91 100644 --- a/paper-api/src/main/java/org/bukkit/entity/Player.java +++ b/paper-api/src/main/java/org/bukkit/entity/Player.java @@ -2318,6 +2318,58 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM public java.util.Set getHiddenPlayers() { throw new UnsupportedOperationException("Not supported yet."); } + + @Override + public void sendMessage(@NotNull net.md_5.bungee.api.chat.BaseComponent component) { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void sendMessage(@NotNull 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(@NotNull net.md_5.bungee.api.ChatMessageType position, @NotNull 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(@NotNull net.md_5.bungee.api.ChatMessageType position, @NotNull 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 sender the sender of the message + * @param component the components to send + */ + public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @Nullable java.util.UUID sender, @NotNull 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 sender the sender of the message + * @param components the components to send + */ + public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @Nullable java.util.UUID sender, @NotNull net.md_5.bungee.api.chat.BaseComponent... components) { + throw new UnsupportedOperationException("Not supported yet."); + } } @NotNull diff --git a/paper-api/src/main/java/org/bukkit/inventory/meta/BookMeta.java b/paper-api/src/main/java/org/bukkit/inventory/meta/BookMeta.java index 8a01c92d77..9bab73c3c2 100644 --- a/paper-api/src/main/java/org/bukkit/inventory/meta/BookMeta.java +++ b/paper-api/src/main/java/org/bukkit/inventory/meta/BookMeta.java @@ -1,5 +1,7 @@ package org.bukkit.inventory.meta; +import java.util.List; +import net.md_5.bungee.api.chat.BaseComponent; import org.bukkit.Material; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -117,6 +119,70 @@ public interface BookMeta extends WritableBookMeta { // Spigot start public class 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 + */ + @NotNull + 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. + *

+ * 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, @Nullable BaseComponent... data) { + throw new UnsupportedOperationException("Not supported yet."); + } + + /** + * Gets all the pages in the book. + * + * @return list of all the pages in the book + */ + @NotNull + public List 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(@NotNull List 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(@NotNull 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(@NotNull BaseComponent[]... pages) { + throw new UnsupportedOperationException("Not supported yet."); + } } @NotNull