Update API patches

This commit is contained in:
Jason Penilla 2021-11-21 21:21:37 -08:00 committed by MiniDigger | Martin
parent a20239b3d7
commit 9c2d52e9c7
48 changed files with 235 additions and 343 deletions

View file

@ -7,7 +7,7 @@ Co-authored-by: zml <zml@stellardrift.ca>
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
diff --git a/build.gradle.kts b/build.gradle.kts
index ca45f6ce0bc9f57158f3be6f56a3a7566e5ee720..9e3dfc99ce2369e20bcc6a1c1ef81c1985ee6332 100644
index be1e7b4a57cae34f5cda768a6760e1e1245c8774..8fa7ce10256069ada70319fadf3e76dcd7245ab2 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -10,6 +10,19 @@ java {
@ -42,32 +42,6 @@ index ca45f6ce0bc9f57158f3be6f56a3a7566e5ee720..9e3dfc99ce2369e20bcc6a1c1ef81c19
compileOnly("org.apache.maven:maven-resolver-provider:3.8.1")
compileOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.0")
@@ -68,10 +86,25 @@ tasks.jar {
}
tasks.withType<Javadoc> {
+ inputs.files(apiAndDocs)
+ .ignoreEmptyDirectories()
+ .withPropertyName(apiAndDocs.name + "-configuration")
+ doFirst {
+ (options as CoreJavadocOptions).addStringOption(
+ "sourcepath",
+ apiAndDocs.resolvedConfiguration.files.joinToString(separator = File.pathSeparator, transform = File::getPath)
+ )
+ }
(options as StandardJavadocDocletOptions).links(
"https://guava.dev/releases/21.0/api/docs/",
"https://javadoc.io/doc/org.yaml/snakeyaml/1.28/",
"https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/", // Paper - we don't want Java 5 annotations
"https://javadoc.io/doc/net.md-5/bungeecord-chat/1.16-R0.4/",
+ // Paper start
+ "https://jd.adventure.kyori.net/api/$adventureVersion/",
+ "https://jd.adventure.kyori.net/text-serializer-gson/$adventureVersion/",
+ "https://jd.adventure.kyori.net/text-serializer-legacy/$adventureVersion/",
+ "https://jd.adventure.kyori.net/text-serializer-plain/$adventureVersion/",
+ // Paper end
)
}
diff --git a/src/main/java/co/aikar/timings/TimingsReportListener.java b/src/main/java/co/aikar/timings/TimingsReportListener.java
index ef58a6c00f444bd498a2d8fc4e457236f393954f..ecd149157d4fb80444f34bf5633d74bcdb63dec5 100644
--- a/src/main/java/co/aikar/timings/TimingsReportListener.java
@ -472,10 +446,10 @@ index 0000000000000000000000000000000000000000..77db592d05b754f879f8d1790642e9d9
+ }
+}
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index f813a727e291acd3a3625747fc5b5e604a5a56d4..e8747e52ae2ebac79546a04c19a7945d3d4dabe4 100644
index e0ee875391d0296a00c53bbec2935fa1fc1af731..f2642d518218da9c3fae8a4445cfed8244471d07 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -303,7 +303,9 @@ public final class Bukkit {
@@ -312,7 +312,9 @@ public final class Bukkit {
*
* @param message the message
* @return the number of players
@ -485,7 +459,7 @@ index f813a727e291acd3a3625747fc5b5e604a5a56d4..e8747e52ae2ebac79546a04c19a7945d
public static int broadcastMessage(@NotNull String message) {
return server.broadcastMessage(message);
}
@@ -937,6 +939,19 @@ public final class Bukkit {
@@ -946,6 +948,19 @@ public final class Bukkit {
server.shutdown();
}
@ -505,7 +479,7 @@ index f813a727e291acd3a3625747fc5b5e604a5a56d4..e8747e52ae2ebac79546a04c19a7945d
/**
* Broadcasts the specified message to every user with the given
* permission name.
@@ -946,6 +961,21 @@ public final class Bukkit {
@@ -955,6 +970,21 @@ public final class Bukkit {
* permissibles} must have to receive the broadcast
* @return number of message recipients
*/
@ -527,7 +501,7 @@ index f813a727e291acd3a3625747fc5b5e604a5a56d4..e8747e52ae2ebac79546a04c19a7945d
public static int broadcast(@NotNull String message, @NotNull String permission) {
return server.broadcast(message, permission);
}
@@ -1145,6 +1175,7 @@ public final class Bukkit {
@@ -1154,6 +1184,7 @@ public final class Bukkit {
return server.createInventory(owner, type);
}
@ -535,7 +509,7 @@ index f813a727e291acd3a3625747fc5b5e604a5a56d4..e8747e52ae2ebac79546a04c19a7945d
/**
* Creates an empty inventory with the specified type and title. If the type
* is {@link InventoryType#CHEST}, the new inventory has a size of 27;
@@ -1170,6 +1201,38 @@ public final class Bukkit {
@@ -1179,6 +1210,38 @@ public final class Bukkit {
* @see InventoryType#isCreatable()
*/
@NotNull
@ -574,7 +548,7 @@ index f813a727e291acd3a3625747fc5b5e604a5a56d4..e8747e52ae2ebac79546a04c19a7945d
public static Inventory createInventory(@Nullable InventoryHolder owner, @NotNull InventoryType type, @NotNull String title) {
return server.createInventory(owner, type, title);
}
@@ -1188,6 +1251,7 @@ public final class Bukkit {
@@ -1197,6 +1260,7 @@ public final class Bukkit {
return server.createInventory(owner, size);
}
@ -582,7 +556,7 @@ index f813a727e291acd3a3625747fc5b5e604a5a56d4..e8747e52ae2ebac79546a04c19a7945d
/**
* Creates an empty inventory of type {@link InventoryType#CHEST} with the
* specified size and title.
@@ -1200,10 +1264,30 @@ public final class Bukkit {
@@ -1209,10 +1273,30 @@ public final class Bukkit {
* @throws IllegalArgumentException if the size is not a multiple of 9
*/
@NotNull
@ -613,7 +587,7 @@ index f813a727e291acd3a3625747fc5b5e604a5a56d4..e8747e52ae2ebac79546a04c19a7945d
/**
* Creates an empty merchant.
*
@@ -1211,7 +1295,20 @@ public final class Bukkit {
@@ -1220,7 +1304,20 @@ public final class Bukkit {
* when the merchant inventory is viewed
* @return a new merchant
*/
@ -634,7 +608,7 @@ index f813a727e291acd3a3625747fc5b5e604a5a56d4..e8747e52ae2ebac79546a04c19a7945d
public static Merchant createMerchant(@Nullable String title) {
return server.createMerchant(title);
}
@@ -1291,22 +1388,47 @@ public final class Bukkit {
@@ -1300,22 +1397,47 @@ public final class Bukkit {
return server.isPrimaryThread();
}
@ -756,7 +730,7 @@ index 803fa0019869127ee8c7e4fb1777a59c43e66f8a..c65f0d6569c130b4920a9e71ad24af64
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 2081ebf5d401130e169ddd588a809275f9369a92..e71fe881872e7be2a39f7a6830be9dc83c78ec8c 100644
index bfd003c5acf1b06378c7ee107c73471ad18e6675..922ad1a22460c32965291a213175fcb69c34b087 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -56,13 +56,13 @@ import org.jetbrains.annotations.Nullable;
@ -784,7 +758,7 @@ index 2081ebf5d401130e169ddd588a809275f9369a92..e71fe881872e7be2a39f7a6830be9dc8
*/
public static final String BROADCAST_CHANNEL_USERS = "bukkit.broadcast.user";
@@ -250,7 +250,9 @@ public interface Server extends PluginMessageRecipient {
@@ -257,7 +257,9 @@ public interface Server extends PluginMessageRecipient {
*
* @param message the message
* @return the number of players
@ -794,7 +768,7 @@ index 2081ebf5d401130e169ddd588a809275f9369a92..e71fe881872e7be2a39f7a6830be9dc8
public int broadcastMessage(@NotNull String message);
/**
@@ -795,8 +797,33 @@ public interface Server extends PluginMessageRecipient {
@@ -802,8 +804,33 @@ public interface Server extends PluginMessageRecipient {
* @param permission the required permission {@link Permissible
* permissibles} must have to receive the broadcast
* @return number of message recipients
@ -828,7 +802,7 @@ index 2081ebf5d401130e169ddd588a809275f9369a92..e71fe881872e7be2a39f7a6830be9dc8
/**
* Gets the player by the given name, regardless if they are offline or
@@ -961,6 +988,7 @@ public interface Server extends PluginMessageRecipient {
@@ -968,6 +995,7 @@ public interface Server extends PluginMessageRecipient {
@NotNull
Inventory createInventory(@Nullable InventoryHolder owner, @NotNull InventoryType type);
@ -836,7 +810,7 @@ index 2081ebf5d401130e169ddd588a809275f9369a92..e71fe881872e7be2a39f7a6830be9dc8
/**
* Creates an empty inventory with the specified type and title. If the type
* is {@link InventoryType#CHEST}, the new inventory has a size of 27;
@@ -986,6 +1014,36 @@ public interface Server extends PluginMessageRecipient {
@@ -993,6 +1021,36 @@ public interface Server extends PluginMessageRecipient {
* @see InventoryType#isCreatable()
*/
@NotNull
@ -873,7 +847,7 @@ index 2081ebf5d401130e169ddd588a809275f9369a92..e71fe881872e7be2a39f7a6830be9dc8
Inventory createInventory(@Nullable InventoryHolder owner, @NotNull InventoryType type, @NotNull String title);
/**
@@ -1000,6 +1058,22 @@ public interface Server extends PluginMessageRecipient {
@@ -1007,6 +1065,22 @@ public interface Server extends PluginMessageRecipient {
@NotNull
Inventory createInventory(@Nullable InventoryHolder owner, int size) throws IllegalArgumentException;
@ -896,7 +870,7 @@ index 2081ebf5d401130e169ddd588a809275f9369a92..e71fe881872e7be2a39f7a6830be9dc8
/**
* Creates an empty inventory of type {@link InventoryType#CHEST} with the
* specified size and title.
@@ -1010,10 +1084,13 @@ public interface Server extends PluginMessageRecipient {
@@ -1017,10 +1091,13 @@ public interface Server extends PluginMessageRecipient {
* viewed
* @return a new inventory
* @throws IllegalArgumentException if the size is not a multiple of 9
@ -910,7 +884,7 @@ index 2081ebf5d401130e169ddd588a809275f9369a92..e71fe881872e7be2a39f7a6830be9dc8
/**
* Creates an empty merchant.
*
@@ -1021,7 +1098,18 @@ public interface Server extends PluginMessageRecipient {
@@ -1028,7 +1105,18 @@ public interface Server extends PluginMessageRecipient {
* when the merchant inventory is viewed
* @return a new merchant
*/
@ -929,7 +903,7 @@ index 2081ebf5d401130e169ddd588a809275f9369a92..e71fe881872e7be2a39f7a6830be9dc8
Merchant createMerchant(@Nullable String title);
/**
@@ -1085,20 +1173,41 @@ public interface Server extends PluginMessageRecipient {
@@ -1092,20 +1180,41 @@ public interface Server extends PluginMessageRecipient {
*/
boolean isPrimaryThread();
@ -971,7 +945,7 @@ index 2081ebf5d401130e169ddd588a809275f9369a92..e71fe881872e7be2a39f7a6830be9dc8
String getShutdownMessage();
/**
@@ -1475,7 +1584,9 @@ public interface Server extends PluginMessageRecipient {
@@ -1482,7 +1591,9 @@ public interface Server extends PluginMessageRecipient {
* Sends the component to the player
*
* @param component the components to send
@ -981,7 +955,7 @@ index 2081ebf5d401130e169ddd588a809275f9369a92..e71fe881872e7be2a39f7a6830be9dc8
public void broadcast(@NotNull net.md_5.bungee.api.chat.BaseComponent component) {
throw new UnsupportedOperationException("Not supported yet.");
}
@@ -1484,7 +1595,9 @@ public interface Server extends PluginMessageRecipient {
@@ -1491,7 +1602,9 @@ public interface Server extends PluginMessageRecipient {
* Sends an array of components as a single message to the player
*
* @param components the components to send
@ -992,7 +966,7 @@ index 2081ebf5d401130e169ddd588a809275f9369a92..e71fe881872e7be2a39f7a6830be9dc8
throw new UnsupportedOperationException("Not supported yet.");
}
diff --git a/src/main/java/org/bukkit/Sound.java b/src/main/java/org/bukkit/Sound.java
index 2c8cc0c2af4741df9ae594ab9c436dea5347167c..445b6bf18e6ee26fe6cafca8cf5f1775bcd72d1e 100644
index 77553fe2e7c1b6a4a9c566e663beffd85bdbd21d..c6d09a8bf2157d4c1c8c40fbb78ddcbbef8b762a 100644
--- a/src/main/java/org/bukkit/Sound.java
+++ b/src/main/java/org/bukkit/Sound.java
@@ -10,7 +10,7 @@ import org.jetbrains.annotations.NotNull;
@ -1004,7 +978,7 @@ index 2c8cc0c2af4741df9ae594ab9c436dea5347167c..445b6bf18e6ee26fe6cafca8cf5f1775
AMBIENT_BASALT_DELTAS_ADDITIONS("ambient.basalt_deltas.additions"),
AMBIENT_BASALT_DELTAS_LOOP("ambient.basalt_deltas.loop"),
@@ -1214,4 +1214,12 @@ public enum Sound implements Keyed {
@@ -1227,4 +1227,12 @@ public enum Sound implements Keyed {
public NamespacedKey getKey() {
return key;
}
@ -1084,7 +1058,7 @@ index efb97712cc9dc7c1e12a59f5b94e4f2ad7c6b7d8..3024468af4c073324e536c1cb26beffb
return warning == null || warning.value();
}
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index 794bbd3fa66fdfbcf4bb7ce0d64ede07626d4918..3f7658c5347aad369fde6750d969f5fa63e922de 100644
index 8ab8515c55ba5944469084b3b4f093cb9f9648fb..c58b1885662c6a234ffee75995051c9750c1a512 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -38,7 +38,7 @@ import org.jetbrains.annotations.Nullable;
@ -1547,10 +1521,10 @@ index 25a6f9313a1953def7470e411b53016f2ca14bef..10cb6088c4618f228c757f4e592b44ed
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 3da218eeaa2910487f643918d948264cf83c4337..d0a92eeb3ecfcacf529db8336f7902a66a5f408a 100644
index 8b6cd8f61e1ca03797a26e7549b492a3279dbaa4..28d143e6aedd0c7e1fccf8b3069ab45a234ec43b 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -33,7 +33,28 @@ import org.jetbrains.annotations.Nullable;
@@ -34,7 +34,28 @@ import org.jetbrains.annotations.Nullable;
/**
* Represents a player, connected or not
*/
@ -1580,7 +1554,7 @@ index 3da218eeaa2910487f643918d948264cf83c4337..d0a92eeb3ecfcacf529db8336f7902a6
/**
* Gets the "friendly" name to display of this player. This may include
@@ -43,7 +64,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -44,7 +65,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* places defined by plugins.
*
* @return the friendly name
@ -1590,7 +1564,7 @@ index 3da218eeaa2910487f643918d948264cf83c4337..d0a92eeb3ecfcacf529db8336f7902a6
@NotNull
public String getDisplayName();
@@ -55,15 +78,50 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -56,15 +79,50 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* places defined by plugins.
*
* @param name The new display name.
@ -1641,7 +1615,7 @@ index 3da218eeaa2910487f643918d948264cf83c4337..d0a92eeb3ecfcacf529db8336f7902a6
public String getPlayerListName();
/**
@@ -72,14 +130,18 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -73,14 +131,18 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* If the value is null, the name will be identical to {@link #getName()}.
*
* @param name new player list name
@ -1660,7 +1634,7 @@ index 3da218eeaa2910487f643918d948264cf83c4337..d0a92eeb3ecfcacf529db8336f7902a6
@Nullable
public String getPlayerListHeader();
@@ -87,7 +149,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -88,7 +150,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* Gets the currently displayed player list footer for this player.
*
* @return player list header or null
@ -1670,7 +1644,7 @@ index 3da218eeaa2910487f643918d948264cf83c4337..d0a92eeb3ecfcacf529db8336f7902a6
@Nullable
public String getPlayerListFooter();
@@ -95,14 +159,18 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -96,14 +160,18 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* Sets the currently displayed player list header for this player.
*
* @param header player list header, null for empty
@ -1689,7 +1663,7 @@ index 3da218eeaa2910487f643918d948264cf83c4337..d0a92eeb3ecfcacf529db8336f7902a6
public void setPlayerListFooter(@Nullable String footer);
/**
@@ -111,7 +179,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -112,7 +180,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*
* @param header player list header, null for empty
* @param footer player list footer, null for empty
@ -1699,7 +1673,7 @@ index 3da218eeaa2910487f643918d948264cf83c4337..d0a92eeb3ecfcacf529db8336f7902a6
public void setPlayerListHeaderFooter(@Nullable String header, @Nullable String footer);
/**
@@ -149,9 +219,20 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -150,9 +220,20 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* Kicks player with custom kick message.
*
* @param message kick message
@ -1720,11 +1694,10 @@ index 3da218eeaa2910487f643918d948264cf83c4337..d0a92eeb3ecfcacf529db8336f7902a6
/**
* Says a message (or runs a command).
*
@@ -480,6 +561,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@Deprecated
public boolean sendChunkChange(@NotNull Location loc, int sx, int sy, int sz, @NotNull byte[] data);
@@ -472,6 +553,70 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public void sendEquipmentChange(@NotNull LivingEntity entity, @NotNull EquipmentSlot slot, @NotNull ItemStack item);
+ // Paper start
+ /**
+ * Send a sign change. This fakes a sign change packet for a user at
+ * a certain location. This will not actually change the world in any way.
@ -1737,25 +1710,11 @@ index 3da218eeaa2910487f643918d948264cf83c4337..d0a92eeb3ecfcacf529db8336f7902a6
+ *
+ * @param loc the location of the sign
+ * @param lines the new text on the sign or null to clear it
+ * @param dyeColor the color of the sign
+ * @throws IllegalArgumentException if location is null
+ * @throws IllegalArgumentException if dyeColor is null
+ * @throws IllegalArgumentException if lines is non-null and has a length less than 4
+ */
+ default void sendSignChange(@NotNull Location loc, @Nullable java.util.List<net.kyori.adventure.text.Component> lines) throws IllegalArgumentException {
+ this.sendSignChange(loc, lines, DyeColor.BLACK);
+ }
+
/**
* Send a sign change. This fakes a sign change packet for a user at
* a certain location. This will not actually change the world in any way.
@@ -492,9 +593,75 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*
* @param loc the location of the sign
* @param lines the new text on the sign or null to clear it
+ * @param dyeColor the color of the sign
* @throws IllegalArgumentException if location is null
+ * @throws IllegalArgumentException if dyeColor is null
* @throws IllegalArgumentException if lines is non-null and has a length less than 4
*/
+ default void sendSignChange(@NotNull Location loc, @Nullable java.util.List<net.kyori.adventure.text.Component> lines, @NotNull DyeColor dyeColor) throws IllegalArgumentException {
+ this.sendSignChange(loc, lines, dyeColor, false);
+ }
@ -1803,27 +1762,20 @@ index 3da218eeaa2910487f643918d948264cf83c4337..d0a92eeb3ecfcacf529db8336f7902a6
+ throws IllegalArgumentException;
+ // Paper end
+
+ /**
+ * Send a sign change. This fakes a sign change packet for a user at
+ * a certain location. This will not actually change the world in any way.
+ * This method will use a sign at the location's block or a faked sign
+ * sent via
+ * {@link #sendBlockChange(org.bukkit.Location, org.bukkit.Material, byte)}.
+ * <p>
+ * If the client does not have a sign at the given location it will
+ * display an error message to the user.
+ *
+ * @param loc the location of the sign
+ * @param lines the new text on the sign or null to clear it
+ * @throws IllegalArgumentException if location is null
+ * @throws IllegalArgumentException if lines is non-null and has a length less than 4
/**
* Send a sign change. This fakes a sign change packet for a user at
* a certain location. This will not actually change the world in any way.
@@ -486,7 +631,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param lines the new text on the sign or null to clear it
* @throws IllegalArgumentException if location is null
* @throws IllegalArgumentException if lines is non-null and has a length less than 4
+ * @deprecated in favour of {@link #sendSignChange(org.bukkit.Location, java.util.List)}
+ */
*/
+ @Deprecated // Paper
public void sendSignChange(@NotNull Location loc, @Nullable String[] lines) throws IllegalArgumentException;
/**
@@ -513,7 +680,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -505,7 +652,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @throws IllegalArgumentException if location is null
* @throws IllegalArgumentException if dyeColor is null
* @throws IllegalArgumentException if lines is non-null and has a length less than 4
@ -1833,7 +1785,7 @@ index 3da218eeaa2910487f643918d948264cf83c4337..d0a92eeb3ecfcacf529db8336f7902a6
public void sendSignChange(@NotNull Location loc, @Nullable String[] lines, @NotNull DyeColor dyeColor) throws IllegalArgumentException;
/**
@@ -533,7 +702,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -525,7 +674,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @throws IllegalArgumentException if location is null
* @throws IllegalArgumentException if dyeColor is null
* @throws IllegalArgumentException if lines is non-null and has a length less than 4
@ -1843,7 +1795,7 @@ index 3da218eeaa2910487f643918d948264cf83c4337..d0a92eeb3ecfcacf529db8336f7902a6
public void sendSignChange(@NotNull Location loc, @Nullable String[] lines, @NotNull DyeColor dyeColor, boolean hasGlowingText) throws IllegalArgumentException;
/**
@@ -1025,7 +1196,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -1017,7 +1168,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*
* @param title Title text
* @param subtitle Subtitle text
@ -1852,7 +1804,7 @@ index 3da218eeaa2910487f643918d948264cf83c4337..d0a92eeb3ecfcacf529db8336f7902a6
*/
@Deprecated
public void sendTitle(@Nullable String title, @Nullable String subtitle);
@@ -1044,7 +1215,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -1036,7 +1187,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param fadeIn time in ticks for titles to fade in. Defaults to 10.
* @param stay time in ticks for titles to stay. Defaults to 70.
* @param fadeOut time in ticks for titles to fade out. Defaults to 20.
@ -1862,7 +1814,7 @@ index 3da218eeaa2910487f643918d948264cf83c4337..d0a92eeb3ecfcacf529db8336f7902a6
public void sendTitle(@Nullable String title, @Nullable String subtitle, int fadeIn, int stay, int fadeOut);
/**
@@ -1271,6 +1444,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -1263,6 +1416,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public int getClientViewDistance();
@ -1877,7 +1829,7 @@ index 3da218eeaa2910487f643918d948264cf83c4337..d0a92eeb3ecfcacf529db8336f7902a6
/**
* Gets the player's estimated ping in milliseconds.
*
@@ -1296,8 +1477,10 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -1288,8 +1449,10 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* they wish.
*
* @return the player's locale
@ -1888,7 +1840,7 @@ index 3da218eeaa2910487f643918d948264cf83c4337..d0a92eeb3ecfcacf529db8336f7902a6
public String getLocale();
/**
@@ -1315,6 +1498,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -1307,6 +1470,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public void openBook(@NotNull ItemStack book);
@ -1903,7 +1855,7 @@ index 3da218eeaa2910487f643918d948264cf83c4337..d0a92eeb3ecfcacf529db8336f7902a6
// Spigot start
public class Spigot extends Entity.Spigot {
@@ -1369,11 +1560,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -1361,11 +1532,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
throw new UnsupportedOperationException("Not supported yet.");
}
@ -1917,7 +1869,7 @@ index 3da218eeaa2910487f643918d948264cf83c4337..d0a92eeb3ecfcacf529db8336f7902a6
@Override
public void sendMessage(@NotNull net.md_5.bungee.api.chat.BaseComponent... components) {
throw new UnsupportedOperationException("Not supported yet.");
@@ -1384,7 +1577,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -1376,7 +1549,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*
* @param position the screen position
* @param component the components to send
@ -1927,7 +1879,7 @@ index 3da218eeaa2910487f643918d948264cf83c4337..d0a92eeb3ecfcacf529db8336f7902a6
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.");
}
@@ -1394,7 +1589,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -1386,7 +1561,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*
* @param position the screen position
* @param components the components to send
@ -1937,7 +1889,7 @@ index 3da218eeaa2910487f643918d948264cf83c4337..d0a92eeb3ecfcacf529db8336f7902a6
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.");
}
@@ -1405,7 +1602,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -1397,7 +1574,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param position the screen position
* @param sender the sender of the message
* @param component the components to send
@ -1947,7 +1899,7 @@ index 3da218eeaa2910487f643918d948264cf83c4337..d0a92eeb3ecfcacf529db8336f7902a6
public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @Nullable UUID sender, @NotNull net.md_5.bungee.api.chat.BaseComponent component) {
throw new UnsupportedOperationException("Not supported yet.");
}
@@ -1416,7 +1615,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -1408,7 +1587,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param position the screen position
* @param sender the sender of the message
* @param components the components to send
@ -3778,7 +3730,7 @@ index 228421154913116069c20323afb519bdde2134df..26791db3c267670d5782f1d2b67ff7d5
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/scoreboard/Objective.java b/src/main/java/org/bukkit/scoreboard/Objective.java
index 7277f62d77cd94dc34fd8ac4fad64ebeffe056e4..6279957b9bc6d22881f092eabf3a99831d85e3ee 100644
index ff3fcb2697eb00736238d0efdcaefe43043334d3..75acd6f8f3d774bb79e8e513125e801c5569a244 100644
--- a/src/main/java/org/bukkit/scoreboard/Objective.java
+++ b/src/main/java/org/bukkit/scoreboard/Objective.java
@@ -19,14 +19,35 @@ public interface Objective {
@ -3828,7 +3780,7 @@ index 7277f62d77cd94dc34fd8ac4fad64ebeffe056e4..6279957b9bc6d22881f092eabf3a9983
/**
diff --git a/src/main/java/org/bukkit/scoreboard/Scoreboard.java b/src/main/java/org/bukkit/scoreboard/Scoreboard.java
index d283f6947d775a3bc3a9b2f75db9ab733d819a06..93089ce61d2e1888df13b7c9629a79cd6f5f767a 100644
index 5c855dbd0da895392f7a6e92cdc90782baf614ad..f7754ab421c7b452a53c28d1e2fafdccfbba24bf 100644
--- a/src/main/java/org/bukkit/scoreboard/Scoreboard.java
+++ b/src/main/java/org/bukkit/scoreboard/Scoreboard.java
@@ -27,6 +27,48 @@ public interface Scoreboard {