From 9f3924c1a836b610a530da42531ac50915cbee70 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 fce99867..ec7f2a04 100644 --- a/pom.xml +++ b/pom.xml @@ -51,6 +51,13 @@ <version>1.10.8</version> <scope>compile</scope> </dependency> + <dependency> + <groupId>net.md-5</groupId> + <artifactId>bungeecord-chat</artifactId> + <version>1.21-R0.1</version> + <type>jar</type> + <scope>compile</scope> + </dependency> <dependency> <groupId>org.yaml</groupId> <artifactId>snakeyaml</artifactId> diff --git a/src/main/java/org/bukkit/ChatColor.java b/src/main/java/org/bukkit/ChatColor.java index 6149c77d..e3f185dc 100644 --- a/src/main/java/org/bukkit/ChatColor.java +++ b/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/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java index e45b944f..ab1f7c8f 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java @@ -1872,6 +1872,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/src/main/java/org/bukkit/command/CommandSender.java b/src/main/java/org/bukkit/command/CommandSender.java index 4b6b9540..284be63a 100644 --- a/src/main/java/org/bukkit/command/CommandSender.java +++ b/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/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java index b09ebd03..299c3d4c 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -2318,6 +2318,58 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM public java.util.Set<Player> 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/src/main/java/org/bukkit/inventory/meta/BookMeta.java b/src/main/java/org/bukkit/inventory/meta/BookMeta.java index 8a01c92d..9bab73c3 100644 --- a/src/main/java/org/bukkit/inventory/meta/BookMeta.java +++ b/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. + * <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, @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<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(@NotNull 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(@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 -- 2.49.0