diff --git a/patches/api/0005-Adventure.patch b/patches/api/0005-Adventure.patch index 25d1c82bb2..1fa6ca4e57 100644 --- a/patches/api/0005-Adventure.patch +++ b/patches/api/0005-Adventure.patch @@ -753,10 +753,10 @@ index 0000000000000000000000000000000000000000..6e94562d79206d88b74b53814f9423f1 + } +} diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index f8051479fbf0b63f671a343cdb375429a3f7bd2f..fe86d25bfc444ad7143fb60e88bc46ad749c8579 100644 +index ff86f4f5d7f460e8986c4a4fa483f5b5a1d3a1b6..cd9566aeace9e2e1e01fb014b0c50ba93af305d7 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -379,7 +379,9 @@ public final class Bukkit { +@@ -388,7 +388,9 @@ public final class Bukkit { * * @param message the message * @return the number of players @@ -766,7 +766,7 @@ index f8051479fbf0b63f671a343cdb375429a3f7bd2f..fe86d25bfc444ad7143fb60e88bc46ad public static int broadcastMessage(@NotNull String message) { return server.broadcastMessage(message); } -@@ -1095,6 +1097,19 @@ public final class Bukkit { +@@ -1104,6 +1106,19 @@ public final class Bukkit { server.shutdown(); } @@ -786,7 +786,7 @@ index f8051479fbf0b63f671a343cdb375429a3f7bd2f..fe86d25bfc444ad7143fb60e88bc46ad /** * Broadcasts the specified message to every user with the given * permission name. -@@ -1104,6 +1119,21 @@ public final class Bukkit { +@@ -1113,6 +1128,21 @@ public final class Bukkit { * permissibles} must have to receive the broadcast * @return number of message recipients */ @@ -808,7 +808,7 @@ index f8051479fbf0b63f671a343cdb375429a3f7bd2f..fe86d25bfc444ad7143fb60e88bc46ad public static int broadcast(@NotNull String message, @NotNull String permission) { return server.broadcast(message, permission); } -@@ -1342,6 +1372,7 @@ public final class Bukkit { +@@ -1351,6 +1381,7 @@ public final class Bukkit { return server.createInventory(owner, type); } @@ -816,7 +816,7 @@ index f8051479fbf0b63f671a343cdb375429a3f7bd2f..fe86d25bfc444ad7143fb60e88bc46ad /** * 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; -@@ -1367,6 +1398,38 @@ public final class Bukkit { +@@ -1376,6 +1407,38 @@ public final class Bukkit { * @see InventoryType#isCreatable() */ @NotNull @@ -855,7 +855,7 @@ index f8051479fbf0b63f671a343cdb375429a3f7bd2f..fe86d25bfc444ad7143fb60e88bc46ad public static Inventory createInventory(@Nullable InventoryHolder owner, @NotNull InventoryType type, @NotNull String title) { return server.createInventory(owner, type, title); } -@@ -1385,6 +1448,7 @@ public final class Bukkit { +@@ -1394,6 +1457,7 @@ public final class Bukkit { return server.createInventory(owner, size); } @@ -863,7 +863,7 @@ index f8051479fbf0b63f671a343cdb375429a3f7bd2f..fe86d25bfc444ad7143fb60e88bc46ad /** * Creates an empty inventory of type {@link InventoryType#CHEST} with the * specified size and title. -@@ -1397,10 +1461,30 @@ public final class Bukkit { +@@ -1406,10 +1470,30 @@ public final class Bukkit { * @throws IllegalArgumentException if the size is not a multiple of 9 */ @NotNull @@ -894,7 +894,7 @@ index f8051479fbf0b63f671a343cdb375429a3f7bd2f..fe86d25bfc444ad7143fb60e88bc46ad /** * Creates an empty merchant. * -@@ -1408,7 +1492,20 @@ public final class Bukkit { +@@ -1417,7 +1501,20 @@ public final class Bukkit { * when the merchant inventory is viewed * @return a new merchant */ @@ -915,7 +915,7 @@ index f8051479fbf0b63f671a343cdb375429a3f7bd2f..fe86d25bfc444ad7143fb60e88bc46ad public static Merchant createMerchant(@Nullable String title) { return server.createMerchant(title); } -@@ -1525,22 +1622,47 @@ public final class Bukkit { +@@ -1534,12 +1631,43 @@ public final class Bukkit { return server.isPrimaryThread(); } @@ -928,6 +928,24 @@ index f8051479fbf0b63f671a343cdb375429a3f7bd2f..fe86d25bfc444ad7143fb60e88bc46ad + @NotNull public static net.kyori.adventure.text.Component motd() { + return server.motd(); + } ++ ++ /** ++ * Set the message that is displayed on the server list. ++ * ++ * @param motd The message to be displayed ++ */ ++ public static void motd(final net.kyori.adventure.text.@NotNull Component motd) { ++ server.motd(motd); ++ } ++ ++ /** ++ * Gets the default message that is displayed when the server is stopped. ++ * ++ * @return the shutdown message ++ */ ++ public static net.kyori.adventure.text.@Nullable Component shutdownMessage() { ++ return server.shutdownMessage(); ++ } + // Paper end + /** @@ -941,18 +959,17 @@ index f8051479fbf0b63f671a343cdb375429a3f7bd2f..fe86d25bfc444ad7143fb60e88bc46ad public static String getMotd() { return server.getMotd(); } - -+ // Paper start -+ /** -+ * Gets the default message that is displayed when the server is stopped. -+ * -+ * @return the shutdown message -+ */ -+ public static net.kyori.adventure.text.@Nullable Component shutdownMessage() { -+ return server.shutdownMessage(); -+ } -+ // Paper end - /** +@@ -1548,7 +1676,9 @@ public final class Bukkit { + * Set the message that is displayed on the server list. + * + * @param motd The message to be displayed ++ * @deprecated in favour of {@link #motd(net.kyori.adventure.text.Component)} + */ ++ @Deprecated // Paper + public static void setMotd(@NotNull String motd) { + server.setMotd(motd); + } +@@ -1557,8 +1687,10 @@ public final class Bukkit { * Gets the default message that is displayed when the server is stopped. * * @return the shutdown message @@ -1132,7 +1149,7 @@ index c559f38fdb92cfee9f2e0ffb7088d1cf74a7f73d..a42f1d53340e4073038d46b7fabf5d44 + // Paper end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 6f97c680535fabf88509a49ec21704eb527b2add..b516021b6772d8266ed72b73170510ca7bfedba7 100644 +index d3684494b81d06b82eab72c6cfbd76d36dfc0e97..e359bc68007fbe62270ee62be762f844cbafe2d9 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java @@ -60,13 +60,13 @@ import org.jetbrains.annotations.Nullable; @@ -1160,7 +1177,7 @@ index 6f97c680535fabf88509a49ec21704eb527b2add..b516021b6772d8266ed72b73170510ca */ public static final String BROADCAST_CHANNEL_USERS = "bukkit.broadcast.user"; -@@ -320,7 +320,9 @@ public interface Server extends PluginMessageRecipient { +@@ -327,7 +327,9 @@ public interface Server extends PluginMessageRecipient { * * @param message the message * @return the number of players @@ -1170,7 +1187,7 @@ index 6f97c680535fabf88509a49ec21704eb527b2add..b516021b6772d8266ed72b73170510ca public int broadcastMessage(@NotNull String message); /** -@@ -938,8 +940,33 @@ public interface Server extends PluginMessageRecipient { +@@ -945,8 +947,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 @@ -1204,21 +1221,11 @@ index 6f97c680535fabf88509a49ec21704eb527b2add..b516021b6772d8266ed72b73170510ca /** * Gets the player by the given name, regardless if they are offline or -@@ -1137,6 +1164,7 @@ public interface Server extends PluginMessageRecipient { +@@ -1144,6 +1171,35 @@ public interface Server extends PluginMessageRecipient { @NotNull Inventory createInventory(@Nullable InventoryHolder owner, @NotNull InventoryType type); + // Paper start - /** - * 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; -@@ -1162,6 +1190,36 @@ public interface Server extends PluginMessageRecipient { - * @see InventoryType#isCreatable() - */ - @NotNull -+ Inventory createInventory(@Nullable InventoryHolder owner, @NotNull InventoryType type, net.kyori.adventure.text.@NotNull Component title); -+ // Paper end -+ + /** + * 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; @@ -1240,16 +1247,29 @@ index 6f97c680535fabf88509a49ec21704eb527b2add..b516021b6772d8266ed72b73170510ca + * @return The new inventory. + * @throws IllegalArgumentException if the {@link InventoryType} cannot be + * viewed. -+ * @deprecated in favour of {@link #createInventory(InventoryHolder, InventoryType, net.kyori.adventure.text.Component)} + * + * @see InventoryType#isCreatable() + */ -+ @Deprecated // Paper + @NotNull ++ Inventory createInventory(@Nullable InventoryHolder owner, @NotNull InventoryType type, net.kyori.adventure.text.@NotNull Component title); ++ // Paper end ++ + /** + * 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; +@@ -1165,9 +1221,11 @@ public interface Server extends PluginMessageRecipient { + * @return The new inventory. + * @throws IllegalArgumentException if the {@link InventoryType} cannot be + * viewed. ++ * @deprecated in favour of {@link #createInventory(InventoryHolder, InventoryType, net.kyori.adventure.text.Component)} + * + * @see InventoryType#isCreatable() + */ ++ @Deprecated // Paper + @NotNull Inventory createInventory(@Nullable InventoryHolder owner, @NotNull InventoryType type, @NotNull String title); - /** -@@ -1176,6 +1234,22 @@ public interface Server extends PluginMessageRecipient { +@@ -1183,6 +1241,22 @@ public interface Server extends PluginMessageRecipient { @NotNull Inventory createInventory(@Nullable InventoryHolder owner, int size) throws IllegalArgumentException; @@ -1272,7 +1292,7 @@ index 6f97c680535fabf88509a49ec21704eb527b2add..b516021b6772d8266ed72b73170510ca /** * Creates an empty inventory of type {@link InventoryType#CHEST} with the * specified size and title. -@@ -1186,10 +1260,13 @@ public interface Server extends PluginMessageRecipient { +@@ -1193,18 +1267,32 @@ public interface Server extends PluginMessageRecipient { * viewed * @return a new inventory * @throws IllegalArgumentException if the size is not a multiple of 9 @@ -1282,15 +1302,6 @@ index 6f97c680535fabf88509a49ec21704eb527b2add..b516021b6772d8266ed72b73170510ca @NotNull Inventory createInventory(@Nullable InventoryHolder owner, int size, @NotNull String title) throws IllegalArgumentException; -+ // Paper start - /** - * Creates an empty merchant. - * -@@ -1197,7 +1274,18 @@ public interface Server extends PluginMessageRecipient { - * when the merchant inventory is viewed - * @return a new merchant - */ -+ @NotNull Merchant createMerchant(net.kyori.adventure.text.@Nullable Component title); + // Paper start + /** + * Creates an empty merchant. @@ -1298,14 +1309,23 @@ index 6f97c680535fabf88509a49ec21704eb527b2add..b516021b6772d8266ed72b73170510ca + * @param title the title of the corresponding merchant inventory, displayed + * when the merchant inventory is viewed + * @return a new merchant -+ * @deprecated in favour of {@link #createMerchant(net.kyori.adventure.text.Component)} + */ ++ @NotNull Merchant createMerchant(net.kyori.adventure.text.@Nullable Component title); ++ // Paper start + /** + * Creates an empty merchant. + * + * @param title the title of the corresponding merchant inventory, displayed + * when the merchant inventory is viewed + * @return a new merchant ++ * @deprecated in favour of {@link #createMerchant(net.kyori.adventure.text.Component)} + */ @NotNull + @Deprecated // Paper Merchant createMerchant(@Nullable String title); /** -@@ -1293,20 +1381,41 @@ public interface Server extends PluginMessageRecipient { +@@ -1300,27 +1388,56 @@ public interface Server extends PluginMessageRecipient { */ boolean isPrimaryThread(); @@ -1316,6 +1336,20 @@ index 6f97c680535fabf88509a49ec21704eb527b2add..b516021b6772d8266ed72b73170510ca + * @return the server's MOTD + */ + net.kyori.adventure.text.@NotNull Component motd(); ++ ++ /** ++ * Set the message that is displayed on the server list. ++ * ++ * @param motd The message to be displayed ++ */ ++ void motd(final net.kyori.adventure.text.@NotNull Component motd); ++ ++ /** ++ * Gets the default message that is displayed when the server is stopped. ++ * ++ * @return the shutdown message ++ */ ++ net.kyori.adventure.text.@Nullable Component shutdownMessage(); + // Paper end + /** @@ -1328,14 +1362,15 @@ index 6f97c680535fabf88509a49ec21704eb527b2add..b516021b6772d8266ed72b73170510ca + @Deprecated // Paper String getMotd(); -+ // Paper start -+ /** -+ * Gets the default message that is displayed when the server is stopped. -+ * -+ * @return the shutdown message -+ */ -+ net.kyori.adventure.text.@Nullable Component shutdownMessage(); -+ // Paper end + /** + * Set the message that is displayed on the server list. + * + * @param motd The message to be displayed ++ * @deprecated in favour of {@link #motd(net.kyori.adventure.text.Component)} + */ ++ @Deprecated // Paper + void setMotd(@NotNull String motd); + /** * Gets the default message that is displayed when the server is stopped. * @@ -1347,7 +1382,7 @@ index 6f97c680535fabf88509a49ec21704eb527b2add..b516021b6772d8266ed72b73170510ca String getShutdownMessage(); /** -@@ -1688,7 +1797,9 @@ public interface Server extends PluginMessageRecipient { +@@ -1702,7 +1819,9 @@ public interface Server extends PluginMessageRecipient { * Sends the component to the player * * @param component the components to send @@ -1357,7 +1392,7 @@ index 6f97c680535fabf88509a49ec21704eb527b2add..b516021b6772d8266ed72b73170510ca public void broadcast(@NotNull net.md_5.bungee.api.chat.BaseComponent component) { throw new UnsupportedOperationException("Not supported yet."); } -@@ -1697,7 +1808,9 @@ public interface Server extends PluginMessageRecipient { +@@ -1711,7 +1830,9 @@ public interface Server extends PluginMessageRecipient { * Sends an array of components as a single message to the player * * @param components the components to send diff --git a/patches/api/0010-Timings-v2.patch b/patches/api/0010-Timings-v2.patch index f93edb3393..ac048d78e1 100644 --- a/patches/api/0010-Timings-v2.patch +++ b/patches/api/0010-Timings-v2.patch @@ -2854,10 +2854,10 @@ index 0000000000000000000000000000000000000000..3e61a926620a67daec3af54b72a1b911 + } +} diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index fe86d25bfc444ad7143fb60e88bc46ad749c8579..ffacdd168e2b68663becfcfc5c917a41f8ec817d 100644 +index cd9566aeace9e2e1e01fb014b0c50ba93af305d7..1f4df6984a8b8bd3e72a5eb7fb1c66b6bfddfbf5 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -823,7 +823,6 @@ public final class Bukkit { +@@ -832,7 +832,6 @@ public final class Bukkit { */ public static void reload() { server.reload(); @@ -2866,10 +2866,10 @@ index fe86d25bfc444ad7143fb60e88bc46ad749c8579..ffacdd168e2b68663becfcfc5c917a41 /** diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index b516021b6772d8266ed72b73170510ca7bfedba7..cadf590c7e597a503078892b3d5671642a80eb3f 100644 +index e359bc68007fbe62270ee62be762f844cbafe2d9..e773b40ff5fa9890c72e45e5c75a155bd7d02954 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1793,6 +1793,26 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1815,6 +1815,26 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi throw new UnsupportedOperationException("Not supported yet."); } diff --git a/patches/api/0013-Add-getTPS-method.patch b/patches/api/0013-Add-getTPS-method.patch index e49e4e2edf..f5bdf29597 100644 --- a/patches/api/0013-Add-getTPS-method.patch +++ b/patches/api/0013-Add-getTPS-method.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add getTPS method diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 003d1613fb1b5a24146fb3eeba0be7bf5a4eb8b8..ad7ab68bb2cb4516217984c1c8c07f7a892734a0 100644 +index d77a7acb3ea82a331cb773bfda3e66d26a2bbd68..b2effed0281997a64dd0fdc965bce2a54af0cf4d 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -1912,6 +1912,17 @@ public final class Bukkit { +@@ -1940,6 +1940,17 @@ public final class Bukkit { return server.getEntity(uuid); } @@ -27,10 +27,10 @@ index 003d1613fb1b5a24146fb3eeba0be7bf5a4eb8b8..ad7ab68bb2cb4516217984c1c8c07f7a * Get the advancement specified by this key. * diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 15b07d05d948d5df21591dc9e1b0fc0232c984ec..1f09705726d9114821eeb8321805cac0f7966944 100644 +index 76d28815a51d73fc79ef8bb5abe8fc7758e6fd23..04f5191398dcfac02eb6553d549e77207c06e550 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1630,6 +1630,16 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1652,6 +1652,16 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @Nullable Entity getEntity(@NotNull UUID uuid); diff --git a/patches/api/0020-Expose-server-CommandMap.patch b/patches/api/0020-Expose-server-CommandMap.patch index 804b176eb2..f64662cba3 100644 --- a/patches/api/0020-Expose-server-CommandMap.patch +++ b/patches/api/0020-Expose-server-CommandMap.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose server CommandMap diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index ad7ab68bb2cb4516217984c1c8c07f7a892734a0..b28d196a810e121d0502e0035b16d2c6ed2efe2d 100644 +index b2effed0281997a64dd0fdc965bce2a54af0cf4d..f3a976ea2d7433623202c1d7cbf777608b0ba457 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2113,6 +2113,19 @@ public final class Bukkit { +@@ -2141,6 +2141,19 @@ public final class Bukkit { return server.getUnsafe(); } @@ -29,10 +29,10 @@ index ad7ab68bb2cb4516217984c1c8c07f7a892734a0..b28d196a810e121d0502e0035b16d2c6 public static Server.Spigot spigot() { return server.spigot(); diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 1f09705726d9114821eeb8321805cac0f7966944..b6ff3a80fcb5c0e843caa1cfdb165cf2cadb8bd2 100644 +index 04f5191398dcfac02eb6553d549e77207c06e550..c0c67866014940a1331cd714d5c6eb50256ae143 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1640,6 +1640,15 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1662,6 +1662,15 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi public double[] getTPS(); // Paper end diff --git a/patches/api/0021-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch b/patches/api/0021-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch index 4f056b16b8..d11eb796ca 100644 --- a/patches/api/0021-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch +++ b/patches/api/0021-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Graduate bungeecord chat API from spigot subclasses Change Javadoc to be accurate diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index b28d196a810e121d0502e0035b16d2c6ed2efe2d..61734532c341dcbc0565189b63fd05f53b041039 100644 +index f3a976ea2d7433623202c1d7cbf777608b0ba457..77b267c50523433eee0fa35c6c5b8a9e121c0862 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -400,6 +400,30 @@ public final class Bukkit { +@@ -409,6 +409,30 @@ public final class Bukkit { return server.broadcastMessage(message); } @@ -41,10 +41,10 @@ index b28d196a810e121d0502e0035b16d2c6ed2efe2d..61734532c341dcbc0565189b63fd05f5 * Gets the name of the update folder. The update folder is used to safely * update plugins at the right moment on a plugin load. diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index b6ff3a80fcb5c0e843caa1cfdb165cf2cadb8bd2..f24bb5b22975bcbdce1bf1e80cf7a1b338ad12a5 100644 +index c0c67866014940a1331cd714d5c6eb50256ae143..0e63d438a74b96075d7d8fb51ddbd21be3447377 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -337,6 +337,30 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -344,6 +344,30 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @Deprecated // Paper public int broadcastMessage(@NotNull String message); diff --git a/patches/api/0030-Add-command-to-reload-permissions.yml-and-require-co.patch b/patches/api/0030-Add-command-to-reload-permissions.yml-and-require-co.patch index e73aa3393f..94d7e38e7d 100644 --- a/patches/api/0030-Add-command-to-reload-permissions.yml-and-require-co.patch +++ b/patches/api/0030-Add-command-to-reload-permissions.yml-and-require-co.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add command to reload permissions.yml and require confirm to diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 61734532c341dcbc0565189b63fd05f53b041039..cb021ea553f7330473f8e8bcc47803f8c544971a 100644 +index 77b267c50523433eee0fa35c6c5b8a9e121c0862..0b9b28b7a07a8176142b18cfa767c81f5035d52d 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2148,6 +2148,13 @@ public final class Bukkit { +@@ -2176,6 +2176,13 @@ public final class Bukkit { public static org.bukkit.command.CommandMap getCommandMap() { return server.getCommandMap(); } @@ -24,10 +24,10 @@ index 61734532c341dcbc0565189b63fd05f53b041039..cb021ea553f7330473f8e8bcc47803f8 @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index f24bb5b22975bcbdce1bf1e80cf7a1b338ad12a5..ecd0b92f487b9c2d1f7fed1e98e10c8c0946ab9e 100644 +index 0e63d438a74b96075d7d8fb51ddbd21be3447377..e76c11688760a24f8395f562108b4c5fd7139b42 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1901,4 +1901,6 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1923,4 +1923,6 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @NotNull Spigot spigot(); // Spigot end diff --git a/patches/api/0043-Allow-Reloading-of-Command-Aliases.patch b/patches/api/0043-Allow-Reloading-of-Command-Aliases.patch index 1b4a34b2e9..7e19f95ecf 100644 --- a/patches/api/0043-Allow-Reloading-of-Command-Aliases.patch +++ b/patches/api/0043-Allow-Reloading-of-Command-Aliases.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Allow Reloading of Command Aliases Reload the aliases stored in commands.yml diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index cb021ea553f7330473f8e8bcc47803f8c544971a..7f5da77075a8c180848312d85e554a0e309fa3e5 100644 +index 0b9b28b7a07a8176142b18cfa767c81f5035d52d..22d9538abe61ccb3e5d3ae407d54446fa172fa39 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2155,6 +2155,15 @@ public final class Bukkit { +@@ -2183,6 +2183,15 @@ public final class Bukkit { public static void reloadPermissions() { server.reloadPermissions(); } @@ -26,10 +26,10 @@ index cb021ea553f7330473f8e8bcc47803f8c544971a..7f5da77075a8c180848312d85e554a0e @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index ecd0b92f487b9c2d1f7fed1e98e10c8c0946ab9e..b2d13b1e31a09aad903f0c24b14641f911cfaee5 100644 +index e76c11688760a24f8395f562108b4c5fd7139b42..26516ae5519675dac359b578d0f06ea2c0745ab3 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1903,4 +1903,6 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1925,4 +1925,6 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi // Spigot end void reloadPermissions(); // Paper diff --git a/patches/api/0054-Add-configuration-option-to-prevent-player-names-fro.patch b/patches/api/0054-Add-configuration-option-to-prevent-player-names-fro.patch index 6a08ac19e0..2013c6f360 100644 --- a/patches/api/0054-Add-configuration-option-to-prevent-player-names-fro.patch +++ b/patches/api/0054-Add-configuration-option-to-prevent-player-names-fro.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add configuration option to prevent player names from being diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 7f5da77075a8c180848312d85e554a0e309fa3e5..8bc4615fd1e227de53d18c3ad6172f62fd38893b 100644 +index 22d9538abe61ccb3e5d3ae407d54446fa172fa39..68a79316cec0c4ab83c6f986e3a9561440994319 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2164,6 +2164,16 @@ public final class Bukkit { +@@ -2192,6 +2192,16 @@ public final class Bukkit { public static boolean reloadCommandAliases() { return server.reloadCommandAliases(); } @@ -27,10 +27,10 @@ index 7f5da77075a8c180848312d85e554a0e309fa3e5..8bc4615fd1e227de53d18c3ad6172f62 @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index b2d13b1e31a09aad903f0c24b14641f911cfaee5..3f307c4e1f9231164f146d7d44a7327aee0293bd 100644 +index 26516ae5519675dac359b578d0f06ea2c0745ab3..0cf214c45078d83d678f12f6cb350e50fc5f1e94 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1905,4 +1905,14 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1927,4 +1927,14 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi void reloadPermissions(); // Paper boolean reloadCommandAliases(); // Paper diff --git a/patches/api/0055-Fix-upstream-javadocs.patch b/patches/api/0055-Fix-upstream-javadocs.patch index 525e38db78..13aa3bf13d 100644 --- a/patches/api/0055-Fix-upstream-javadocs.patch +++ b/patches/api/0055-Fix-upstream-javadocs.patch @@ -53,10 +53,10 @@ index 96ef22fe879c7be4f67bbb4d60c45ad11764dd5b..5dc9f9ede98d93925c99ee382e93f15f * @param target the target to remove from this list */ diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 8bc4615fd1e227de53d18c3ad6172f62fd38893b..a0faa4ef90086bfb7b49bd59e566c01fa9ec380d 100644 +index 68a79316cec0c4ab83c6f986e3a9561440994319..316fc8348445b99af7ffc7c4ad24948a1115dfe6 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -1290,10 +1290,7 @@ public final class Bukkit { +@@ -1299,10 +1299,7 @@ public final class Bukkit { } /** @@ -68,7 +68,7 @@ index 8bc4615fd1e227de53d18c3ad6172f62fd38893b..a0faa4ef90086bfb7b49bd59e566c01f * * @param type the type of list to fetch, cannot be null * @return a ban list of the specified type -@@ -1355,6 +1352,8 @@ public final class Bukkit { +@@ -1364,6 +1361,8 @@ public final class Bukkit { /** * Gets every player that has ever played on this server. @@ -130,10 +130,10 @@ index 43f5aab2fe70af5f570de1f21eca83905f1e2f57..05c29cbd2ae1ca0434a90f8389479bd6 * @param statePredicate The predicate which should get used to test if a block should be set or not. * @return true if the tree was created successfully, otherwise false diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 3f307c4e1f9231164f146d7d44a7327aee0293bd..8f64461f8c05143e8e8e10c0efbb6d6b8f71fd83 100644 +index 0cf214c45078d83d678f12f6cb350e50fc5f1e94..d7b081ac72d7d2aa3b675c6cbb8fb66f73facc99 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -535,13 +535,10 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -542,13 +542,10 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * *

* Note: If set to 0, {@link SpawnCategory} mobs spawning will be disabled. @@ -148,7 +148,7 @@ index 3f307c4e1f9231164f146d7d44a7327aee0293bd..8f64461f8c05143e8e8e10c0efbb6d6b */ public int getTicksPerSpawns(@NotNull SpawnCategory spawnCategory); -@@ -1101,10 +1098,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1108,10 +1105,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi public Set getBannedPlayers(); /** @@ -160,7 +160,7 @@ index 3f307c4e1f9231164f146d7d44a7327aee0293bd..8f64461f8c05143e8e8e10c0efbb6d6b * * @param type the type of list to fetch, cannot be null * @return a ban list of the specified type -@@ -1154,6 +1148,8 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1161,6 +1155,8 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi /** * Gets every player that has ever played on this server. diff --git a/patches/api/0059-Basic-PlayerProfile-API.patch b/patches/api/0059-Basic-PlayerProfile-API.patch index 4b1765e69f..13200b1ca2 100644 --- a/patches/api/0059-Basic-PlayerProfile-API.patch +++ b/patches/api/0059-Basic-PlayerProfile-API.patch @@ -321,10 +321,10 @@ index 0000000000000000000000000000000000000000..7b3b6ef533d32169fbeca389bd61cfc6 + } +} diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index a0faa4ef90086bfb7b49bd59e566c01fa9ec380d..cbd89729d1ba4866fdb9b72b7f0a4fbd4e161cd2 100644 +index 316fc8348445b99af7ffc7c4ad24948a1115dfe6..10eeb288ef41dfc6bd70fc8f6ec218dabc60b2a4 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2173,6 +2173,83 @@ public final class Bukkit { +@@ -2201,6 +2201,83 @@ public final class Bukkit { public static boolean suggestPlayerNamesWhenNullTabCompletions() { return server.suggestPlayerNamesWhenNullTabCompletions(); } @@ -409,10 +409,10 @@ index a0faa4ef90086bfb7b49bd59e566c01fa9ec380d..cbd89729d1ba4866fdb9b72b7f0a4fbd @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 8f64461f8c05143e8e8e10c0efbb6d6b8f71fd83..7f6400c58530d4827c197f3d1fbabfa34554010f 100644 +index d7b081ac72d7d2aa3b675c6cbb8fb66f73facc99..1487b5de4fba5304b7e2105c6f88872923aa7974 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1910,5 +1910,74 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1932,5 +1932,74 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * @return true if player names should be suggested */ boolean suggestPlayerNamesWhenNullTabCompletions(); diff --git a/patches/api/0091-Player.setPlayerProfile-API.patch b/patches/api/0091-Player.setPlayerProfile-API.patch index 0b50ab4d3c..9cb130248a 100644 --- a/patches/api/0091-Player.setPlayerProfile-API.patch +++ b/patches/api/0091-Player.setPlayerProfile-API.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Player.setPlayerProfile API This can be useful for changing name or skins after a player has logged in. diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index cbd89729d1ba4866fdb9b72b7f0a4fbd4e161cd2..551948a83965b38bf29aeb8daafc25bde05a5a1c 100644 +index 10eeb288ef41dfc6bd70fc8f6ec218dabc60b2a4..ace8904541fb4571cb03f14e6e3baa02ae460d1e 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -1220,8 +1220,10 @@ public final class Bukkit { +@@ -1229,8 +1229,10 @@ public final class Bukkit { * @return the new PlayerProfile * @throws IllegalArgumentException if both the unique id is * null and the name is null or blank @@ -20,7 +20,7 @@ index cbd89729d1ba4866fdb9b72b7f0a4fbd4e161cd2..551948a83965b38bf29aeb8daafc25bd public static PlayerProfile createPlayerProfile(@Nullable UUID uniqueId, @Nullable String name) { return server.createPlayerProfile(uniqueId, name); } -@@ -1232,8 +1234,10 @@ public final class Bukkit { +@@ -1241,8 +1243,10 @@ public final class Bukkit { * @param uniqueId the unique id * @return the new PlayerProfile * @throws IllegalArgumentException if the unique id is null @@ -31,7 +31,7 @@ index cbd89729d1ba4866fdb9b72b7f0a4fbd4e161cd2..551948a83965b38bf29aeb8daafc25bd public static PlayerProfile createPlayerProfile(@NotNull UUID uniqueId) { return server.createPlayerProfile(uniqueId); } -@@ -1245,8 +1249,10 @@ public final class Bukkit { +@@ -1254,8 +1258,10 @@ public final class Bukkit { * @return the new PlayerProfile * @throws IllegalArgumentException if the name is null or * blank @@ -56,10 +56,10 @@ index 5acb0d36a008cf5ad332c867e9303d35235b4028..b1ded556a1ce4e1d3c873ab9d7f799b6 /** * Checks if this player is banned or not diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 7f6400c58530d4827c197f3d1fbabfa34554010f..e4c85e67713c5ed4b8b1fcc3c4231327e987a460 100644 +index 1487b5de4fba5304b7e2105c6f88872923aa7974..e4f8031ab979ba7e3fd7242b788e41974f490565 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1042,8 +1042,10 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1049,8 +1049,10 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * @return the new PlayerProfile * @throws IllegalArgumentException if both the unique id is * null and the name is null or blank @@ -70,7 +70,7 @@ index 7f6400c58530d4827c197f3d1fbabfa34554010f..e4c85e67713c5ed4b8b1fcc3c4231327 PlayerProfile createPlayerProfile(@Nullable UUID uniqueId, @Nullable String name); /** -@@ -1052,8 +1054,10 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1059,8 +1061,10 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * @param uniqueId the unique id * @return the new PlayerProfile * @throws IllegalArgumentException if the unique id is null @@ -81,7 +81,7 @@ index 7f6400c58530d4827c197f3d1fbabfa34554010f..e4c85e67713c5ed4b8b1fcc3c4231327 PlayerProfile createPlayerProfile(@NotNull UUID uniqueId); /** -@@ -1063,8 +1067,10 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1070,8 +1074,10 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * @return the new PlayerProfile * @throws IllegalArgumentException if the name is null or * blank diff --git a/patches/api/0092-getPlayerUniqueId-API.patch b/patches/api/0092-getPlayerUniqueId-API.patch index 0cf3122de1..ad0e12f4d8 100644 --- a/patches/api/0092-getPlayerUniqueId-API.patch +++ b/patches/api/0092-getPlayerUniqueId-API.patch @@ -9,10 +9,10 @@ In Offline Mode, will return an Offline UUID This is a more performant way to obtain a UUID for a name than loading an OfflinePlayer diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 551948a83965b38bf29aeb8daafc25bde05a5a1c..7113f38eac400bc86a427972e501b0ca5653dae6 100644 +index ace8904541fb4571cb03f14e6e3baa02ae460d1e..36c5294e6169c3aa4517cd2c945b5dfb7a2a0c51 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -678,6 +678,20 @@ public final class Bukkit { +@@ -687,6 +687,20 @@ public final class Bukkit { return server.getPlayer(id); } @@ -34,10 +34,10 @@ index 551948a83965b38bf29aeb8daafc25bde05a5a1c..7113f38eac400bc86a427972e501b0ca * Gets the plugin manager for interfacing with plugins. * diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index e4c85e67713c5ed4b8b1fcc3c4231327e987a460..878b3ff92be8fcb977240824ae404fb5bed42d48 100644 +index e4f8031ab979ba7e3fd7242b788e41974f490565..2ac191185e4dabb2f39b05a56548b0d97daa2979 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -584,6 +584,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -591,6 +591,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @Nullable public Player getPlayer(@NotNull UUID id); diff --git a/patches/api/0160-Make-the-default-permission-message-configurable.patch b/patches/api/0160-Make-the-default-permission-message-configurable.patch index 83e5645e29..fdedf8eed1 100644 --- a/patches/api/0160-Make-the-default-permission-message-configurable.patch +++ b/patches/api/0160-Make-the-default-permission-message-configurable.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Make the default permission message configurable diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 733b537d4236e5cb06efc188183ad876db31c0ff..71cd6f405c35e1e1a02c1bac64b509ae6ba5c7cd 100644 +index 36a127864be2a75a38bcc6eacafde5109e5c6c69..8649a3453bd3c3ee5f2bf5b706b125cb70d3bb1b 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2213,6 +2213,28 @@ public final class Bukkit { +@@ -2241,6 +2241,28 @@ public final class Bukkit { return server.suggestPlayerNamesWhenNullTabCompletions(); } @@ -38,10 +38,10 @@ index 733b537d4236e5cb06efc188183ad876db31c0ff..71cd6f405c35e1e1a02c1bac64b509ae * Creates a PlayerProfile for the specified uuid, with name as null. * diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 878b3ff92be8fcb977240824ae404fb5bed42d48..43c14b492879d56993586a7b64eb374654ca67a6 100644 +index 2ac191185e4dabb2f39b05a56548b0d97daa2979..771a504a6f64644f434e2a6d20d285d338b5dff4 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1929,6 +1929,23 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1951,6 +1951,23 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ boolean suggestPlayerNamesWhenNullTabCompletions(); diff --git a/patches/api/0172-Fix-Spigot-annotation-mistakes.patch b/patches/api/0172-Fix-Spigot-annotation-mistakes.patch index 9ffda1d027..a7a3aec004 100644 --- a/patches/api/0172-Fix-Spigot-annotation-mistakes.patch +++ b/patches/api/0172-Fix-Spigot-annotation-mistakes.patch @@ -9,10 +9,10 @@ a ton of noise to plugin developers. These do not help plugin developers if they bring moise noise than value. diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 71cd6f405c35e1e1a02c1bac64b509ae6ba5c7cd..a5b792d94a2357f0536def00e80430d00a0b4fa7 100644 +index 8649a3453bd3c3ee5f2bf5b706b125cb70d3bb1b..ef7445fc5c169e64a73dce4f71a2885fb976caf3 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -827,9 +827,8 @@ public final class Bukkit { +@@ -836,9 +836,8 @@ public final class Bukkit { * * @param id the id of the map to get * @return a map view if it exists, or null otherwise @@ -23,7 +23,7 @@ index 71cd6f405c35e1e1a02c1bac64b509ae6ba5c7cd..a5b792d94a2357f0536def00e80430d0 @Nullable public static MapView getMap(int id) { return server.getMap(id); -@@ -1221,10 +1220,8 @@ public final class Bukkit { +@@ -1230,10 +1229,8 @@ public final class Bukkit { * @param name the name the player to retrieve * @return an offline player * @see #getOfflinePlayer(java.util.UUID) @@ -35,7 +35,7 @@ index 71cd6f405c35e1e1a02c1bac64b509ae6ba5c7cd..a5b792d94a2357f0536def00e80430d0 @NotNull public static OfflinePlayer getOfflinePlayer(@NotNull String name) { return server.getOfflinePlayer(name); -@@ -1770,7 +1767,7 @@ public final class Bukkit { +@@ -1798,7 +1795,7 @@ public final class Bukkit { * * @return the scoreboard manager or null if no worlds are loaded. */ @@ -203,10 +203,10 @@ index 6277451c3c6c551078c237cd767b6d70c4f585ea..10f5cfb1885833a1d2c1027c03974da4 CRACKED(0x0), GLYPHED(0x1), diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 43c14b492879d56993586a7b64eb374654ca67a6..38eb76e9f0dc8dd377bb82990eea0c598bdb1000 100644 +index 771a504a6f64644f434e2a6d20d285d338b5dff4..5edef1114f1c94e921656972141d62a9d6338105 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -695,9 +695,8 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -702,9 +702,8 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * * @param id the id of the map to get * @return a map view if it exists, or null otherwise @@ -217,7 +217,7 @@ index 43c14b492879d56993586a7b64eb374654ca67a6..38eb76e9f0dc8dd377bb82990eea0c59 @Nullable public MapView getMap(int id); -@@ -1026,10 +1025,8 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1033,10 +1032,8 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * @param name the name the player to retrieve * @return an offline player * @see #getOfflinePlayer(java.util.UUID) @@ -229,7 +229,7 @@ index 43c14b492879d56993586a7b64eb374654ca67a6..38eb76e9f0dc8dd377bb82990eea0c59 @NotNull public OfflinePlayer getOfflinePlayer(@NotNull String name); -@@ -1492,7 +1489,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1514,7 +1511,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * * @return the scoreboard manager or null if no worlds are loaded. */ diff --git a/patches/api/0176-Mob-Spawner-API-Enhancements.patch b/patches/api/0176-Mob-Spawner-API-Enhancements.patch index 2bbe92cbe9..4928839428 100644 --- a/patches/api/0176-Mob-Spawner-API-Enhancements.patch +++ b/patches/api/0176-Mob-Spawner-API-Enhancements.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Mob Spawner API Enhancements diff --git a/src/main/java/org/bukkit/block/CreatureSpawner.java b/src/main/java/org/bukkit/block/CreatureSpawner.java -index cb447a4ad5a9dce7c98999a5d7fcd6111fc9b10e..5bbae759ce39d42886994e500fd9454ec328f804 100644 +index 8dae9611e702d93b202563597c50752c5f5b77d4..3dcab76632c4f8646d7ae62bb8de287eb6ef55b5 100644 --- a/src/main/java/org/bukkit/block/CreatureSpawner.java +++ b/src/main/java/org/bukkit/block/CreatureSpawner.java @@ -199,4 +199,30 @@ public interface CreatureSpawner extends TileState { @@ -36,6 +36,6 @@ index cb447a4ad5a9dce7c98999a5d7fcd6111fc9b10e..5bbae759ce39d42886994e500fd9454e + * @param itemStack The item to spawn. Must not {@link org.bukkit.Material#isAir be air}. + * @see #setSpawnedType(EntityType) + */ -+ void setSpawnedItem(@NotNull org.bukkit.inventory.ItemStack itemStack); ++ void setSpawnedItem(org.bukkit.inventory.@org.jetbrains.annotations.NotNull ItemStack itemStack); + // Paper end } diff --git a/patches/api/0180-Expose-the-internal-current-tick.patch b/patches/api/0180-Expose-the-internal-current-tick.patch index 8966f3b1ca..401df320b5 100644 --- a/patches/api/0180-Expose-the-internal-current-tick.patch +++ b/patches/api/0180-Expose-the-internal-current-tick.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose the internal current tick diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index a5b792d94a2357f0536def00e80430d00a0b4fa7..e32094b8e7710158f75450c477c91110d83ba71b 100644 +index ef7445fc5c169e64a73dce4f71a2885fb976caf3..d39c6b5d3fef5fe9727868175cf266fd68c2efa4 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2308,6 +2308,10 @@ public final class Bukkit { +@@ -2336,6 +2336,10 @@ public final class Bukkit { public static com.destroystokyo.paper.profile.PlayerProfile createProfileExact(@Nullable UUID uuid, @Nullable String name) { return server.createProfileExact(uuid, name); } @@ -20,10 +20,10 @@ index a5b792d94a2357f0536def00e80430d00a0b4fa7..e32094b8e7710158f75450c477c91110 @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 38eb76e9f0dc8dd377bb82990eea0c598bdb1000..fc8a6468c61a84a1fe719505adb274d48e24e8f4 100644 +index 5edef1114f1c94e921656972141d62a9d6338105..e02bd7323e117e9977275b3a5d3e070ff891fdbd 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2011,5 +2011,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2033,5 +2033,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ @NotNull com.destroystokyo.paper.profile.PlayerProfile createProfileExact(@Nullable UUID uuid, @Nullable String name); diff --git a/patches/api/0186-Add-tick-times-API.patch b/patches/api/0186-Add-tick-times-API.patch index c6d8b2838a..491be377a9 100644 --- a/patches/api/0186-Add-tick-times-API.patch +++ b/patches/api/0186-Add-tick-times-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add tick times API diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index e32094b8e7710158f75450c477c91110d83ba71b..82940fa20f5f958e6473f318ee2c5da3647e0228 100644 +index d39c6b5d3fef5fe9727868175cf266fd68c2efa4..354fa01b30ec26f78f874a06e57a89f14ef13ef4 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -1980,6 +1980,25 @@ public final class Bukkit { +@@ -2008,6 +2008,25 @@ public final class Bukkit { public static double[] getTPS() { return server.getTPS(); } @@ -35,10 +35,10 @@ index e32094b8e7710158f75450c477c91110d83ba71b..82940fa20f5f958e6473f318ee2c5da3 /** diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index fc8a6468c61a84a1fe719505adb274d48e24e8f4..ffd1f47690083b40aa349ed0f92d6fc2fdc56609 100644 +index e02bd7323e117e9977275b3a5d3e070ff891fdbd..edceaefe5e46515300c819351aebe0fce576d599 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1673,6 +1673,21 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1695,6 +1695,21 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ @NotNull public double[] getTPS(); diff --git a/patches/api/0187-Expose-MinecraftServer-isRunning.patch b/patches/api/0187-Expose-MinecraftServer-isRunning.patch index fa313e183e..5e8b1257f3 100644 --- a/patches/api/0187-Expose-MinecraftServer-isRunning.patch +++ b/patches/api/0187-Expose-MinecraftServer-isRunning.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Expose MinecraftServer#isRunning This allows for plugins to detect if the server is actually turning off in onDisable rather than just plugins reloading. diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 82940fa20f5f958e6473f318ee2c5da3647e0228..39fdcada6aa98058491aa6b5e5b9943c8a57a59d 100644 +index 354fa01b30ec26f78f874a06e57a89f14ef13ef4..725de23dc102e3b63da5e49bb1eafca96e33fc4c 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2331,6 +2331,15 @@ public final class Bukkit { +@@ -2359,6 +2359,15 @@ public final class Bukkit { public static int getCurrentTick() { return server.getCurrentTick(); } @@ -26,10 +26,10 @@ index 82940fa20f5f958e6473f318ee2c5da3647e0228..39fdcada6aa98058491aa6b5e5b9943c @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index ffd1f47690083b40aa349ed0f92d6fc2fdc56609..65daa359f000cf1acc3067af62e3210ced378519 100644 +index edceaefe5e46515300c819351aebe0fce576d599..960fc19a04bc3475bd81301ec283c9bb32f62821 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2033,5 +2033,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2055,5 +2055,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * @return Current tick */ int getCurrentTick(); diff --git a/patches/api/0195-Add-Mob-Goal-API.patch b/patches/api/0195-Add-Mob-Goal-API.patch index a80c726ba2..a9605fb0bc 100644 --- a/patches/api/0195-Add-Mob-Goal-API.patch +++ b/patches/api/0195-Add-Mob-Goal-API.patch @@ -525,10 +525,10 @@ index 0000000000000000000000000000000000000000..c9837c7c47314b5bdf6c7973e6bc962d + @Deprecated(forRemoval = true) @ApiStatus.ScheduledForRemoval(inVersion = "1.21") GoalKey UNIVERSAL_ANGER_RESET = GoalKey.of(Mob.class, NamespacedKey.minecraft("universal_anger_reset")); +} diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index e1a9a0ec6036133aa8fb195d22611df221bf5661..ce409a88b1f7fc519b2d7795005752b4349e4176 100644 +index dfeaddc2d71f8569c349740c00c96868f9a56a12..4e5e29251b713885eee562091ea4f253f027bdbb 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2352,6 +2352,16 @@ public final class Bukkit { +@@ -2380,6 +2380,16 @@ public final class Bukkit { public static boolean isStopping() { return server.isStopping(); } @@ -546,10 +546,10 @@ index e1a9a0ec6036133aa8fb195d22611df221bf5661..ce409a88b1f7fc519b2d7795005752b4 @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 357f59f07387d3de75a0792e7e883cb82aafa2e2..d080d535275b28400471265315e0d70bf806cbb8 100644 +index ccec37c00f8ab318d41350907b40a64118e4fab1..9634d82d603426979cab978f9474cc041e1cb701 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2050,5 +2050,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2072,5 +2072,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * @return true if server is in the process of being shutdown */ boolean isStopping(); diff --git a/patches/api/0208-Add-BellRingEvent.patch b/patches/api/0207-Add-BellRingEvent.patch similarity index 100% rename from patches/api/0208-Add-BellRingEvent.patch rename to patches/api/0207-Add-BellRingEvent.patch diff --git a/patches/api/0207-Add-setMaxPlayers-API.patch b/patches/api/0207-Add-setMaxPlayers-API.patch deleted file mode 100644 index 5170c3b9a5..0000000000 --- a/patches/api/0207-Add-setMaxPlayers-API.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Mariell Hoversholm -Date: Sat, 22 Aug 2020 23:59:25 +0200 -Subject: [PATCH] Add #setMaxPlayers API - - -diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index ce409a88b1f7fc519b2d7795005752b4349e4176..bae2ef297ba585c916ea06c4316e9511696000da 100644 ---- a/src/main/java/org/bukkit/Bukkit.java -+++ b/src/main/java/org/bukkit/Bukkit.java -@@ -209,6 +209,17 @@ public final class Bukkit { - return server.getMaxPlayers(); - } - -+ // Paper start -+ /** -+ * Set the maximum amount of players which can login to this server. -+ * -+ * @param maxPlayers the amount of players this server allows -+ */ -+ public static void setMaxPlayers(int maxPlayers) { -+ server.setMaxPlayers(maxPlayers); -+ } -+ // Paper end -+ - /** - * Get the game port that the server runs on. - * -diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index d080d535275b28400471265315e0d70bf806cbb8..31e8a002f9b0641f16bc4cf330e6022b13942321 100644 ---- a/src/main/java/org/bukkit/Server.java -+++ b/src/main/java/org/bukkit/Server.java -@@ -161,6 +161,15 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi - */ - public int getMaxPlayers(); - -+ // Paper start -+ /** -+ * Set the maximum amount of players which can login to this server. -+ * -+ * @param maxPlayers the amount of players this server allows -+ */ -+ public void setMaxPlayers(int maxPlayers); -+ // Paper end -+ - /** - * Get the game port that the server runs on. - * diff --git a/patches/api/0209-Add-moon-phase-API.patch b/patches/api/0208-Add-moon-phase-API.patch similarity index 100% rename from patches/api/0209-Add-moon-phase-API.patch rename to patches/api/0208-Add-moon-phase-API.patch diff --git a/patches/api/0210-Add-playPickupItemAnimation-to-LivingEntity.patch b/patches/api/0209-Add-playPickupItemAnimation-to-LivingEntity.patch similarity index 100% rename from patches/api/0210-Add-playPickupItemAnimation-to-LivingEntity.patch rename to patches/api/0209-Add-playPickupItemAnimation-to-LivingEntity.patch diff --git a/patches/api/0211-Add-more-Evoker-API.patch b/patches/api/0210-Add-more-Evoker-API.patch similarity index 100% rename from patches/api/0211-Add-more-Evoker-API.patch rename to patches/api/0210-Add-more-Evoker-API.patch diff --git a/patches/api/0212-Add-methods-to-get-translation-keys.patch b/patches/api/0211-Add-methods-to-get-translation-keys.patch similarity index 100% rename from patches/api/0212-Add-methods-to-get-translation-keys.patch rename to patches/api/0211-Add-methods-to-get-translation-keys.patch diff --git a/patches/api/0213-Create-HoverEvent-from-ItemStack-Entity.patch b/patches/api/0212-Create-HoverEvent-from-ItemStack-Entity.patch similarity index 100% rename from patches/api/0213-Create-HoverEvent-from-ItemStack-Entity.patch rename to patches/api/0212-Create-HoverEvent-from-ItemStack-Entity.patch diff --git a/patches/api/0214-Add-additional-open-container-api-to-HumanEntity.patch b/patches/api/0213-Add-additional-open-container-api-to-HumanEntity.patch similarity index 100% rename from patches/api/0214-Add-additional-open-container-api-to-HumanEntity.patch rename to patches/api/0213-Add-additional-open-container-api-to-HumanEntity.patch diff --git a/patches/api/0215-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch b/patches/api/0214-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch similarity index 100% rename from patches/api/0215-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch rename to patches/api/0214-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch diff --git a/patches/api/0216-Entity-isTicking.patch b/patches/api/0215-Entity-isTicking.patch similarity index 100% rename from patches/api/0216-Entity-isTicking.patch rename to patches/api/0215-Entity-isTicking.patch diff --git a/patches/api/0217-Villager-resetOffers.patch b/patches/api/0216-Villager-resetOffers.patch similarity index 100% rename from patches/api/0217-Villager-resetOffers.patch rename to patches/api/0216-Villager-resetOffers.patch diff --git a/patches/api/0218-Player-elytra-boost-API.patch b/patches/api/0217-Player-elytra-boost-API.patch similarity index 100% rename from patches/api/0218-Player-elytra-boost-API.patch rename to patches/api/0217-Player-elytra-boost-API.patch diff --git a/patches/api/0219-Add-getOfflinePlayerIfCached-String.patch b/patches/api/0218-Add-getOfflinePlayerIfCached-String.patch similarity index 88% rename from patches/api/0219-Add-getOfflinePlayerIfCached-String.patch rename to patches/api/0218-Add-getOfflinePlayerIfCached-String.patch index 4812d992db..6d5e161e24 100644 --- a/patches/api/0219-Add-getOfflinePlayerIfCached-String.patch +++ b/patches/api/0218-Add-getOfflinePlayerIfCached-String.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add getOfflinePlayerIfCached(String) diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index bae2ef297ba585c916ea06c4316e9511696000da..0bc59cd1b27303dff7f13f79087b13097606ae65 100644 +index 4e5e29251b713885eee562091ea4f253f027bdbb..6d5423f6b6b1aa013a1f77d368058e4cdf2cbe84 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -1250,6 +1250,27 @@ public final class Bukkit { +@@ -1248,6 +1248,27 @@ public final class Bukkit { return server.getOfflinePlayer(name); } @@ -37,10 +37,10 @@ index bae2ef297ba585c916ea06c4316e9511696000da..0bc59cd1b27303dff7f13f79087b1309 * Gets the player by the given UUID, regardless if they are offline or * online. diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 31e8a002f9b0641f16bc4cf330e6022b13942321..247bd6d2101d280a00727cacdeb8f40a7d7c4dcb 100644 +index 9634d82d603426979cab978f9474cc041e1cb701..f8ef98c9d266e12a3a3f69647cf4d7a9bc633419 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1049,6 +1049,25 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1047,6 +1047,25 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @NotNull public OfflinePlayer getOfflinePlayer(@NotNull String name); diff --git a/patches/api/0220-Add-ignore-discounts-API.patch b/patches/api/0219-Add-ignore-discounts-API.patch similarity index 100% rename from patches/api/0220-Add-ignore-discounts-API.patch rename to patches/api/0219-Add-ignore-discounts-API.patch diff --git a/patches/api/0221-Item-no-age-no-player-pickup.patch b/patches/api/0220-Item-no-age-no-player-pickup.patch similarity index 100% rename from patches/api/0221-Item-no-age-no-player-pickup.patch rename to patches/api/0220-Item-no-age-no-player-pickup.patch diff --git a/patches/api/0222-Beacon-API-custom-effect-ranges.patch b/patches/api/0221-Beacon-API-custom-effect-ranges.patch similarity index 100% rename from patches/api/0222-Beacon-API-custom-effect-ranges.patch rename to patches/api/0221-Beacon-API-custom-effect-ranges.patch diff --git a/patches/api/0223-Add-API-for-quit-reason.patch b/patches/api/0222-Add-API-for-quit-reason.patch similarity index 100% rename from patches/api/0223-Add-API-for-quit-reason.patch rename to patches/api/0222-Add-API-for-quit-reason.patch diff --git a/patches/api/0224-Add-Destroy-Speed-API.patch b/patches/api/0223-Add-Destroy-Speed-API.patch similarity index 100% rename from patches/api/0224-Add-Destroy-Speed-API.patch rename to patches/api/0223-Add-Destroy-Speed-API.patch diff --git a/patches/api/0225-Add-LivingEntity-clearActiveItem.patch b/patches/api/0224-Add-LivingEntity-clearActiveItem.patch similarity index 100% rename from patches/api/0225-Add-LivingEntity-clearActiveItem.patch rename to patches/api/0224-Add-LivingEntity-clearActiveItem.patch diff --git a/patches/api/0226-Add-PlayerItemCooldownEvent.patch b/patches/api/0225-Add-PlayerItemCooldownEvent.patch similarity index 100% rename from patches/api/0226-Add-PlayerItemCooldownEvent.patch rename to patches/api/0225-Add-PlayerItemCooldownEvent.patch diff --git a/patches/api/0227-More-lightning-API.patch b/patches/api/0226-More-lightning-API.patch similarity index 100% rename from patches/api/0227-More-lightning-API.patch rename to patches/api/0226-More-lightning-API.patch diff --git a/patches/api/0228-Add-PlayerShearBlockEvent.patch b/patches/api/0227-Add-PlayerShearBlockEvent.patch similarity index 100% rename from patches/api/0228-Add-PlayerShearBlockEvent.patch rename to patches/api/0227-Add-PlayerShearBlockEvent.patch diff --git a/patches/api/0229-Player-Chunk-Load-Unload-Events.patch b/patches/api/0228-Player-Chunk-Load-Unload-Events.patch similarity index 100% rename from patches/api/0229-Player-Chunk-Load-Unload-Events.patch rename to patches/api/0228-Player-Chunk-Load-Unload-Events.patch diff --git a/patches/api/0230-Expose-LivingEntity-hurt-direction.patch b/patches/api/0229-Expose-LivingEntity-hurt-direction.patch similarity index 100% rename from patches/api/0230-Expose-LivingEntity-hurt-direction.patch rename to patches/api/0229-Expose-LivingEntity-hurt-direction.patch diff --git a/patches/api/0231-Add-OBSTRUCTED-reason-to-BedEnterResult.patch b/patches/api/0230-Add-OBSTRUCTED-reason-to-BedEnterResult.patch similarity index 100% rename from patches/api/0231-Add-OBSTRUCTED-reason-to-BedEnterResult.patch rename to patches/api/0230-Add-OBSTRUCTED-reason-to-BedEnterResult.patch diff --git a/patches/api/0232-Added-PlayerTradeEvent.patch b/patches/api/0231-Added-PlayerTradeEvent.patch similarity index 100% rename from patches/api/0232-Added-PlayerTradeEvent.patch rename to patches/api/0231-Added-PlayerTradeEvent.patch diff --git a/patches/api/0233-Add-TargetHitEvent-API.patch b/patches/api/0232-Add-TargetHitEvent-API.patch similarity index 100% rename from patches/api/0233-Add-TargetHitEvent-API.patch rename to patches/api/0232-Add-TargetHitEvent-API.patch diff --git a/patches/api/0234-Additional-Block-Material-API-s.patch b/patches/api/0233-Additional-Block-Material-API-s.patch similarity index 100% rename from patches/api/0234-Additional-Block-Material-API-s.patch rename to patches/api/0233-Additional-Block-Material-API-s.patch diff --git a/patches/api/0235-Add-API-to-get-Material-from-Boats-and-Minecarts.patch b/patches/api/0234-Add-API-to-get-Material-from-Boats-and-Minecarts.patch similarity index 100% rename from patches/api/0235-Add-API-to-get-Material-from-Boats-and-Minecarts.patch rename to patches/api/0234-Add-API-to-get-Material-from-Boats-and-Minecarts.patch diff --git a/patches/api/0236-Add-PlayerFlowerPotManipulateEvent.patch b/patches/api/0235-Add-PlayerFlowerPotManipulateEvent.patch similarity index 100% rename from patches/api/0236-Add-PlayerFlowerPotManipulateEvent.patch rename to patches/api/0235-Add-PlayerFlowerPotManipulateEvent.patch diff --git a/patches/api/0237-Zombie-API-breaking-doors.patch b/patches/api/0236-Zombie-API-breaking-doors.patch similarity index 100% rename from patches/api/0237-Zombie-API-breaking-doors.patch rename to patches/api/0236-Zombie-API-breaking-doors.patch diff --git a/patches/api/0238-Add-EntityLoadCrossbowEvent.patch b/patches/api/0237-Add-EntityLoadCrossbowEvent.patch similarity index 100% rename from patches/api/0238-Add-EntityLoadCrossbowEvent.patch rename to patches/api/0237-Add-EntityLoadCrossbowEvent.patch diff --git a/patches/api/0239-Added-WorldGameRuleChangeEvent.patch b/patches/api/0238-Added-WorldGameRuleChangeEvent.patch similarity index 100% rename from patches/api/0239-Added-WorldGameRuleChangeEvent.patch rename to patches/api/0238-Added-WorldGameRuleChangeEvent.patch diff --git a/patches/api/0240-Added-ServerResourcesReloadedEvent.patch b/patches/api/0239-Added-ServerResourcesReloadedEvent.patch similarity index 100% rename from patches/api/0240-Added-ServerResourcesReloadedEvent.patch rename to patches/api/0239-Added-ServerResourcesReloadedEvent.patch diff --git a/patches/api/0241-Add-BlockFailedDispenseEvent.patch b/patches/api/0240-Add-BlockFailedDispenseEvent.patch similarity index 100% rename from patches/api/0241-Add-BlockFailedDispenseEvent.patch rename to patches/api/0240-Add-BlockFailedDispenseEvent.patch diff --git a/patches/api/0242-Added-PlayerLecternPageChangeEvent.patch b/patches/api/0241-Added-PlayerLecternPageChangeEvent.patch similarity index 100% rename from patches/api/0242-Added-PlayerLecternPageChangeEvent.patch rename to patches/api/0241-Added-PlayerLecternPageChangeEvent.patch diff --git a/patches/api/0243-Added-PlayerLoomPatternSelectEvent.patch b/patches/api/0242-Added-PlayerLoomPatternSelectEvent.patch similarity index 100% rename from patches/api/0243-Added-PlayerLoomPatternSelectEvent.patch rename to patches/api/0242-Added-PlayerLoomPatternSelectEvent.patch diff --git a/patches/api/0244-Add-API-to-get-exact-interaction-point-in-PlayerInte.patch b/patches/api/0243-Add-API-to-get-exact-interaction-point-in-PlayerInte.patch similarity index 100% rename from patches/api/0244-Add-API-to-get-exact-interaction-point-in-PlayerInte.patch rename to patches/api/0243-Add-API-to-get-exact-interaction-point-in-PlayerInte.patch diff --git a/patches/api/0245-Add-sendOpLevel-API.patch b/patches/api/0244-Add-sendOpLevel-API.patch similarity index 100% rename from patches/api/0245-Add-sendOpLevel-API.patch rename to patches/api/0244-Add-sendOpLevel-API.patch diff --git a/patches/api/0246-Add-PaperRegistry.patch b/patches/api/0245-Add-PaperRegistry.patch similarity index 100% rename from patches/api/0246-Add-PaperRegistry.patch rename to patches/api/0245-Add-PaperRegistry.patch diff --git a/patches/api/0247-Add-StructuresLocateEvent.patch b/patches/api/0246-Add-StructuresLocateEvent.patch similarity index 100% rename from patches/api/0247-Add-StructuresLocateEvent.patch rename to patches/api/0246-Add-StructuresLocateEvent.patch diff --git a/patches/api/0248-Add-BlockPreDispenseEvent.patch b/patches/api/0247-Add-BlockPreDispenseEvent.patch similarity index 100% rename from patches/api/0248-Add-BlockPreDispenseEvent.patch rename to patches/api/0247-Add-BlockPreDispenseEvent.patch diff --git a/patches/api/0249-Added-missing-vanilla-tags.patch b/patches/api/0248-Added-missing-vanilla-tags.patch similarity index 100% rename from patches/api/0249-Added-missing-vanilla-tags.patch rename to patches/api/0248-Added-missing-vanilla-tags.patch diff --git a/patches/api/0250-Added-PlayerChangeBeaconEffectEvent.patch b/patches/api/0249-Added-PlayerChangeBeaconEffectEvent.patch similarity index 100% rename from patches/api/0250-Added-PlayerChangeBeaconEffectEvent.patch rename to patches/api/0249-Added-PlayerChangeBeaconEffectEvent.patch diff --git a/patches/api/0251-Added-PlayerStonecutterRecipeSelectEvent.patch b/patches/api/0250-Added-PlayerStonecutterRecipeSelectEvent.patch similarity index 100% rename from patches/api/0251-Added-PlayerStonecutterRecipeSelectEvent.patch rename to patches/api/0250-Added-PlayerStonecutterRecipeSelectEvent.patch diff --git a/patches/api/0252-Add-dropLeash-variable-to-EntityUnleashEvent.patch b/patches/api/0251-Add-dropLeash-variable-to-EntityUnleashEvent.patch similarity index 100% rename from patches/api/0252-Add-dropLeash-variable-to-EntityUnleashEvent.patch rename to patches/api/0251-Add-dropLeash-variable-to-EntityUnleashEvent.patch diff --git a/patches/api/0253-add-DragonEggFormEvent.patch b/patches/api/0252-add-DragonEggFormEvent.patch similarity index 100% rename from patches/api/0253-add-DragonEggFormEvent.patch rename to patches/api/0252-add-DragonEggFormEvent.patch diff --git a/patches/api/0254-EntityMoveEvent.patch b/patches/api/0253-EntityMoveEvent.patch similarity index 100% rename from patches/api/0254-EntityMoveEvent.patch rename to patches/api/0253-EntityMoveEvent.patch diff --git a/patches/api/0255-Allow-adding-items-to-BlockDropItemEvent.patch b/patches/api/0254-Allow-adding-items-to-BlockDropItemEvent.patch similarity index 100% rename from patches/api/0255-Allow-adding-items-to-BlockDropItemEvent.patch rename to patches/api/0254-Allow-adding-items-to-BlockDropItemEvent.patch diff --git a/patches/api/0256-Add-getMainThreadExecutor-to-BukkitScheduler.patch b/patches/api/0255-Add-getMainThreadExecutor-to-BukkitScheduler.patch similarity index 100% rename from patches/api/0256-Add-getMainThreadExecutor-to-BukkitScheduler.patch rename to patches/api/0255-Add-getMainThreadExecutor-to-BukkitScheduler.patch diff --git a/patches/api/0257-living-entity-allow-attribute-registration.patch b/patches/api/0256-living-entity-allow-attribute-registration.patch similarity index 100% rename from patches/api/0257-living-entity-allow-attribute-registration.patch rename to patches/api/0256-living-entity-allow-attribute-registration.patch diff --git a/patches/api/0258-Add-missing-effects.patch b/patches/api/0257-Add-missing-effects.patch similarity index 100% rename from patches/api/0258-Add-missing-effects.patch rename to patches/api/0257-Add-missing-effects.patch diff --git a/patches/api/0259-Expose-Tracked-Players.patch b/patches/api/0258-Expose-Tracked-Players.patch similarity index 100% rename from patches/api/0259-Expose-Tracked-Players.patch rename to patches/api/0258-Expose-Tracked-Players.patch diff --git a/patches/api/0260-Cache-the-result-of-Material-isBlock.patch b/patches/api/0259-Cache-the-result-of-Material-isBlock.patch similarity index 100% rename from patches/api/0260-Cache-the-result-of-Material-isBlock.patch rename to patches/api/0259-Cache-the-result-of-Material-isBlock.patch diff --git a/patches/api/0261-Add-worldborder-events.patch b/patches/api/0260-Add-worldborder-events.patch similarity index 100% rename from patches/api/0261-Add-worldborder-events.patch rename to patches/api/0260-Add-worldborder-events.patch diff --git a/patches/api/0262-added-PlayerNameEntityEvent.patch b/patches/api/0261-added-PlayerNameEntityEvent.patch similarity index 100% rename from patches/api/0262-added-PlayerNameEntityEvent.patch rename to patches/api/0261-added-PlayerNameEntityEvent.patch diff --git a/patches/api/0263-Add-recipe-to-cook-events.patch b/patches/api/0262-Add-recipe-to-cook-events.patch similarity index 100% rename from patches/api/0263-Add-recipe-to-cook-events.patch rename to patches/api/0262-Add-recipe-to-cook-events.patch diff --git a/patches/api/0264-Add-Block-isValidTool.patch b/patches/api/0263-Add-Block-isValidTool.patch similarity index 100% rename from patches/api/0264-Add-Block-isValidTool.patch rename to patches/api/0263-Add-Block-isValidTool.patch diff --git a/patches/api/0265-Expand-world-key-API.patch b/patches/api/0264-Expand-world-key-API.patch similarity index 95% rename from patches/api/0265-Expand-world-key-API.patch rename to patches/api/0264-Expand-world-key-API.patch index bfe79e8921..1908ecc58e 100644 --- a/patches/api/0265-Expand-world-key-API.patch +++ b/patches/api/0264-Expand-world-key-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expand world key API diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 0bc59cd1b27303dff7f13f79087b13097606ae65..cda896b2278dfb71f1fac8665397a01abcc0d096 100644 +index 6d5423f6b6b1aa013a1f77d368058e4cdf2cbe84..be32ddb8ad5d6290b76cb520d159d456ed16f1b1 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -832,6 +832,18 @@ public final class Bukkit { +@@ -830,6 +830,18 @@ public final class Bukkit { public static World getWorld(@NotNull UUID uid) { return server.getWorld(uid); } @@ -56,10 +56,10 @@ index 501dd5a26c27294420821b3d75f8938596afb1a8..71ef9b479888aa83455757560b607455 // Paper end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 247bd6d2101d280a00727cacdeb8f40a7d7c4dcb..1044ffa10c12b645e2e82431ba809641048e757f 100644 +index f8ef98c9d266e12a3a3f69647cf4d7a9bc633419..d1d035ee86264b38b6bb50135d031946daf25a00 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -696,6 +696,17 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -694,6 +694,17 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @Nullable public World getWorld(@NotNull UUID uid); diff --git a/patches/api/0266-Item-Rarity-API.patch b/patches/api/0265-Item-Rarity-API.patch similarity index 100% rename from patches/api/0266-Item-Rarity-API.patch rename to patches/api/0265-Item-Rarity-API.patch diff --git a/patches/api/0267-Expose-protocol-version.patch b/patches/api/0266-Expose-protocol-version.patch similarity index 100% rename from patches/api/0267-Expose-protocol-version.patch rename to patches/api/0266-Expose-protocol-version.patch diff --git a/patches/api/0268-add-isDeeplySleeping-to-HumanEntity.patch b/patches/api/0267-add-isDeeplySleeping-to-HumanEntity.patch similarity index 100% rename from patches/api/0268-add-isDeeplySleeping-to-HumanEntity.patch rename to patches/api/0267-add-isDeeplySleeping-to-HumanEntity.patch diff --git a/patches/api/0269-add-consumeFuel-to-FurnaceBurnEvent.patch b/patches/api/0268-add-consumeFuel-to-FurnaceBurnEvent.patch similarity index 100% rename from patches/api/0269-add-consumeFuel-to-FurnaceBurnEvent.patch rename to patches/api/0268-add-consumeFuel-to-FurnaceBurnEvent.patch diff --git a/patches/api/0270-add-get-set-drop-chance-to-EntityEquipment.patch b/patches/api/0269-add-get-set-drop-chance-to-EntityEquipment.patch similarity index 100% rename from patches/api/0270-add-get-set-drop-chance-to-EntityEquipment.patch rename to patches/api/0269-add-get-set-drop-chance-to-EntityEquipment.patch diff --git a/patches/api/0271-Added-PlayerDeepSleepEvent.patch b/patches/api/0270-Added-PlayerDeepSleepEvent.patch similarity index 100% rename from patches/api/0271-Added-PlayerDeepSleepEvent.patch rename to patches/api/0270-Added-PlayerDeepSleepEvent.patch diff --git a/patches/api/0272-More-World-API.patch b/patches/api/0271-More-World-API.patch similarity index 100% rename from patches/api/0272-More-World-API.patch rename to patches/api/0271-More-World-API.patch diff --git a/patches/api/0273-Added-PlayerBedFailEnterEvent.patch b/patches/api/0272-Added-PlayerBedFailEnterEvent.patch similarity index 100% rename from patches/api/0273-Added-PlayerBedFailEnterEvent.patch rename to patches/api/0272-Added-PlayerBedFailEnterEvent.patch diff --git a/patches/api/0274-Introduce-beacon-activation-deactivation-events.patch b/patches/api/0273-Introduce-beacon-activation-deactivation-events.patch similarity index 100% rename from patches/api/0274-Introduce-beacon-activation-deactivation-events.patch rename to patches/api/0273-Introduce-beacon-activation-deactivation-events.patch diff --git a/patches/api/0275-PlayerMoveEvent-Improvements.patch b/patches/api/0274-PlayerMoveEvent-Improvements.patch similarity index 100% rename from patches/api/0275-PlayerMoveEvent-Improvements.patch rename to patches/api/0274-PlayerMoveEvent-Improvements.patch diff --git a/patches/api/0276-add-RespawnFlags-to-PlayerRespawnEvent.patch b/patches/api/0275-add-RespawnFlags-to-PlayerRespawnEvent.patch similarity index 100% rename from patches/api/0276-add-RespawnFlags-to-PlayerRespawnEvent.patch rename to patches/api/0275-add-RespawnFlags-to-PlayerRespawnEvent.patch diff --git a/patches/api/0277-Add-more-WanderingTrader-API.patch b/patches/api/0276-Add-more-WanderingTrader-API.patch similarity index 100% rename from patches/api/0277-Add-more-WanderingTrader-API.patch rename to patches/api/0276-Add-more-WanderingTrader-API.patch diff --git a/patches/api/0278-Add-EntityBlockStorage-clearEntities.patch b/patches/api/0277-Add-EntityBlockStorage-clearEntities.patch similarity index 100% rename from patches/api/0278-Add-EntityBlockStorage-clearEntities.patch rename to patches/api/0277-Add-EntityBlockStorage-clearEntities.patch diff --git a/patches/api/0279-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch b/patches/api/0278-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch similarity index 100% rename from patches/api/0279-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch rename to patches/api/0278-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch diff --git a/patches/api/0280-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch b/patches/api/0279-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch similarity index 100% rename from patches/api/0280-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch rename to patches/api/0279-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch diff --git a/patches/api/0281-Inventory-close.patch b/patches/api/0280-Inventory-close.patch similarity index 100% rename from patches/api/0281-Inventory-close.patch rename to patches/api/0280-Inventory-close.patch diff --git a/patches/api/0282-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch b/patches/api/0281-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch similarity index 100% rename from patches/api/0282-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch rename to patches/api/0281-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch diff --git a/patches/api/0283-Add-basic-Datapack-API.patch b/patches/api/0282-Add-basic-Datapack-API.patch similarity index 91% rename from patches/api/0283-Add-basic-Datapack-API.patch rename to patches/api/0282-Add-basic-Datapack-API.patch index 98cb3fedc1..0582d74ff9 100644 --- a/patches/api/0283-Add-basic-Datapack-API.patch +++ b/patches/api/0282-Add-basic-Datapack-API.patch @@ -70,10 +70,10 @@ index 0000000000000000000000000000000000000000..58f78d5e91beacaf710f62461cf869f7 + +} diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index cda896b2278dfb71f1fac8665397a01abcc0d096..ce47379dec112f204062092e2e056a2e219c7405 100644 +index be32ddb8ad5d6290b76cb520d159d456ed16f1b1..a6fef51a8435eced8c2981588ae98046c42d8ed4 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -318,9 +318,11 @@ public final class Bukkit { +@@ -316,9 +316,11 @@ public final class Bukkit { /** * Get the DataPack Manager. * @@ -85,7 +85,7 @@ index cda896b2278dfb71f1fac8665397a01abcc0d096..ce47379dec112f204062092e2e056a2e public static DataPackManager getDataPackManager() { return server.getDataPackManager(); } -@@ -2406,6 +2408,14 @@ public final class Bukkit { +@@ -2423,6 +2425,14 @@ public final class Bukkit { public static com.destroystokyo.paper.entity.ai.MobGoals getMobGoals() { return server.getMobGoals(); } @@ -101,10 +101,10 @@ index cda896b2278dfb71f1fac8665397a01abcc0d096..ce47379dec112f204062092e2e056a2e @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 1044ffa10c12b645e2e82431ba809641048e757f..7f289d358480806b6af3a02b88a0f632a5b5681c 100644 +index d1d035ee86264b38b6bb50135d031946daf25a00..529054834865813520ebe6784894e759c22ec4f4 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -256,9 +256,11 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -254,9 +254,11 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi /** * Get the DataPack Manager. * @@ -116,7 +116,7 @@ index 1044ffa10c12b645e2e82431ba809641048e757f..7f289d358480806b6af3a02b88a0f632 public DataPackManager getDataPackManager(); /** -@@ -2097,5 +2099,11 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2110,5 +2112,11 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ @NotNull com.destroystokyo.paper.entity.ai.MobGoals getMobGoals(); diff --git a/patches/api/0284-additions-to-PlayerGameModeChangeEvent.patch b/patches/api/0283-additions-to-PlayerGameModeChangeEvent.patch similarity index 100% rename from patches/api/0284-additions-to-PlayerGameModeChangeEvent.patch rename to patches/api/0283-additions-to-PlayerGameModeChangeEvent.patch diff --git a/patches/api/0285-ItemStack-repair-check-API.patch b/patches/api/0284-ItemStack-repair-check-API.patch similarity index 100% rename from patches/api/0285-ItemStack-repair-check-API.patch rename to patches/api/0284-ItemStack-repair-check-API.patch diff --git a/patches/api/0286-More-Enchantment-API.patch b/patches/api/0285-More-Enchantment-API.patch similarity index 100% rename from patches/api/0286-More-Enchantment-API.patch rename to patches/api/0285-More-Enchantment-API.patch diff --git a/patches/api/0287-Add-Mob-lookAt-API.patch b/patches/api/0286-Add-Mob-lookAt-API.patch similarity index 100% rename from patches/api/0287-Add-Mob-lookAt-API.patch rename to patches/api/0286-Add-Mob-lookAt-API.patch diff --git a/patches/api/0288-ItemStack-editMeta.patch b/patches/api/0287-ItemStack-editMeta.patch similarity index 100% rename from patches/api/0288-ItemStack-editMeta.patch rename to patches/api/0287-ItemStack-editMeta.patch diff --git a/patches/api/0289-Add-EntityInsideBlockEvent.patch b/patches/api/0288-Add-EntityInsideBlockEvent.patch similarity index 100% rename from patches/api/0289-Add-EntityInsideBlockEvent.patch rename to patches/api/0288-Add-EntityInsideBlockEvent.patch diff --git a/patches/api/0290-Attributes-API-for-item-defaults.patch b/patches/api/0289-Attributes-API-for-item-defaults.patch similarity index 100% rename from patches/api/0290-Attributes-API-for-item-defaults.patch rename to patches/api/0289-Attributes-API-for-item-defaults.patch diff --git a/patches/api/0291-Add-cause-to-Weather-ThunderChangeEvents.patch b/patches/api/0290-Add-cause-to-Weather-ThunderChangeEvents.patch similarity index 100% rename from patches/api/0291-Add-cause-to-Weather-ThunderChangeEvents.patch rename to patches/api/0290-Add-cause-to-Weather-ThunderChangeEvents.patch diff --git a/patches/api/0292-More-Lidded-Block-API.patch b/patches/api/0291-More-Lidded-Block-API.patch similarity index 100% rename from patches/api/0292-More-Lidded-Block-API.patch rename to patches/api/0291-More-Lidded-Block-API.patch diff --git a/patches/api/0293-Add-PlayerKickEvent-causes.patch b/patches/api/0292-Add-PlayerKickEvent-causes.patch similarity index 100% rename from patches/api/0293-Add-PlayerKickEvent-causes.patch rename to patches/api/0292-Add-PlayerKickEvent-causes.patch diff --git a/patches/api/0294-Add-PufferFishStateChangeEvent.patch b/patches/api/0293-Add-PufferFishStateChangeEvent.patch similarity index 100% rename from patches/api/0294-Add-PufferFishStateChangeEvent.patch rename to patches/api/0293-Add-PufferFishStateChangeEvent.patch diff --git a/patches/api/0295-Add-BellRevealRaiderEvent.patch b/patches/api/0294-Add-BellRevealRaiderEvent.patch similarity index 100% rename from patches/api/0295-Add-BellRevealRaiderEvent.patch rename to patches/api/0294-Add-BellRevealRaiderEvent.patch diff --git a/patches/api/0296-Add-ElderGuardianAppearanceEvent.patch b/patches/api/0295-Add-ElderGuardianAppearanceEvent.patch similarity index 100% rename from patches/api/0296-Add-ElderGuardianAppearanceEvent.patch rename to patches/api/0295-Add-ElderGuardianAppearanceEvent.patch diff --git a/patches/api/0297-Add-more-line-of-sight-methods.patch b/patches/api/0296-Add-more-line-of-sight-methods.patch similarity index 100% rename from patches/api/0297-Add-more-line-of-sight-methods.patch rename to patches/api/0296-Add-more-line-of-sight-methods.patch diff --git a/patches/api/0298-Add-WaterBottleSplashEvent.patch b/patches/api/0297-Add-WaterBottleSplashEvent.patch similarity index 100% rename from patches/api/0298-Add-WaterBottleSplashEvent.patch rename to patches/api/0297-Add-WaterBottleSplashEvent.patch diff --git a/patches/api/0299-Add-more-LimitedRegion-API.patch b/patches/api/0298-Add-more-LimitedRegion-API.patch similarity index 100% rename from patches/api/0299-Add-more-LimitedRegion-API.patch rename to patches/api/0298-Add-more-LimitedRegion-API.patch diff --git a/patches/api/0300-Missing-Entity-Behavior-API.patch b/patches/api/0299-Missing-Entity-Behavior-API.patch similarity index 100% rename from patches/api/0300-Missing-Entity-Behavior-API.patch rename to patches/api/0299-Missing-Entity-Behavior-API.patch diff --git a/patches/api/0301-Adds-PlayerArmSwingEvent.patch b/patches/api/0300-Adds-PlayerArmSwingEvent.patch similarity index 100% rename from patches/api/0301-Adds-PlayerArmSwingEvent.patch rename to patches/api/0300-Adds-PlayerArmSwingEvent.patch diff --git a/patches/api/0302-Add-PlayerSignCommandPreprocessEvent.patch b/patches/api/0301-Add-PlayerSignCommandPreprocessEvent.patch similarity index 100% rename from patches/api/0302-Add-PlayerSignCommandPreprocessEvent.patch rename to patches/api/0301-Add-PlayerSignCommandPreprocessEvent.patch diff --git a/patches/api/0303-fix-empty-array-elements-in-command-arguments.patch b/patches/api/0302-fix-empty-array-elements-in-command-arguments.patch similarity index 100% rename from patches/api/0303-fix-empty-array-elements-in-command-arguments.patch rename to patches/api/0302-fix-empty-array-elements-in-command-arguments.patch diff --git a/patches/api/0304-Stinger-API.patch b/patches/api/0303-Stinger-API.patch similarity index 100% rename from patches/api/0304-Stinger-API.patch rename to patches/api/0303-Stinger-API.patch diff --git a/patches/api/0305-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch b/patches/api/0304-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch similarity index 100% rename from patches/api/0305-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch rename to patches/api/0304-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch diff --git a/patches/api/0306-Add-PlayerSetSpawnEvent.patch b/patches/api/0305-Add-PlayerSetSpawnEvent.patch similarity index 100% rename from patches/api/0306-Add-PlayerSetSpawnEvent.patch rename to patches/api/0305-Add-PlayerSetSpawnEvent.patch diff --git a/patches/api/0307-Added-EntityDamageItemEvent.patch b/patches/api/0306-Added-EntityDamageItemEvent.patch similarity index 100% rename from patches/api/0307-Added-EntityDamageItemEvent.patch rename to patches/api/0306-Added-EntityDamageItemEvent.patch diff --git a/patches/api/0308-Make-EntityUnleashEvent-cancellable.patch b/patches/api/0307-Make-EntityUnleashEvent-cancellable.patch similarity index 100% rename from patches/api/0308-Make-EntityUnleashEvent-cancellable.patch rename to patches/api/0307-Make-EntityUnleashEvent-cancellable.patch diff --git a/patches/api/0309-Change-EnderEye-target-without-changing-other-things.patch b/patches/api/0308-Change-EnderEye-target-without-changing-other-things.patch similarity index 100% rename from patches/api/0309-Change-EnderEye-target-without-changing-other-things.patch rename to patches/api/0308-Change-EnderEye-target-without-changing-other-things.patch diff --git a/patches/api/0310-Add-BlockBreakBlockEvent.patch b/patches/api/0309-Add-BlockBreakBlockEvent.patch similarity index 100% rename from patches/api/0310-Add-BlockBreakBlockEvent.patch rename to patches/api/0309-Add-BlockBreakBlockEvent.patch diff --git a/patches/api/0311-Add-helpers-for-left-right-click-to-Action.patch b/patches/api/0310-Add-helpers-for-left-right-click-to-Action.patch similarity index 100% rename from patches/api/0311-Add-helpers-for-left-right-click-to-Action.patch rename to patches/api/0310-Add-helpers-for-left-right-click-to-Action.patch diff --git a/patches/api/0312-Option-to-prevent-NBT-copy-in-smithing-recipes.patch b/patches/api/0311-Option-to-prevent-NBT-copy-in-smithing-recipes.patch similarity index 100% rename from patches/api/0312-Option-to-prevent-NBT-copy-in-smithing-recipes.patch rename to patches/api/0311-Option-to-prevent-NBT-copy-in-smithing-recipes.patch diff --git a/patches/api/0313-More-CommandBlock-API.patch b/patches/api/0312-More-CommandBlock-API.patch similarity index 100% rename from patches/api/0313-More-CommandBlock-API.patch rename to patches/api/0312-More-CommandBlock-API.patch diff --git a/patches/api/0314-Add-missing-team-sidebar-display-slots.patch b/patches/api/0313-Add-missing-team-sidebar-display-slots.patch similarity index 100% rename from patches/api/0314-Add-missing-team-sidebar-display-slots.patch rename to patches/api/0313-Add-missing-team-sidebar-display-slots.patch diff --git a/patches/api/0315-add-back-EntityPortalExitEvent.patch b/patches/api/0314-add-back-EntityPortalExitEvent.patch similarity index 100% rename from patches/api/0315-add-back-EntityPortalExitEvent.patch rename to patches/api/0314-add-back-EntityPortalExitEvent.patch diff --git a/patches/api/0316-Add-methods-to-find-targets-for-lightning-strikes.patch b/patches/api/0315-Add-methods-to-find-targets-for-lightning-strikes.patch similarity index 100% rename from patches/api/0316-Add-methods-to-find-targets-for-lightning-strikes.patch rename to patches/api/0315-Add-methods-to-find-targets-for-lightning-strikes.patch diff --git a/patches/api/0317-Get-entity-default-attributes.patch b/patches/api/0316-Get-entity-default-attributes.patch similarity index 100% rename from patches/api/0317-Get-entity-default-attributes.patch rename to patches/api/0316-Get-entity-default-attributes.patch diff --git a/patches/api/0318-Left-handed-API.patch b/patches/api/0317-Left-handed-API.patch similarity index 100% rename from patches/api/0318-Left-handed-API.patch rename to patches/api/0317-Left-handed-API.patch diff --git a/patches/api/0319-Add-more-advancement-API.patch b/patches/api/0318-Add-more-advancement-API.patch similarity index 100% rename from patches/api/0319-Add-more-advancement-API.patch rename to patches/api/0318-Add-more-advancement-API.patch diff --git a/patches/api/0320-Add-ItemFactory-getSpawnEgg-API.patch b/patches/api/0319-Add-ItemFactory-getSpawnEgg-API.patch similarity index 100% rename from patches/api/0320-Add-ItemFactory-getSpawnEgg-API.patch rename to patches/api/0319-Add-ItemFactory-getSpawnEgg-API.patch diff --git a/patches/api/0321-Add-critical-damage-API.patch b/patches/api/0320-Add-critical-damage-API.patch similarity index 100% rename from patches/api/0321-Add-critical-damage-API.patch rename to patches/api/0320-Add-critical-damage-API.patch diff --git a/patches/api/0322-Fix-issues-with-mob-conversion.patch b/patches/api/0321-Fix-issues-with-mob-conversion.patch similarity index 100% rename from patches/api/0322-Fix-issues-with-mob-conversion.patch rename to patches/api/0321-Fix-issues-with-mob-conversion.patch diff --git a/patches/api/0323-Add-isCollidable-methods-to-various-places.patch b/patches/api/0322-Add-isCollidable-methods-to-various-places.patch similarity index 100% rename from patches/api/0323-Add-isCollidable-methods-to-various-places.patch rename to patches/api/0322-Add-isCollidable-methods-to-various-places.patch diff --git a/patches/api/0324-Goat-ram-API.patch b/patches/api/0323-Goat-ram-API.patch similarity index 100% rename from patches/api/0324-Goat-ram-API.patch rename to patches/api/0323-Goat-ram-API.patch diff --git a/patches/api/0325-Add-API-for-resetting-a-single-score.patch b/patches/api/0324-Add-API-for-resetting-a-single-score.patch similarity index 100% rename from patches/api/0325-Add-API-for-resetting-a-single-score.patch rename to patches/api/0324-Add-API-for-resetting-a-single-score.patch diff --git a/patches/api/0326-Add-Raw-Byte-Entity-Serialization.patch b/patches/api/0325-Add-Raw-Byte-Entity-Serialization.patch similarity index 100% rename from patches/api/0326-Add-Raw-Byte-Entity-Serialization.patch rename to patches/api/0325-Add-Raw-Byte-Entity-Serialization.patch diff --git a/patches/api/0327-Add-PlayerItemFrameChangeEvent.patch b/patches/api/0326-Add-PlayerItemFrameChangeEvent.patch similarity index 100% rename from patches/api/0327-Add-PlayerItemFrameChangeEvent.patch rename to patches/api/0326-Add-PlayerItemFrameChangeEvent.patch diff --git a/patches/api/0328-Add-player-health-update-API.patch b/patches/api/0327-Add-player-health-update-API.patch similarity index 100% rename from patches/api/0328-Add-player-health-update-API.patch rename to patches/api/0327-Add-player-health-update-API.patch diff --git a/patches/api/0329-Allow-delegation-to-vanilla-chunk-gen.patch b/patches/api/0328-Allow-delegation-to-vanilla-chunk-gen.patch similarity index 92% rename from patches/api/0329-Allow-delegation-to-vanilla-chunk-gen.patch rename to patches/api/0328-Allow-delegation-to-vanilla-chunk-gen.patch index 23ce352ffc..f31c8284f6 100644 --- a/patches/api/0329-Allow-delegation-to-vanilla-chunk-gen.patch +++ b/patches/api/0328-Allow-delegation-to-vanilla-chunk-gen.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Allow delegation to vanilla chunk gen diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index ce47379dec112f204062092e2e056a2e219c7405..d4b522ee3d44ec755046cc406708086b5f5cf625 100644 +index a6fef51a8435eced8c2981588ae98046c42d8ed4..e75da4494582594dfa8f21e6abd36fb345558127 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -1926,6 +1926,24 @@ public final class Bukkit { +@@ -1943,6 +1943,24 @@ public final class Bukkit { return server.createChunkData(world); } @@ -34,10 +34,10 @@ index ce47379dec112f204062092e2e056a2e219c7405..d4b522ee3d44ec755046cc406708086b * Creates a boss bar instance to display to players. The progress * defaults to 1.0 diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 7f289d358480806b6af3a02b88a0f632a5b5681c..feb2c76bd20c1146d22ec1988943e5b94a982de9 100644 +index 529054834865813520ebe6784894e759c22ec4f4..b6e8dd95cc58f53e3e6ca64dd796ed6633630cf4 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1625,6 +1625,22 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1638,6 +1638,22 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @NotNull public ChunkGenerator.ChunkData createChunkData(@NotNull World world); diff --git a/patches/api/0330-Add-more-Campfire-API.patch b/patches/api/0329-Add-more-Campfire-API.patch similarity index 100% rename from patches/api/0330-Add-more-Campfire-API.patch rename to patches/api/0329-Add-more-Campfire-API.patch diff --git a/patches/api/0331-Move-VehicleCollisionEvent-HandlerList-up.patch b/patches/api/0330-Move-VehicleCollisionEvent-HandlerList-up.patch similarity index 100% rename from patches/api/0331-Move-VehicleCollisionEvent-HandlerList-up.patch rename to patches/api/0330-Move-VehicleCollisionEvent-HandlerList-up.patch diff --git a/patches/api/0332-Improve-scoreboard-entries.patch b/patches/api/0331-Improve-scoreboard-entries.patch similarity index 100% rename from patches/api/0332-Improve-scoreboard-entries.patch rename to patches/api/0331-Improve-scoreboard-entries.patch diff --git a/patches/api/0333-Entity-powdered-snow-API.patch b/patches/api/0332-Entity-powdered-snow-API.patch similarity index 100% rename from patches/api/0333-Entity-powdered-snow-API.patch rename to patches/api/0332-Entity-powdered-snow-API.patch diff --git a/patches/api/0334-Add-API-for-item-entity-health.patch b/patches/api/0333-Add-API-for-item-entity-health.patch similarity index 100% rename from patches/api/0334-Add-API-for-item-entity-health.patch rename to patches/api/0333-Add-API-for-item-entity-health.patch diff --git a/patches/api/0335-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch b/patches/api/0334-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch similarity index 100% rename from patches/api/0335-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch rename to patches/api/0334-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch diff --git a/patches/api/0336-Bucketable-API.patch b/patches/api/0335-Bucketable-API.patch similarity index 100% rename from patches/api/0336-Bucketable-API.patch rename to patches/api/0335-Bucketable-API.patch diff --git a/patches/api/0337-System-prop-for-default-config-comment-parsing.patch b/patches/api/0336-System-prop-for-default-config-comment-parsing.patch similarity index 100% rename from patches/api/0337-System-prop-for-default-config-comment-parsing.patch rename to patches/api/0336-System-prop-for-default-config-comment-parsing.patch diff --git a/patches/api/0338-Expose-vanilla-BiomeProvider-from-WorldInfo.patch b/patches/api/0337-Expose-vanilla-BiomeProvider-from-WorldInfo.patch similarity index 100% rename from patches/api/0338-Expose-vanilla-BiomeProvider-from-WorldInfo.patch rename to patches/api/0337-Expose-vanilla-BiomeProvider-from-WorldInfo.patch diff --git a/patches/api/0339-Add-new-overload-to-PersistentDataContainer-has.patch b/patches/api/0338-Add-new-overload-to-PersistentDataContainer-has.patch similarity index 100% rename from patches/api/0339-Add-new-overload-to-PersistentDataContainer-has.patch rename to patches/api/0338-Add-new-overload-to-PersistentDataContainer-has.patch diff --git a/patches/api/0340-Multiple-Entries-with-Scoreboards.patch b/patches/api/0339-Multiple-Entries-with-Scoreboards.patch similarity index 100% rename from patches/api/0340-Multiple-Entries-with-Scoreboards.patch rename to patches/api/0339-Multiple-Entries-with-Scoreboards.patch diff --git a/patches/api/0341-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch b/patches/api/0340-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch similarity index 100% rename from patches/api/0341-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch rename to patches/api/0340-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch diff --git a/patches/api/0342-Warn-on-strange-EventHandler-return-types.patch b/patches/api/0341-Warn-on-strange-EventHandler-return-types.patch similarity index 100% rename from patches/api/0342-Warn-on-strange-EventHandler-return-types.patch rename to patches/api/0341-Warn-on-strange-EventHandler-return-types.patch diff --git a/patches/api/0343-Multi-Block-Change-API.patch b/patches/api/0342-Multi-Block-Change-API.patch similarity index 100% rename from patches/api/0343-Multi-Block-Change-API.patch rename to patches/api/0342-Multi-Block-Change-API.patch diff --git a/patches/api/0344-Fix-NotePlayEvent.patch b/patches/api/0343-Fix-NotePlayEvent.patch similarity index 100% rename from patches/api/0344-Fix-NotePlayEvent.patch rename to patches/api/0343-Fix-NotePlayEvent.patch diff --git a/patches/api/0345-Freeze-Tick-Lock-API.patch b/patches/api/0344-Freeze-Tick-Lock-API.patch similarity index 100% rename from patches/api/0345-Freeze-Tick-Lock-API.patch rename to patches/api/0344-Freeze-Tick-Lock-API.patch diff --git a/patches/api/0346-Dolphin-API.patch b/patches/api/0345-Dolphin-API.patch similarity index 100% rename from patches/api/0346-Dolphin-API.patch rename to patches/api/0345-Dolphin-API.patch diff --git a/patches/api/0347-More-PotionEffectType-API.patch b/patches/api/0346-More-PotionEffectType-API.patch similarity index 100% rename from patches/api/0347-More-PotionEffectType-API.patch rename to patches/api/0346-More-PotionEffectType-API.patch diff --git a/patches/api/0348-API-for-creating-command-sender-which-forwards-feedb.patch b/patches/api/0347-API-for-creating-command-sender-which-forwards-feedb.patch similarity index 87% rename from patches/api/0348-API-for-creating-command-sender-which-forwards-feedb.patch rename to patches/api/0347-API-for-creating-command-sender-which-forwards-feedb.patch index 967c5e198e..d9bb4574b2 100644 --- a/patches/api/0348-API-for-creating-command-sender-which-forwards-feedb.patch +++ b/patches/api/0347-API-for-creating-command-sender-which-forwards-feedb.patch @@ -5,10 +5,10 @@ Subject: [PATCH] API for creating command sender which forwards feedback diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index d4b522ee3d44ec755046cc406708086b5f5cf625..3c7cedf0f2654d68fc7fa9fb32a17d362bba459e 100644 +index e75da4494582594dfa8f21e6abd36fb345558127..43f93aa0efc35488fab44cb55081cfc486c319f5 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -1434,6 +1434,20 @@ public final class Bukkit { +@@ -1432,6 +1432,20 @@ public final class Bukkit { return server.getConsoleSender(); } @@ -30,10 +30,10 @@ index d4b522ee3d44ec755046cc406708086b5f5cf625..3c7cedf0f2654d68fc7fa9fb32a17d36 * Gets the folder that contains all of the various {@link World}s. * diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index feb2c76bd20c1146d22ec1988943e5b94a982de9..57e117583ba6d562e2ffd308e058e5ea7de90b24 100644 +index b6e8dd95cc58f53e3e6ca64dd796ed6633630cf4..693e07b7e4aeef2ebc7fba5d20d6c6071762896c 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1204,6 +1204,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1202,6 +1202,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @NotNull public ConsoleCommandSender getConsoleSender(); diff --git a/patches/api/0349-Implement-regenerateChunk.patch b/patches/api/0348-Implement-regenerateChunk.patch similarity index 100% rename from patches/api/0349-Implement-regenerateChunk.patch rename to patches/api/0348-Implement-regenerateChunk.patch diff --git a/patches/api/0350-Add-GameEvent-tags.patch b/patches/api/0349-Add-GameEvent-tags.patch similarity index 100% rename from patches/api/0350-Add-GameEvent-tags.patch rename to patches/api/0349-Add-GameEvent-tags.patch diff --git a/patches/api/0351-Furnace-RecipesUsed-API.patch b/patches/api/0350-Furnace-RecipesUsed-API.patch similarity index 100% rename from patches/api/0351-Furnace-RecipesUsed-API.patch rename to patches/api/0350-Furnace-RecipesUsed-API.patch diff --git a/patches/api/0352-Configurable-sculk-sensor-listener-range.patch b/patches/api/0351-Configurable-sculk-sensor-listener-range.patch similarity index 100% rename from patches/api/0352-Configurable-sculk-sensor-listener-range.patch rename to patches/api/0351-Configurable-sculk-sensor-listener-range.patch diff --git a/patches/api/0353-Add-missing-block-data-mins-and-maxes.patch b/patches/api/0352-Add-missing-block-data-mins-and-maxes.patch similarity index 100% rename from patches/api/0353-Add-missing-block-data-mins-and-maxes.patch rename to patches/api/0352-Add-missing-block-data-mins-and-maxes.patch diff --git a/patches/api/0354-Custom-Potion-Mixes.patch b/patches/api/0353-Custom-Potion-Mixes.patch similarity index 94% rename from patches/api/0354-Custom-Potion-Mixes.patch rename to patches/api/0353-Custom-Potion-Mixes.patch index ddea78ba36..a8c7167526 100644 --- a/patches/api/0354-Custom-Potion-Mixes.patch +++ b/patches/api/0353-Custom-Potion-Mixes.patch @@ -102,10 +102,10 @@ index 0000000000000000000000000000000000000000..cb6d93526b637946aec311bef103ad30 + } +} diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 3c7cedf0f2654d68fc7fa9fb32a17d362bba459e..7c2f5f1e3ce496d55471027cc069d7f1863dc7e6 100644 +index 43f93aa0efc35488fab44cb55081cfc486c319f5..ac6a49e39790aa9f12c7d98990f4cac297200cb0 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2448,6 +2448,15 @@ public final class Bukkit { +@@ -2465,6 +2465,15 @@ public final class Bukkit { public static io.papermc.paper.datapack.DatapackManager getDatapackManager() { return server.getDatapackManager(); } @@ -122,10 +122,10 @@ index 3c7cedf0f2654d68fc7fa9fb32a17d362bba459e..7c2f5f1e3ce496d55471027cc069d7f1 @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 57e117583ba6d562e2ffd308e058e5ea7de90b24..474835e0a0d174a97ad25406d4a13a43d7a3644e 100644 +index 693e07b7e4aeef2ebc7fba5d20d6c6071762896c..18f4ae463f0e1406842c451b91f333a1bfabae69 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2133,5 +2133,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2146,5 +2146,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ @NotNull io.papermc.paper.datapack.DatapackManager getDatapackManager(); diff --git a/patches/api/0355-Expose-furnace-minecart-push-values.patch b/patches/api/0354-Expose-furnace-minecart-push-values.patch similarity index 100% rename from patches/api/0355-Expose-furnace-minecart-push-values.patch rename to patches/api/0354-Expose-furnace-minecart-push-values.patch diff --git a/patches/api/0356-More-Projectile-API.patch b/patches/api/0355-More-Projectile-API.patch similarity index 100% rename from patches/api/0356-More-Projectile-API.patch rename to patches/api/0355-More-Projectile-API.patch diff --git a/patches/api/0357-Add-getComputedBiome-API.patch b/patches/api/0356-Add-getComputedBiome-API.patch similarity index 100% rename from patches/api/0357-Add-getComputedBiome-API.patch rename to patches/api/0356-Add-getComputedBiome-API.patch diff --git a/patches/api/0358-Add-enchantWithLevels-API.patch b/patches/api/0357-Add-enchantWithLevels-API.patch similarity index 100% rename from patches/api/0358-Add-enchantWithLevels-API.patch rename to patches/api/0357-Add-enchantWithLevels-API.patch diff --git a/patches/api/0359-Add-TameableDeathMessageEvent.patch b/patches/api/0358-Add-TameableDeathMessageEvent.patch similarity index 100% rename from patches/api/0359-Add-TameableDeathMessageEvent.patch rename to patches/api/0358-Add-TameableDeathMessageEvent.patch diff --git a/patches/api/0360-Allow-to-change-the-podium-of-the-EnderDragon.patch b/patches/api/0359-Allow-to-change-the-podium-of-the-EnderDragon.patch similarity index 100% rename from patches/api/0360-Allow-to-change-the-podium-of-the-EnderDragon.patch rename to patches/api/0359-Allow-to-change-the-podium-of-the-EnderDragon.patch diff --git a/patches/api/0361-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch b/patches/api/0360-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch similarity index 100% rename from patches/api/0361-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch rename to patches/api/0360-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch diff --git a/patches/api/0362-WorldCreator-keepSpawnLoaded.patch b/patches/api/0361-WorldCreator-keepSpawnLoaded.patch similarity index 100% rename from patches/api/0362-WorldCreator-keepSpawnLoaded.patch rename to patches/api/0361-WorldCreator-keepSpawnLoaded.patch diff --git a/patches/api/0363-Add-EntityDyeEvent-and-CollarColorable-interface.patch b/patches/api/0362-Add-EntityDyeEvent-and-CollarColorable-interface.patch similarity index 100% rename from patches/api/0363-Add-EntityDyeEvent-and-CollarColorable-interface.patch rename to patches/api/0362-Add-EntityDyeEvent-and-CollarColorable-interface.patch diff --git a/patches/api/0364-Add-PlayerStopUsingItemEvent.patch b/patches/api/0363-Add-PlayerStopUsingItemEvent.patch similarity index 100% rename from patches/api/0364-Add-PlayerStopUsingItemEvent.patch rename to patches/api/0363-Add-PlayerStopUsingItemEvent.patch diff --git a/patches/api/0365-FallingBlock-auto-expire-setting.patch b/patches/api/0364-FallingBlock-auto-expire-setting.patch similarity index 100% rename from patches/api/0365-FallingBlock-auto-expire-setting.patch rename to patches/api/0364-FallingBlock-auto-expire-setting.patch diff --git a/patches/api/0366-Keyed-Cat-Type.patch b/patches/api/0365-Keyed-Cat-Type.patch similarity index 100% rename from patches/api/0366-Keyed-Cat-Type.patch rename to patches/api/0365-Keyed-Cat-Type.patch diff --git a/patches/api/0367-Add-method-isTickingWorlds-to-Bukkit.patch b/patches/api/0366-Add-method-isTickingWorlds-to-Bukkit.patch similarity index 91% rename from patches/api/0367-Add-method-isTickingWorlds-to-Bukkit.patch rename to patches/api/0366-Add-method-isTickingWorlds-to-Bukkit.patch index a1c72f1d3f..57225f80c3 100644 --- a/patches/api/0367-Add-method-isTickingWorlds-to-Bukkit.patch +++ b/patches/api/0366-Add-method-isTickingWorlds-to-Bukkit.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add method isTickingWorlds() to Bukkit. diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 7c2f5f1e3ce496d55471027cc069d7f1863dc7e6..b0bc2df41506770e2854a287813f1c53f003eda1 100644 +index ac6a49e39790aa9f12c7d98990f4cac297200cb0..ef36d793ab77c7b7208f8f5994815599cff470d1 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -776,12 +776,26 @@ public final class Bukkit { +@@ -774,12 +774,26 @@ public final class Bukkit { return server.getWorlds(); } @@ -35,7 +35,7 @@ index 7c2f5f1e3ce496d55471027cc069d7f1863dc7e6..b0bc2df41506770e2854a287813f1c53 * * @param creator the options to use when creating the world * @return newly created or loaded world -@@ -793,6 +807,9 @@ public final class Bukkit { +@@ -791,6 +805,9 @@ public final class Bukkit { /** * Unloads a world with the given name. @@ -45,7 +45,7 @@ index 7c2f5f1e3ce496d55471027cc069d7f1863dc7e6..b0bc2df41506770e2854a287813f1c53 * * @param name Name of the world to unload * @param save whether to save the chunks before unloading -@@ -804,6 +821,9 @@ public final class Bukkit { +@@ -802,6 +819,9 @@ public final class Bukkit { /** * Unloads the given world. @@ -56,10 +56,10 @@ index 7c2f5f1e3ce496d55471027cc069d7f1863dc7e6..b0bc2df41506770e2854a287813f1c53 * @param world the world to unload * @param save whether to save the chunks before unloading diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 474835e0a0d174a97ad25406d4a13a43d7a3644e..1d1a1d087dabc9794e0062a064da2cced4062309 100644 +index 18f4ae463f0e1406842c451b91f333a1bfabae69..5b225bbb128893d67251a96ab318035802a0cf76 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -649,34 +649,55 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -647,34 +647,55 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @NotNull public List getWorlds(); diff --git a/patches/api/0368-Add-WardenAngerChangeEvent.patch b/patches/api/0367-Add-WardenAngerChangeEvent.patch similarity index 100% rename from patches/api/0368-Add-WardenAngerChangeEvent.patch rename to patches/api/0367-Add-WardenAngerChangeEvent.patch diff --git a/patches/api/0369-Nameable-Banner-API.patch b/patches/api/0368-Nameable-Banner-API.patch similarity index 100% rename from patches/api/0369-Nameable-Banner-API.patch rename to patches/api/0368-Nameable-Banner-API.patch diff --git a/patches/api/0370-Add-Player-getFishHook.patch b/patches/api/0369-Add-Player-getFishHook.patch similarity index 100% rename from patches/api/0370-Add-Player-getFishHook.patch rename to patches/api/0369-Add-Player-getFishHook.patch diff --git a/patches/api/0371-More-Teleport-API.patch b/patches/api/0370-More-Teleport-API.patch similarity index 100% rename from patches/api/0371-More-Teleport-API.patch rename to patches/api/0370-More-Teleport-API.patch diff --git a/patches/api/0372-Add-EntityPortalReadyEvent.patch b/patches/api/0371-Add-EntityPortalReadyEvent.patch similarity index 100% rename from patches/api/0372-Add-EntityPortalReadyEvent.patch rename to patches/api/0371-Add-EntityPortalReadyEvent.patch diff --git a/patches/api/0373-Custom-Chat-Completion-Suggestions-API.patch b/patches/api/0372-Custom-Chat-Completion-Suggestions-API.patch similarity index 100% rename from patches/api/0373-Custom-Chat-Completion-Suggestions-API.patch rename to patches/api/0372-Custom-Chat-Completion-Suggestions-API.patch diff --git a/patches/api/0374-Collision-API.patch b/patches/api/0373-Collision-API.patch similarity index 100% rename from patches/api/0374-Collision-API.patch rename to patches/api/0373-Collision-API.patch diff --git a/patches/api/0375-Block-Ticking-API.patch b/patches/api/0374-Block-Ticking-API.patch similarity index 100% rename from patches/api/0375-Block-Ticking-API.patch rename to patches/api/0374-Block-Ticking-API.patch diff --git a/patches/api/0376-Add-NamespacedKey-biome-methods.patch b/patches/api/0375-Add-NamespacedKey-biome-methods.patch similarity index 100% rename from patches/api/0376-Add-NamespacedKey-biome-methods.patch rename to patches/api/0375-Add-NamespacedKey-biome-methods.patch diff --git a/patches/api/0377-Also-load-resources-from-LibraryLoader.patch b/patches/api/0376-Also-load-resources-from-LibraryLoader.patch similarity index 100% rename from patches/api/0377-Also-load-resources-from-LibraryLoader.patch rename to patches/api/0376-Also-load-resources-from-LibraryLoader.patch diff --git a/patches/api/0378-Added-byte-array-serialization-deserialization-for-P.patch b/patches/api/0377-Added-byte-array-serialization-deserialization-for-P.patch similarity index 100% rename from patches/api/0378-Added-byte-array-serialization-deserialization-for-P.patch rename to patches/api/0377-Added-byte-array-serialization-deserialization-for-P.patch diff --git a/patches/api/0379-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch b/patches/api/0378-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch similarity index 100% rename from patches/api/0379-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch rename to patches/api/0378-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch diff --git a/patches/api/0380-Expose-codepoint-limit-in-YamlConfigOptions-and-incr.patch b/patches/api/0379-Expose-codepoint-limit-in-YamlConfigOptions-and-incr.patch similarity index 100% rename from patches/api/0380-Expose-codepoint-limit-in-YamlConfigOptions-and-incr.patch rename to patches/api/0379-Expose-codepoint-limit-in-YamlConfigOptions-and-incr.patch diff --git a/patches/api/0381-Add-getDrops-to-BlockState.patch b/patches/api/0380-Add-getDrops-to-BlockState.patch similarity index 100% rename from patches/api/0381-Add-getDrops-to-BlockState.patch rename to patches/api/0380-Add-getDrops-to-BlockState.patch diff --git a/patches/api/0382-Add-PlayerInventorySlotChangeEvent.patch b/patches/api/0381-Add-PlayerInventorySlotChangeEvent.patch similarity index 100% rename from patches/api/0382-Add-PlayerInventorySlotChangeEvent.patch rename to patches/api/0381-Add-PlayerInventorySlotChangeEvent.patch diff --git a/patches/api/0383-Elder-Guardian-appearance-API.patch b/patches/api/0382-Elder-Guardian-appearance-API.patch similarity index 100% rename from patches/api/0383-Elder-Guardian-appearance-API.patch rename to patches/api/0382-Elder-Guardian-appearance-API.patch diff --git a/patches/api/0384-Allow-changing-bed-s-occupied-property.patch b/patches/api/0383-Allow-changing-bed-s-occupied-property.patch similarity index 100% rename from patches/api/0384-Allow-changing-bed-s-occupied-property.patch rename to patches/api/0383-Allow-changing-bed-s-occupied-property.patch diff --git a/patches/api/0385-Add-EquipmentSlot-convenience-methods.patch b/patches/api/0384-Add-EquipmentSlot-convenience-methods.patch similarity index 100% rename from patches/api/0385-Add-EquipmentSlot-convenience-methods.patch rename to patches/api/0384-Add-EquipmentSlot-convenience-methods.patch diff --git a/patches/api/0386-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch b/patches/api/0385-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch similarity index 100% rename from patches/api/0386-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch rename to patches/api/0385-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch diff --git a/patches/api/0387-Add-entity-knockback-API.patch b/patches/api/0386-Add-entity-knockback-API.patch similarity index 100% rename from patches/api/0387-Add-entity-knockback-API.patch rename to patches/api/0386-Add-entity-knockback-API.patch diff --git a/patches/api/0388-Added-EntityToggleSitEvent.patch b/patches/api/0387-Added-EntityToggleSitEvent.patch similarity index 100% rename from patches/api/0388-Added-EntityToggleSitEvent.patch rename to patches/api/0387-Added-EntityToggleSitEvent.patch diff --git a/patches/api/0389-Add-Moving-Piston-API.patch b/patches/api/0388-Add-Moving-Piston-API.patch similarity index 100% rename from patches/api/0389-Add-Moving-Piston-API.patch rename to patches/api/0388-Add-Moving-Piston-API.patch diff --git a/patches/api/0390-Add-PrePlayerAttackEntityEvent.patch b/patches/api/0389-Add-PrePlayerAttackEntityEvent.patch similarity index 100% rename from patches/api/0390-Add-PrePlayerAttackEntityEvent.patch rename to patches/api/0389-Add-PrePlayerAttackEntityEvent.patch diff --git a/patches/api/0391-Add-Player-Warden-Warning-API.patch b/patches/api/0390-Add-Player-Warden-Warning-API.patch similarity index 100% rename from patches/api/0391-Add-Player-Warden-Warning-API.patch rename to patches/api/0390-Add-Player-Warden-Warning-API.patch diff --git a/patches/api/0392-More-vanilla-friendly-methods-to-update-trades.patch b/patches/api/0391-More-vanilla-friendly-methods-to-update-trades.patch similarity index 100% rename from patches/api/0392-More-vanilla-friendly-methods-to-update-trades.patch rename to patches/api/0391-More-vanilla-friendly-methods-to-update-trades.patch diff --git a/patches/api/0393-Add-paper-dumplisteners-command.patch b/patches/api/0392-Add-paper-dumplisteners-command.patch similarity index 100% rename from patches/api/0393-Add-paper-dumplisteners-command.patch rename to patches/api/0392-Add-paper-dumplisteners-command.patch diff --git a/patches/api/0394-ItemStack-damage-API.patch b/patches/api/0393-ItemStack-damage-API.patch similarity index 100% rename from patches/api/0394-ItemStack-damage-API.patch rename to patches/api/0393-ItemStack-damage-API.patch diff --git a/patches/api/0395-Add-Tick-TemporalUnit.patch b/patches/api/0394-Add-Tick-TemporalUnit.patch similarity index 100% rename from patches/api/0395-Add-Tick-TemporalUnit.patch rename to patches/api/0394-Add-Tick-TemporalUnit.patch diff --git a/patches/api/0396-Friction-API.patch b/patches/api/0395-Friction-API.patch similarity index 100% rename from patches/api/0396-Friction-API.patch rename to patches/api/0395-Friction-API.patch diff --git a/patches/api/0397-Player-Entity-Tracking-Events.patch b/patches/api/0396-Player-Entity-Tracking-Events.patch similarity index 100% rename from patches/api/0397-Player-Entity-Tracking-Events.patch rename to patches/api/0396-Player-Entity-Tracking-Events.patch diff --git a/patches/api/0398-Add-missing-Fluid-type.patch b/patches/api/0397-Add-missing-Fluid-type.patch similarity index 100% rename from patches/api/0398-Add-missing-Fluid-type.patch rename to patches/api/0397-Add-missing-Fluid-type.patch diff --git a/patches/api/0399-fix-Instruments.patch b/patches/api/0398-fix-Instruments.patch similarity index 100% rename from patches/api/0399-fix-Instruments.patch rename to patches/api/0398-fix-Instruments.patch diff --git a/patches/api/0400-Add-BlockLockCheckEvent.patch b/patches/api/0399-Add-BlockLockCheckEvent.patch similarity index 100% rename from patches/api/0400-Add-BlockLockCheckEvent.patch rename to patches/api/0399-Add-BlockLockCheckEvent.patch diff --git a/patches/api/0401-Add-Sneaking-API-for-Entities.patch b/patches/api/0400-Add-Sneaking-API-for-Entities.patch similarity index 100% rename from patches/api/0401-Add-Sneaking-API-for-Entities.patch rename to patches/api/0400-Add-Sneaking-API-for-Entities.patch diff --git a/patches/api/0402-Improve-PortalEvents.patch b/patches/api/0401-Improve-PortalEvents.patch similarity index 100% rename from patches/api/0402-Improve-PortalEvents.patch rename to patches/api/0401-Improve-PortalEvents.patch diff --git a/patches/api/0403-Add-exploded-block-state-to-BlockExplodeEvent.patch b/patches/api/0402-Add-exploded-block-state-to-BlockExplodeEvent.patch similarity index 100% rename from patches/api/0403-Add-exploded-block-state-to-BlockExplodeEvent.patch rename to patches/api/0402-Add-exploded-block-state-to-BlockExplodeEvent.patch diff --git a/patches/api/0404-Flying-Fall-Damage-API.patch b/patches/api/0403-Flying-Fall-Damage-API.patch similarity index 100% rename from patches/api/0404-Flying-Fall-Damage-API.patch rename to patches/api/0403-Flying-Fall-Damage-API.patch diff --git a/patches/api/0405-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch b/patches/api/0404-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch similarity index 100% rename from patches/api/0405-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch rename to patches/api/0404-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch diff --git a/patches/api/0406-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch b/patches/api/0405-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch similarity index 100% rename from patches/api/0406-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch rename to patches/api/0405-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch diff --git a/patches/api/0407-Win-Screen-API.patch b/patches/api/0406-Win-Screen-API.patch similarity index 100% rename from patches/api/0407-Win-Screen-API.patch rename to patches/api/0406-Win-Screen-API.patch diff --git a/patches/api/0408-Add-Entity-Body-Yaw-API.patch b/patches/api/0407-Add-Entity-Body-Yaw-API.patch similarity index 100% rename from patches/api/0408-Add-Entity-Body-Yaw-API.patch rename to patches/api/0407-Add-Entity-Body-Yaw-API.patch diff --git a/patches/api/0409-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch b/patches/api/0408-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch similarity index 100% rename from patches/api/0409-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch rename to patches/api/0408-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch diff --git a/patches/api/0410-Add-EntityFertilizeEggEvent.patch b/patches/api/0409-Add-EntityFertilizeEggEvent.patch similarity index 100% rename from patches/api/0410-Add-EntityFertilizeEggEvent.patch rename to patches/api/0409-Add-EntityFertilizeEggEvent.patch diff --git a/patches/api/0411-Add-CompostItemEvent-and-EntityCompostItemEvent.patch b/patches/api/0410-Add-CompostItemEvent-and-EntityCompostItemEvent.patch similarity index 100% rename from patches/api/0411-Add-CompostItemEvent-and-EntityCompostItemEvent.patch rename to patches/api/0410-Add-CompostItemEvent-and-EntityCompostItemEvent.patch diff --git a/patches/api/0412-Add-Shearable-API.patch b/patches/api/0411-Add-Shearable-API.patch similarity index 100% rename from patches/api/0412-Add-Shearable-API.patch rename to patches/api/0411-Add-Shearable-API.patch diff --git a/patches/api/0413-Fix-SpawnEggMeta-get-setSpawnedType.patch b/patches/api/0412-Fix-SpawnEggMeta-get-setSpawnedType.patch similarity index 100% rename from patches/api/0413-Fix-SpawnEggMeta-get-setSpawnedType.patch rename to patches/api/0412-Fix-SpawnEggMeta-get-setSpawnedType.patch diff --git a/patches/api/0414-Add-Mob-Experience-reward-API.patch b/patches/api/0413-Add-Mob-Experience-reward-API.patch similarity index 100% rename from patches/api/0414-Add-Mob-Experience-reward-API.patch rename to patches/api/0413-Add-Mob-Experience-reward-API.patch diff --git a/patches/api/0415-Expand-PlayerItemMendEvent.patch b/patches/api/0414-Expand-PlayerItemMendEvent.patch similarity index 100% rename from patches/api/0415-Expand-PlayerItemMendEvent.patch rename to patches/api/0414-Expand-PlayerItemMendEvent.patch diff --git a/patches/api/0416-Add-transient-modifier-API.patch b/patches/api/0415-Add-transient-modifier-API.patch similarity index 100% rename from patches/api/0416-Add-transient-modifier-API.patch rename to patches/api/0415-Add-transient-modifier-API.patch diff --git a/patches/api/0417-Add-API-for-waxed-signs.patch b/patches/api/0416-Add-API-for-waxed-signs.patch similarity index 100% rename from patches/api/0417-Add-API-for-waxed-signs.patch rename to patches/api/0416-Add-API-for-waxed-signs.patch diff --git a/patches/api/0418-Properly-remove-the-experimental-smithing-inventory-.patch b/patches/api/0417-Properly-remove-the-experimental-smithing-inventory-.patch similarity index 100% rename from patches/api/0418-Properly-remove-the-experimental-smithing-inventory-.patch rename to patches/api/0417-Properly-remove-the-experimental-smithing-inventory-.patch diff --git a/patches/server/0002-Remap-fixes.patch b/patches/server/0002-Remap-fixes.patch index 22510b7636..dc9145fd2d 100644 --- a/patches/server/0002-Remap-fixes.patch +++ b/patches/server/0002-Remap-fixes.patch @@ -103,6 +103,31 @@ index ad52c3fc6210939a39ef77a382c640a24ee44838..6b7dd01778f0a5d3a96d2d04af4b525d assertThat(color, is(Color.fromRGB(nmsColor))); } } +diff --git a/src/test/java/org/bukkit/RegistryConstantsTest.java b/src/test/java/org/bukkit/RegistryConstantsTest.java +index 34e6b84c63e50972c650c0e4bc17bc0749e1b7c3..cd96cbba4d495c18f984dec6f861f75baf4300cc 100644 +--- a/src/test/java/org/bukkit/RegistryConstantsTest.java ++++ b/src/test/java/org/bukkit/RegistryConstantsTest.java +@@ -19,17 +19,17 @@ public class RegistryConstantsTest extends AbstractTestingBase { + + @Test + public void testTrimMaterial() { +- this.testExcessConstants(TrimMaterial.class, Registry.TRIM_MATERIAL); ++ this.testExcessConstants(TrimMaterial.class, org.bukkit.Registry.TRIM_MATERIAL); // Paper - remap fix + this.testMissingConstants(TrimMaterial.class, Registries.TRIM_MATERIAL); + } + + @Test + public void testTrimPattern() { +- this.testExcessConstants(TrimPattern.class, Registry.TRIM_PATTERN); ++ this.testExcessConstants(TrimPattern.class, org.bukkit.Registry.TRIM_PATTERN); // Paper - remap fix + this.testMissingConstants(TrimPattern.class, Registries.TRIM_PATTERN); + } + +- private void testExcessConstants(Class clazz, Registry registry) { ++ private void testExcessConstants(Class clazz, org.bukkit.Registry registry) { // Paper - remap fix + List excessKeys = new ArrayList<>(); + + for (Field field : clazz.getFields()) { diff --git a/src/test/java/org/bukkit/entity/EntityTypesTest.java b/src/test/java/org/bukkit/entity/EntityTypesTest.java index b1de312e902c83a2f95d80040abb9255e64431a9..aafa6f472c82f851fe7f5ae3111488bb732d0bcc 100644 --- a/src/test/java/org/bukkit/entity/EntityTypesTest.java diff --git a/patches/server/0005-Paper-config-files.patch b/patches/server/0005-Paper-config-files.patch index 0c3c77d746..7fbde73ffb 100644 --- a/patches/server/0005-Paper-config-files.patch +++ b/patches/server/0005-Paper-config-files.patch @@ -4571,10 +4571,10 @@ index cda55e481ddbcc1de5478125c5db20ebba168e7d..bacd4d875642cd93c3185f788745dd73 this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index c1c575593b2470aeaf73ce6f9f45f4f7f9b16c04..9c82e4d2f5676808bb57c5e7dd19d0e7615ca884 100644 +index 56ad43d30f5dfec7564edab364328d32313501db..84c9a7f5ecb47f6a95ca89ecfcdba663fef803ae 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -903,6 +903,7 @@ public final class CraftServer implements Server { +@@ -910,6 +910,7 @@ public final class CraftServer implements Server { } org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot diff --git a/patches/server/0008-CB-fixes.patch b/patches/server/0008-CB-fixes.patch index 66aad2fa8a..013b5023df 100644 --- a/patches/server/0008-CB-fixes.patch +++ b/patches/server/0008-CB-fixes.patch @@ -83,11 +83,11 @@ index 161ad6ab1443b2ce33a2d7d91d189c855db0453b..15a9736a870055d639d03063c7cf67fd this.registryAccess = registryManager; this.structureTemplateManager = structureTemplateManager; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 9c82e4d2f5676808bb57c5e7dd19d0e7615ca884..9874d0d3ae16e79f2598d9c1f93a9b7cc40f56b0 100644 +index 84c9a7f5ecb47f6a95ca89ecfcdba663fef803ae..c3c30cbb74062fc25c1daf9b17c8956857766306 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2324,7 +2324,13 @@ public final class CraftServer implements Server { - Validate.notNull(key, "NamespacedKey cannot be null"); +@@ -2340,7 +2340,13 @@ public final class CraftServer implements Server { + Preconditions.checkArgument(key != null, "NamespacedKey key cannot be null"); LootDataManager registry = this.getServer().getLootData(); - return new CraftLootTable(key, registry.getLootTable(CraftNamespacedKey.toMinecraft(key))); diff --git a/patches/server/0009-MC-Utils.patch b/patches/server/0009-MC-Utils.patch index f729fe9a55..27baee9eca 100644 --- a/patches/server/0009-MC-Utils.patch +++ b/patches/server/0009-MC-Utils.patch @@ -6530,7 +6530,7 @@ index ebae711991a3ae35e35c2cffa8d928677c205492..7be97441aed66fa3a21d13ad2211b3e0 public ServerLevel(MinecraftServer minecraftserver, Executor executor, LevelStorageSource.LevelStorageAccess convertable_conversionsession, PrimaryLevelData iworlddataserver, ResourceKey resourcekey, LevelStem worlddimension, ChunkProgressListener worldloadlistener, boolean flag, long i, List list, boolean flag1, @Nullable RandomSequences randomsequences, org.bukkit.World.Environment env, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider) { // IRegistryCustom.Dimension iregistrycustom_dimension = minecraftserver.registryAccess(); // CraftBukkit - decompile error diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index e1a8dc23249c04de66289fbf157d349e7fae606d..931955a7f5b20f04350ec91b3bc95146e8e219a3 100644 +index 4a2205fca9b9487b92b120ece69f1548bf764056..ba89c0d7ae99e53350249365d0e035e6f14e1c5f 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -255,6 +255,8 @@ public class ServerPlayer extends Player { @@ -6595,7 +6595,7 @@ index a63d5ba706a5b8e430aedc045bdeb3a410bd0eef..e96a0ca47e4701ba187555bd92c96834 public BlockState getBlockState(BlockPos pos) { return this.getChunk(SectionPos.blockToSectionCoord(pos.getX()), SectionPos.blockToSectionCoord(pos.getZ())).getBlockState(pos); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 1413df83d5dad892a505850fd863d49148c185f0..5d572a56d7926a849af73f5335a749f30f250026 100644 +index d1a94a7de19b0c46454040f7459a492e30265e9c..edf629f2e810eebf014b1565021888f96def92a1 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -185,6 +185,7 @@ public abstract class PlayerList { @@ -6625,7 +6625,7 @@ index 337e0a7b3c14e1b1a28744920e0dc0a69e0c5a87..f5829ae484d93b547a5437b85a962134 @Override public void tell(R runnable) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index cb3354c5ec73ef7c2c2b4af5dbaf994836d6ef7d..18b019aa5908bbc02caa162accbf088abcefc2e2 100644 +index ff52a7319c6d80528a44389178b947cf4d8f48dc..a4e5961991a6debff959d63d70b71b1ded76e72a 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -323,6 +323,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -7291,10 +7291,10 @@ index 25156be63f91a1c41ef41154f675d04eb97459a8..47bab513feec217d875192afef61f3af return false; } else { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 46d6f5b9f31e15ab286df344bc436b2762d329e5..29ef66be12ec2a2765a76eb3d419c337846c75ac 100644 +index ee22b5419098834c3b388bbf78d6bd6d7951964a..379b8a7d94c784db54ada01ad6bd04a54f8a089f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -243,8 +243,8 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -242,8 +242,8 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public Chunk[] getLoadedChunks() { @@ -7305,7 +7305,7 @@ index 46d6f5b9f31e15ab286df344bc436b2762d329e5..29ef66be12ec2a2765a76eb3d419c337 } @Override -@@ -319,7 +319,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -318,7 +318,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public boolean refreshChunk(int x, int z) { @@ -7314,7 +7314,7 @@ index 46d6f5b9f31e15ab286df344bc436b2762d329e5..29ef66be12ec2a2765a76eb3d419c337 if (playerChunk == null) return false; playerChunk.getTickingChunkFuture().thenAccept(either -> { -@@ -1963,4 +1963,32 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1970,4 +1970,32 @@ public class CraftWorld extends CraftRegionAccessor implements World { return this.spigot; } // Spigot end @@ -7348,10 +7348,10 @@ index 46d6f5b9f31e15ab286df344bc436b2762d329e5..29ef66be12ec2a2765a76eb3d419c337 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 2c824ead41389bc7d2085536ecb8d0d2b6515ddb..6807507017bbb171657ba230223f281b083da28a 100644 +index bcf8d0316386cbf4d90b73f7530acbcf554be55d..61304b316985462e898a1b80f872b716a33207c6 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1182,4 +1182,37 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1175,4 +1175,37 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return this.spigot; } // Spigot end @@ -7390,7 +7390,7 @@ index 2c824ead41389bc7d2085536ecb8d0d2b6515ddb..6807507017bbb171657ba230223f281b + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java -index 2f52148f36e56c503e619634eedd3d46d9f44938..054fcc3713f02e358dfe049491c8d1689ccc750b 100644 +index 07249989e6f0f76f8408363d7f20e7335b7a8e06..4d94c3a19f98f78476ecc403f410d75a6ea57c2d 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java @@ -44,6 +44,7 @@ import org.bukkit.scheduler.BukkitWorker; @@ -7612,7 +7612,7 @@ index 0000000000000000000000000000000000000000..909b2c98e7a9117d2f737245e4661792 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 141f7c287252ae319e88d8c279e5661524baa1bf..381cfd86fc1158dc9a7c1e76c3ada962b0964373 100644 +index 9026e98b6b03de7a51e853d6ca4a3d20584740d4..fee5c6809ea3d4ebe1b17fb8da580f3b058d7363 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -104,8 +104,17 @@ public final class CraftMagicNumbers implements UnsafeValues { @@ -7677,10 +7677,10 @@ index d2026d218405a40a6949c5f491c04704811b72b5..629178347039893fb9de710810fe8112 public WorldBorder getWorldBorder() { throw new UnsupportedOperationException("Not supported yet."); diff --git a/src/main/java/org/bukkit/craftbukkit/util/UnsafeList.java b/src/main/java/org/bukkit/craftbukkit/util/UnsafeList.java -index d40c0d8be1b0153d62021b8bcb6e8b37fd0acb4e..e38e57b1f9ef27020de35d7ddcb36a663140f880 100644 +index aced43492a32d603690e75d0d9877667770fc6db..40d6bf127d288340e9c2500732d1e0963c186ebd 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/UnsafeList.java +++ b/src/main/java/org/bukkit/craftbukkit/util/UnsafeList.java -@@ -119,6 +119,32 @@ public class UnsafeList extends AbstractList implements List, RandomAcc +@@ -120,6 +120,32 @@ public class UnsafeList extends AbstractList implements List, RandomAcc return this.indexOf(o) >= 0; } diff --git a/patches/server/0010-Adventure.patch b/patches/server/0010-Adventure.patch index 0a667b0dd0..c1a071f638 100644 --- a/patches/server/0010-Adventure.patch +++ b/patches/server/0010-Adventure.patch @@ -2169,7 +2169,7 @@ index 5f051cb22ae77f4d8994b07ac5b963bd0ff05673..7952635a963e28cb670c8f4869664103 list.forEach((loader) -> { Registry registry = loader.getFirst(); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 9b34e401040a45393afbb9e984ff421a89f744a0..2d35572157b28f2e637d9b47a82c5e7adecde96e 100644 +index 9b34e401040a45393afbb9e984ff421a89f744a0..3250a9310b57351d6d832a8ef42837d990cf6c99 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -194,6 +194,7 @@ import org.bukkit.craftbukkit.SpigotTimings; // Spigot @@ -2180,15 +2180,26 @@ index 9b34e401040a45393afbb9e984ff421a89f744a0..2d35572157b28f2e637d9b47a82c5e7a public static final String VANILLA_BRAND = "vanilla"; private static final float AVERAGE_TICK_TIME_SMOOTHING = 0.8F; private static final int TICK_STATS_SPAN = 100; -@@ -244,6 +245,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { -@@ -1783,9 +1788,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1786,9 +1791,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic */ this.player.disconnect(); @@ -2463,7 +2477,7 @@ index eebd9792338f912e60a9b0ab4de0660888b841f6..a1b9a2eeba2febef1b568a4c5aea9982 } // CraftBukkit end this.player.getTextFilter().leave(); -@@ -1882,11 +1889,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1885,11 +1892,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } CompletableFuture completablefuture = this.filterTextPacket(playerchatmessage.signedContent()); @@ -2477,7 +2491,7 @@ index eebd9792338f912e60a9b0ab4de0660888b841f6..a1b9a2eeba2febef1b568a4c5aea9982 this.broadcastChatMessage(playerchatmessage1); }, this.server.chatExecutor); // CraftBukkit - async chat -@@ -1992,7 +1999,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1995,7 +2002,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic Optional optional = this.unpackAndApplyLastSeen(acknowledgment); if (this.player.isRemoved() || this.player.getChatVisibility() == ChatVisiblity.HIDDEN) { // CraftBukkit - dead men tell no tales @@ -2486,7 +2500,7 @@ index eebd9792338f912e60a9b0ab4de0660888b841f6..a1b9a2eeba2febef1b568a4c5aea9982 return Optional.empty(); } else { this.player.resetLastActionTime(); -@@ -2050,7 +2057,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2053,7 +2060,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.handleCommand(s); } else if (this.player.getChatVisibility() == ChatVisiblity.SYSTEM) { // Do nothing, this is coming from a plugin @@ -2500,7 +2514,7 @@ index eebd9792338f912e60a9b0ab4de0660888b841f6..a1b9a2eeba2febef1b568a4c5aea9982 Player player = this.getCraftPlayer(); AsyncPlayerChatEvent event = new AsyncPlayerChatEvent(async, player, s, new LazyPlayerSet(this.server)); String originalFormat = event.getFormat(), originalMessage = event.getMessage(); -@@ -2180,7 +2192,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2183,7 +2195,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } }); } else if (this.player.getChatVisibility() == ChatVisiblity.SYSTEM) { // Re-add "Command Only" flag check @@ -2551,7 +2565,7 @@ index 1cb95db25a20d38faacd99a5805630c1598e9db3..d99b2235038eb1aba8cda474c4aa51e2 @Override diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 5d572a56d7926a849af73f5335a749f30f250026..645bee9a926d71c3730a23391d21d48418444e9a 100644 +index edf629f2e810eebf014b1565021888f96def92a1..d3dc7752aadf36985660d04dcb4377a69dfeddff 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -8,6 +8,7 @@ import com.mojang.logging.LogUtils; @@ -2862,7 +2876,7 @@ index 614e567eb1ef10ac7514909a8425e29ac3627d3d..60596c4ac2ebb8caf19d65591624275b } collection = icons; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 9874d0d3ae16e79f2598d9c1f93a9b7cc40f56b0..7d95f4e919f46fd415a3cf88b1bb7c163c5065ec 100644 +index c3c30cbb74062fc25c1daf9b17c8956857766306..85867893da6bb4f24e86c32ea9fd5ff5b5684dbb 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -608,8 +608,10 @@ public final class CraftServer implements Server { @@ -2876,7 +2890,7 @@ index 9874d0d3ae16e79f2598d9c1f93a9b7cc40f56b0..7d95f4e919f46fd415a3cf88b1bb7c16 } @Override -@@ -1460,7 +1462,15 @@ public final class CraftServer implements Server { +@@ -1465,7 +1467,15 @@ public final class CraftServer implements Server { return this.configuration.getInt("settings.spawn-radius", -1); } @@ -2892,7 +2906,7 @@ index 9874d0d3ae16e79f2598d9c1f93a9b7cc40f56b0..7d95f4e919f46fd415a3cf88b1bb7c16 public String getShutdownMessage() { return this.configuration.getString("settings.shutdown-message"); } -@@ -1628,7 +1638,20 @@ public final class CraftServer implements Server { +@@ -1633,7 +1643,20 @@ public final class CraftServer implements Server { } @Override @@ -2913,7 +2927,7 @@ index 9874d0d3ae16e79f2598d9c1f93a9b7cc40f56b0..7d95f4e919f46fd415a3cf88b1bb7c16 Set recipients = new HashSet<>(); for (Permissible permissible : this.getPluginManager().getPermissionSubscriptions(permission)) { if (permissible instanceof CommandSender && permissible.hasPermission(permission)) { -@@ -1636,14 +1659,14 @@ public final class CraftServer implements Server { +@@ -1641,14 +1664,14 @@ public final class CraftServer implements Server { } } @@ -2930,36 +2944,36 @@ index 9874d0d3ae16e79f2598d9c1f93a9b7cc40f56b0..7d95f4e919f46fd415a3cf88b1bb7c16 for (CommandSender recipient : recipients) { recipient.sendMessage(message); -@@ -1894,6 +1917,14 @@ public final class CraftServer implements Server { +@@ -1900,6 +1923,14 @@ public final class CraftServer implements Server { return CraftInventoryCreator.INSTANCE.createInventory(owner, type); } + // Paper start + @Override + public Inventory createInventory(InventoryHolder owner, InventoryType type, net.kyori.adventure.text.Component title) { -+ Validate.isTrue(type.isCreatable(), "Cannot open an inventory of type ", type); ++ Preconditions.checkArgument(type.isCreatable(), "Cannot open an inventory of type ", type); + return CraftInventoryCreator.INSTANCE.createInventory(owner, type, title); + } + // Paper end + @Override public Inventory createInventory(InventoryHolder owner, InventoryType type, String title) { - Validate.isTrue(type.isCreatable(), "Cannot open an inventory of type ", type); -@@ -1906,13 +1937,28 @@ public final class CraftServer implements Server { + Preconditions.checkArgument(type != null, "InventoryType cannot be null"); +@@ -1914,13 +1945,28 @@ public final class CraftServer implements Server { return CraftInventoryCreator.INSTANCE.createInventory(owner, size); } + // Paper start + @Override + public Inventory createInventory(InventoryHolder owner, int size, net.kyori.adventure.text.Component title) throws IllegalArgumentException { -+ Validate.isTrue(9 <= size && size <= 54 && size % 9 == 0, "Size for custom inventory must be a multiple of 9 between 9 and 54 slots (got " + size + ")"); ++ Preconditions.checkArgument(9 <= size && size <= 54 && size % 9 == 0, "Size for custom inventory must be a multiple of 9 between 9 and 54 slots (got " + size + ")"); + return CraftInventoryCreator.INSTANCE.createInventory(owner, size, title); + } + // Paper end + @Override public Inventory createInventory(InventoryHolder owner, int size, String title) throws IllegalArgumentException { - Validate.isTrue(9 <= size && size <= 54 && size % 9 == 0, "Size for custom inventory must be a multiple of 9 between 9 and 54 slots (got " + size + ")"); + Preconditions.checkArgument(9 <= size && size <= 54 && size % 9 == 0, "Size for custom inventory must be a multiple of 9 between 9 and 54 slots (got %s)", size); return CraftInventoryCreator.INSTANCE.createInventory(owner, size, title); } @@ -2974,20 +2988,25 @@ index 9874d0d3ae16e79f2598d9c1f93a9b7cc40f56b0..7d95f4e919f46fd415a3cf88b1bb7c16 public Merchant createMerchant(String title) { return new CraftMerchantCustom(title == null ? InventoryType.MERCHANT.getDefaultTitle() : title); } -@@ -1977,6 +2023,12 @@ public final class CraftServer implements Server { +@@ -1985,6 +2031,17 @@ public final class CraftServer implements Server { return Thread.currentThread().equals(console.serverThread) || this.console.hasStopped() || !org.spigotmc.AsyncCatcher.enabled; // All bets are off if we have shut down (e.g. due to watchdog) } -+ // Paper start ++ // Paper start - Adventure + @Override + public net.kyori.adventure.text.Component motd() { -+ return console.getComponentMotd(); ++ return this.console.motd(); ++ } ++ @Override ++ public void motd(final net.kyori.adventure.text.Component motd) { ++ this.console.motd(motd); + } + // Paper end ++ @Override public String getMotd() { return this.console.getMotd(); -@@ -2403,4 +2455,53 @@ public final class CraftServer implements Server { +@@ -2419,4 +2476,53 @@ public final class CraftServer implements Server { return this.spigot; } // Spigot end @@ -3042,10 +3061,10 @@ index 9874d0d3ae16e79f2598d9c1f93a9b7cc40f56b0..7d95f4e919f46fd415a3cf88b1bb7c16 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 29ef66be12ec2a2765a76eb3d419c337846c75ac..711dbf6e5cf9b4ffabaab2bcf10f13711683a61e 100644 +index 379b8a7d94c784db54ada01ad6bd04a54f8a089f..73f61f2b0c0aeefabb7b7bba7ca37914751dcc42 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -153,6 +153,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -152,6 +152,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { private final BlockMetadataStore blockMetadata = new BlockMetadataStore(this); private final Object2IntOpenHashMap spawnCategoryLimit = new Object2IntOpenHashMap<>(); private final CraftPersistentDataContainer persistentDataContainer = new CraftPersistentDataContainer(CraftWorld.DATA_TYPE_REGISTRY); @@ -3053,7 +3072,7 @@ index 29ef66be12ec2a2765a76eb3d419c337846c75ac..711dbf6e5cf9b4ffabaab2bcf10f1371 private static final Random rand = new Random(); -@@ -1597,6 +1598,39 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1603,6 +1604,39 @@ public class CraftWorld extends CraftRegionAccessor implements World { entityTracker.broadcastAndSend(packet); } } @@ -3093,7 +3112,7 @@ index 29ef66be12ec2a2765a76eb3d419c337846c75ac..711dbf6e5cf9b4ffabaab2bcf10f1371 private static Map> gamerules; public static synchronized Map> getGameRulesNMS() { -@@ -1990,5 +2024,18 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1997,5 +2031,18 @@ public class CraftWorld extends CraftRegionAccessor implements World { return ret; } @@ -3517,7 +3536,7 @@ index f6c614bb1184f9c79121f64a2a030bf3f094b671..e8334e2264510f5101e80b4f130e7ae1 public net.minecraft.world.item.enchantment.Enchantment getHandle() { return this.target; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 6807507017bbb171657ba230223f281b083da28a..db585082251005e2d2f861a0b292f229bd43485d 100644 +index 61304b316985462e898a1b80f872b716a33207c6..11645e01924b4a66aa4f425c8962a000be761912 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -202,6 +202,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -3528,7 +3547,7 @@ index 6807507017bbb171657ba230223f281b083da28a..db585082251005e2d2f861a0b292f229 public CraftEntity(final CraftServer server, final Entity entity) { this.server = server; -@@ -860,6 +861,32 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -853,6 +854,32 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return this.getHandle().getVehicle().getBukkitEntity(); } @@ -3561,7 +3580,7 @@ index 6807507017bbb171657ba230223f281b083da28a..db585082251005e2d2f861a0b292f229 @Override public void setCustomName(String name) { // sane limit for name length -@@ -939,6 +966,17 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -932,6 +959,17 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { public String getName() { return CraftChatMessage.fromComponent(this.getHandle().getName()); } @@ -3580,10 +3599,10 @@ index 6807507017bbb171657ba230223f281b083da28a..db585082251005e2d2f861a0b292f229 @Override public boolean isPermissionSet(String name) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index 32e1b60876482035c9fbd0dfc5d1a47947eabb38..d39869056d0ac57279e0e9e479ace4a7d402a941 100644 +index 3421498e8e5fe2e22d6b31d9cf6b3337553e1c5f..abe978078270a45f7e77eb2b8a99309f12ca51ee 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -@@ -322,9 +322,12 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -320,9 +320,12 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { container = CraftEventFactory.callInventoryOpenEvent(player, container); if (container == null) return; @@ -3598,7 +3617,7 @@ index 32e1b60876482035c9fbd0dfc5d1a47947eabb38..d39869056d0ac57279e0e9e479ace4a7 player.containerMenu = container; player.initMenu(container); } -@@ -393,8 +396,12 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -391,8 +394,12 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { // Now open the window MenuType windowType = CraftContainer.getNotchInventoryType(inventory.getTopInventory()); @@ -3632,10 +3651,10 @@ index 446fdca49a5a6999626a7ee3a1d5c168b15a09dd..f9863e138994f6c7a7975a852f106faa public boolean isOp() { return true; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 242b6cb2ac775b4fc687a5a62011b53ab7bde7f6..e087ec1f456a8eff1071700fb98eac792ebb8d19 100644 +index bab41176551656947be4bea4fec3ec82e51146e2..e37f69880c4b439245d7edb4c35418ed3da27a5f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -285,14 +285,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -282,14 +282,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public String getDisplayName() { @@ -3675,7 +3694,7 @@ index 242b6cb2ac775b4fc687a5a62011b53ab7bde7f6..e087ec1f456a8eff1071700fb98eac79 @Override public String getPlayerListName() { return this.getHandle().listName == null ? getName() : CraftChatMessage.fromComponent(this.getHandle().listName); -@@ -311,42 +336,42 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -308,42 +333,42 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } } @@ -3727,7 +3746,7 @@ index 242b6cb2ac775b4fc687a5a62011b53ab7bde7f6..e087ec1f456a8eff1071700fb98eac79 this.getHandle().connection.send(packet); } -@@ -378,6 +403,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -375,6 +400,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().connection.disconnect(message == null ? "" : message); } @@ -3750,8 +3769,8 @@ index 242b6cb2ac775b4fc687a5a62011b53ab7bde7f6..e087ec1f456a8eff1071700fb98eac79 + @Override public void setCompassTarget(Location loc) { - if (this.getHandle().connection == null) return; -@@ -711,6 +753,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player { + Preconditions.checkArgument(loc != null, "Location cannot be null"); +@@ -669,6 +711,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().connection.send(packet); } @@ -3764,8 +3783,8 @@ index 242b6cb2ac775b4fc687a5a62011b53ab7bde7f6..e087ec1f456a8eff1071700fb98eac79 + if (lines == null) { + lines = new java.util.ArrayList<>(4); + } -+ Validate.notNull(loc, "Location cannot be null"); -+ Validate.notNull(dyeColor, "DyeColor cannot be null"); ++ Preconditions.checkArgument(loc != null, "Location cannot be null"); ++ Preconditions.checkArgument(dyeColor != null, "DyeColor cannot be null"); + if (lines.size() < 4) { + throw new IllegalArgumentException("Must have at least 4 lines"); + } @@ -3776,8 +3795,8 @@ index 242b6cb2ac775b4fc687a5a62011b53ab7bde7f6..e087ec1f456a8eff1071700fb98eac79 @Override public void sendSignChange(Location loc, String[] lines) { this.sendSignChange(loc, lines, DyeColor.BLACK); -@@ -738,6 +798,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { - } +@@ -692,6 +752,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { + if (this.getHandle().connection == null) return; Component[] components = CraftSign.sanitizeLines(lines); + // Paper start - adventure @@ -3788,7 +3807,7 @@ index 242b6cb2ac775b4fc687a5a62011b53ab7bde7f6..e087ec1f456a8eff1071700fb98eac79 SignBlockEntity sign = new SignBlockEntity(CraftLocation.toBlockPosition(loc), Blocks.OAK_SIGN.defaultBlockState()); SignText text = sign.getFrontText(); text.setColor(net.minecraft.world.item.DyeColor.byId(dyeColor.getWoolData())); -@@ -746,7 +811,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -700,7 +765,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player { text.setMessage(i, components[i]); } @@ -3798,7 +3817,7 @@ index 242b6cb2ac775b4fc687a5a62011b53ab7bde7f6..e087ec1f456a8eff1071700fb98eac79 } @Override -@@ -1639,7 +1705,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1590,7 +1656,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setResourcePack(String url) { @@ -3807,7 +3826,7 @@ index 242b6cb2ac775b4fc687a5a62011b53ab7bde7f6..e087ec1f456a8eff1071700fb98eac79 } @Override -@@ -1654,7 +1720,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1605,7 +1671,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setResourcePack(String url, byte[] hash, boolean force) { @@ -3816,17 +3835,17 @@ index 242b6cb2ac775b4fc687a5a62011b53ab7bde7f6..e087ec1f456a8eff1071700fb98eac79 } @Override -@@ -1670,6 +1736,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1621,6 +1687,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } } + // Paper start + @Override + public void setResourcePack(String url, byte[] hashBytes, net.kyori.adventure.text.Component prompt, boolean force) { -+ Validate.notNull(url, "Resource pack URL cannot be null"); ++ Preconditions.checkArgument(url != null, "Resource pack URL cannot be null"); + final String hash; + if (hashBytes != null) { -+ Validate.isTrue(hashBytes.length == 20, "Resource pack hash should be 20 bytes long but was " + hashBytes.length); ++ Preconditions.checkArgument(hashBytes.length == 20, "Resource pack hash should be 20 bytes long but was " + hashBytes.length); + hash = BaseEncoding.base16().lowerCase().encode(hashBytes); + } else { + hash = ""; @@ -3838,7 +3857,7 @@ index 242b6cb2ac775b4fc687a5a62011b53ab7bde7f6..e087ec1f456a8eff1071700fb98eac79 public void addChannel(String channel) { Preconditions.checkState(this.channels.size() < 128, "Cannot register channel '%s'. Too many channels registered!", channel); channel = StandardMessenger.validateAndCorrectChannel(channel); -@@ -2074,6 +2155,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2012,6 +2093,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return (this.getHandle().clientViewDistance == null) ? Bukkit.getViewDistance() : this.getHandle().clientViewDistance; } @@ -3851,7 +3870,7 @@ index 242b6cb2ac775b4fc687a5a62011b53ab7bde7f6..e087ec1f456a8eff1071700fb98eac79 @Override public int getPing() { return this.getHandle().latency; -@@ -2124,6 +2211,252 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2062,6 +2149,252 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.getHandle().allowsListing(); } @@ -4127,7 +4146,7 @@ index 2becf197a5c2d94f23f72a9b20cb2cd05a0807df..99096c1e3f045e4a99335faedfb8e77e @Override public int getLineWidth() { diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 3c3d5a527604d6f14abb1815816153747fcc0839..1b9a08098199f305606289724ee047e8075ffcea 100644 +index 5f994a64bf29545a528b91604c1f2e19bcfd9b2f..e0bb58d92e47516138261a673b56c5f8ce68a59c 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -838,9 +838,9 @@ public class CraftEventFactory { @@ -4170,7 +4189,7 @@ index 7cd70d53e5816938beab9019db40cd7faedba745..8ea031537c27b219c22316bff191670c public String getTitle() { return title; diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryCustom.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryCustom.java -index 6486a76466691f958349a4706d7c9caff9cb8f64..f3ebaefd949ae73afad3dcb69b8d9c632cc782f7 100644 +index c9cc23757a9fcc58d30b2915d4c5cfbc7d1c767a..fc0e1212022d1aa3506699b60ef338196eb54eba 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryCustom.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryCustom.java @@ -19,6 +19,12 @@ public class CraftInventoryCustom extends CraftInventory { @@ -4218,7 +4237,7 @@ index 6486a76466691f958349a4706d7c9caff9cb8f64..f3ebaefd949ae73afad3dcb69b8d9c63 this(owner, type.getDefaultSize(), type.getDefaultTitle()); this.type = type; @@ -57,11 +77,24 @@ public class CraftInventoryCustom extends CraftInventory { - Validate.notNull(title, "Title cannot be null"); + Preconditions.checkArgument(title != null, "title cannot be null"); this.items = NonNullList.withSize(size, ItemStack.EMPTY); this.title = title; + this.adventure$title = net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().deserialize(title); @@ -4229,7 +4248,7 @@ index 6486a76466691f958349a4706d7c9caff9cb8f64..f3ebaefd949ae73afad3dcb69b8d9c63 + // Paper start + public MinecraftInventory(final InventoryHolder owner, final int size, final net.kyori.adventure.text.Component title) { -+ Validate.notNull(title, "Title cannot be null"); ++ Preconditions.checkArgument(title != null, "Title cannot be null"); + this.items = NonNullList.withSize(size, ItemStack.EMPTY); + this.title = net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().serialize(title); + this.adventure$title = title; @@ -4274,10 +4293,10 @@ index 4dd9a80af9901287ab6740b072f2b89678c3d0cb..b2586684295b295a3196a2a9cf724cec public String getTitle() { return this.title; diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -index 4f9be48ebe8ec71272b19c9ab43c293cc069011f..6e050a5cbb877c85595fc97a569c2aafb272ad41 100644 +index fb58cfd68c8ababbf9486c9a5a1795b1ac9d5817..b187c4f436ac44a529675869dbf5bfddc4fac86f 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -@@ -442,4 +442,17 @@ public final class CraftItemFactory implements ItemFactory { +@@ -437,4 +437,17 @@ public final class CraftItemFactory implements ItemFactory { public Material updateMaterial(ItemMeta meta, Material material) throws IllegalArgumentException { return ((CraftMetaItem) meta).updateMaterial(material); } @@ -4296,7 +4315,7 @@ index 4f9be48ebe8ec71272b19c9ab43c293cc069011f..6e050a5cbb877c85595fc97a569c2aaf + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantCustom.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantCustom.java -index a0334ec0a80dfc4f1e68c2e338aa486faaefb29e..257776a12ca26c1e75be22a67c94b0aa012fd687 100644 +index 9e05a8515c5f6f340182e91150fcad8bbf80a22b..adf22ce4f0bcd3bd57dc2030c6c92d3df96566e3 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantCustom.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantCustom.java @@ -13,10 +13,17 @@ import org.bukkit.craftbukkit.util.CraftChatMessage; @@ -4323,12 +4342,12 @@ index a0334ec0a80dfc4f1e68c2e338aa486faaefb29e..257776a12ca26c1e75be22a67c94b0aa + @Deprecated // Paper - Adventure public MinecraftMerchant(String title) { - Validate.notNull(title, "Title cannot be null"); + Preconditions.checkArgument(title != null, "Title cannot be null"); this.title = CraftChatMessage.fromString(title)[0]; } + // Paper start + public MinecraftMerchant(net.kyori.adventure.text.Component title) { -+ Validate.notNull(title, "Title cannot be null"); ++ Preconditions.checkArgument(title != null, "Title cannot be null"); + this.title = io.papermc.paper.adventure.PaperAdventure.asVanilla(title); + } + // Paper end @@ -4336,12 +4355,12 @@ index a0334ec0a80dfc4f1e68c2e338aa486faaefb29e..257776a12ca26c1e75be22a67c94b0aa @Override public CraftMerchant getCraftMerchant() { diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java -index 4154b4489be172f1ef1693b54368b7ffc8629c31..e8413ad360e9b6c4eef13edf9dd0095e7e64bce2 100644 +index bd4524fd987877a287680cfa5744ce12045ebfbd..cf928745c36af0e6fa0a95e177395c5fb1aa821a 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java -@@ -1,8 +1,9 @@ - package org.bukkit.craftbukkit.inventory; +@@ -2,8 +2,9 @@ package org.bukkit.craftbukkit.inventory; + import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap.Builder; import com.google.common.collect.Lists; @@ -4379,7 +4398,7 @@ index 4154b4489be172f1ef1693b54368b7ffc8629c31..e8413ad360e9b6c4eef13edf9dd0095e + + @Override + public net.kyori.adventure.text.Component page(final int page) { -+ Validate.isTrue(isValidPage(page), "Invalid page number"); ++ Preconditions.checkArgument(isValidPage(page), "Invalid page number"); + return this instanceof CraftMetaBookSigned ? net.kyori.adventure.text.serializer.gson.GsonComponentSerializer.gson().deserialize(pages.get(page - 1)) : net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().deserialize(pages.get(page - 1)); + } + @@ -4495,8 +4514,8 @@ index 4154b4489be172f1ef1693b54368b7ffc8629c31..e8413ad360e9b6c4eef13edf9dd0095e + // Paper end @Override public String getPage(final int page) { - Validate.isTrue(this.isValidPage(page), "Invalid page number"); -@@ -405,7 +545,7 @@ public class CraftMetaBook extends CraftMetaItem implements BookMeta { + Preconditions.checkArgument(this.isValidPage(page), "Invalid page number (%s)", page); +@@ -402,7 +542,7 @@ public class CraftMetaBook extends CraftMetaItem implements BookMeta { } @Override @@ -4549,10 +4568,10 @@ index 507fa96a3fb904b74429df5756c9a6378ec8c5b7..abb9e88abc74135284b941e040d40586 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 5fab8014b0ae3d56610aeaaa21a8c1ba6f7f1bfd..16dd61b832d7b6519786072e41cdde9df3ab8e7f 100644 +index 02856de529023f4d63440e2f2cef28e41f2103a7..b01c268d179591a0113e4bfb46f3d6d22933efaf 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -750,6 +750,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -749,6 +749,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { return !(this.hasDisplayName() || this.hasLocalizedName() || this.hasEnchants() || (this.lore != null) || this.hasCustomModelData() || this.hasBlockData() || this.hasRepairCost() || !this.unhandledTags.isEmpty() || !this.persistentDataContainer.isEmpty() || this.hideFlag != 0 || this.isUnbreakable() || this.hasDamage() || this.hasAttributeModifiers()); } @@ -4571,7 +4590,7 @@ index 5fab8014b0ae3d56610aeaaa21a8c1ba6f7f1bfd..16dd61b832d7b6519786072e41cdde9d @Override public String getDisplayName() { return CraftChatMessage.fromJSONComponent(displayName); -@@ -785,6 +797,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -784,6 +796,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { return this.lore != null && !this.lore.isEmpty(); } @@ -4734,7 +4753,7 @@ index b47f18b1e448807a17ca9f2ae9609680233da837..9683d7d103af66fffd68c11abc38fb4f } diff --git a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftObjective.java b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftObjective.java -index 0d25c7c03f7ac21a4b21bb95b5bd921c43430cf9..b7f0277b50a0f45c32b818bf9fe1218874aa8533 100644 +index b49cc2880fbecfd48d07c2e390c9e2aa2e09b848..de5f382656f9fd08f6ae1795c69743c604d62d5c 100644 --- a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftObjective.java +++ b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftObjective.java @@ -31,6 +31,21 @@ final class CraftObjective extends CraftScoreboardComponent implements Objective @@ -4758,12 +4777,12 @@ index 0d25c7c03f7ac21a4b21bb95b5bd921c43430cf9..b7f0277b50a0f45c32b818bf9fe12188 + // Paper end @Override public String getDisplayName() throws IllegalStateException { - CraftScoreboard scoreboard = this.checkState(); + this.checkState(); diff --git a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboard.java b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboard.java -index c624867e28dd5187d58a6bcb9067b0c10ff7e733..f367261b119ab48c1d17b2b6552cce481c6effbb 100644 +index f978617eaa74ff1fa0ab0acec3b6ccd14e2db55d..2471a6d0b7a8086cf4c0a41b10c05ed50d790d11 100644 --- a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboard.java +++ b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboard.java -@@ -28,6 +28,34 @@ public final class CraftScoreboard implements org.bukkit.scoreboard.Scoreboard { +@@ -27,6 +27,33 @@ public final class CraftScoreboard implements org.bukkit.scoreboard.Scoreboard { public CraftObjective registerNewObjective(String name, String criteria) throws IllegalArgumentException { return this.registerNewObjective(name, criteria, name); } @@ -4785,12 +4804,11 @@ index c624867e28dd5187d58a6bcb9067b0c10ff7e733..f367261b119ab48c1d17b2b6552cce48 + if (displayName == null) { + displayName = net.kyori.adventure.text.Component.empty(); + } -+ Validate.notNull(name, "Objective name cannot be null"); -+ Validate.notNull(criteria, "Criteria cannot be null"); -+ Validate.notNull(displayName, "Display name cannot be null"); -+ Validate.notNull(renderType, "RenderType cannot be null"); -+ Validate.isTrue(name.length() <= Short.MAX_VALUE, "The name '" + name + "' is longer than the limit of 32767 characters"); -+ Validate.isTrue(board.getObjective(name) == null, "An objective of name '" + name + "' already exists"); ++ Preconditions.checkArgument(name != null, "Objective name cannot be null"); ++ Preconditions.checkArgument(criteria != null, "Criteria cannot be null"); ++ Preconditions.checkArgument(renderType != null, "RenderType cannot be null"); ++ Preconditions.checkArgument(name.length() <= Short.MAX_VALUE, "The name '%s' is longer than the limit of 32767 characters (%s)", name, name.length()); ++ Preconditions.checkArgument(this.board.getObjective(name) == null, "An objective of name '%s' already exists", name); + net.minecraft.world.scores.Objective objective = board.addObjective(name, ((CraftCriteria) criteria).criteria, io.papermc.paper.adventure.PaperAdventure.asVanilla(displayName), CraftScoreboardTranslations.fromBukkitRender(renderType)); + return new CraftObjective(this, objective); + } @@ -4798,17 +4816,17 @@ index c624867e28dd5187d58a6bcb9067b0c10ff7e733..f367261b119ab48c1d17b2b6552cce48 @Override public CraftObjective registerNewObjective(String name, String criteria, String displayName) throws IllegalArgumentException { -@@ -46,16 +74,7 @@ public final class CraftScoreboard implements org.bukkit.scoreboard.Scoreboard { +@@ -45,16 +72,7 @@ public final class CraftScoreboard implements org.bukkit.scoreboard.Scoreboard { @Override public CraftObjective registerNewObjective(String name, Criteria criteria, String displayName, RenderType renderType) throws IllegalArgumentException { -- Validate.notNull(name, "Objective name cannot be null"); -- Validate.notNull(criteria, "Criteria cannot be null"); -- Validate.notNull(displayName, "Display name cannot be null"); -- Validate.notNull(renderType, "RenderType cannot be null"); -- Validate.isTrue(name.length() <= Short.MAX_VALUE, "The name '" + name + "' is longer than the limit of 32767 characters"); -- Validate.isTrue(displayName.length() <= 128, "The display name '" + displayName + "' is longer than the limit of 128 characters"); -- Validate.isTrue(this.board.getObjective(name) == null, "An objective of name '" + name + "' already exists"); +- Preconditions.checkArgument(name != null, "Objective name cannot be null"); +- Preconditions.checkArgument(criteria != null, "Criteria cannot be null"); +- Preconditions.checkArgument(displayName != null, "Display name cannot be null"); +- Preconditions.checkArgument(renderType != null, "RenderType cannot be null"); +- Preconditions.checkArgument(name.length() <= Short.MAX_VALUE, "The name '%s' is longer than the limit of 32767 characters (%s)", name, name.length()); +- Preconditions.checkArgument(displayName.length() <= 128, "The display name '%s' is longer than the limit of 128 characters (%s)", displayName, displayName.length()); +- Preconditions.checkArgument(this.board.getObjective(name) == null, "An objective of name '%s' already exists", name); - - net.minecraft.world.scores.Objective objective = this.board.addObjective(name, ((CraftCriteria) criteria).criteria, CraftChatMessage.fromStringOrNull(displayName), CraftScoreboardTranslations.fromBukkitRender(renderType)); - return new CraftObjective(this, objective); @@ -4817,10 +4835,10 @@ index c624867e28dd5187d58a6bcb9067b0c10ff7e733..f367261b119ab48c1d17b2b6552cce48 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftTeam.java b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftTeam.java -index 81f16dc1ed6e102af298600db75cab21a09bc00f..18d5a26c34c848241c306241b3ad9825b5a0b9a9 100644 +index 4de9d57559e3787089a542fd912e5b28973fe73e..772206a43950db2726bd79911438e2aec2d7189c 100644 --- a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftTeam.java +++ b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftTeam.java -@@ -28,6 +28,63 @@ final class CraftTeam extends CraftScoreboardComponent implements Team { +@@ -26,6 +26,63 @@ final class CraftTeam extends CraftScoreboardComponent implements Team { return this.team.getName(); } @@ -4897,7 +4915,7 @@ index 78ea79b66cc9e90402ef5cdc2e5e04e0c74b1c26..4fede2161792ba3e7cdf0cc5a1f53318 boolean hadFormat = false; diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 381cfd86fc1158dc9a7c1e76c3ada962b0964373..0137b414a75894cb8b8413f96eba4f591453f61b 100644 +index fee5c6809ea3d4ebe1b17fb8da580f3b058d7363..a3cb26b4ba108b3c621f74034480a522492fdf2f 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -74,6 +74,43 @@ public final class CraftMagicNumbers implements UnsafeValues { @@ -4958,18 +4976,16 @@ index 62c66e3179b9557cdba46242df0fb15bce7e7710..73a37638abacdffbff8274291a64ea6c public boolean isLazy() { return this.reference == null; diff --git a/src/main/java/org/bukkit/craftbukkit/util/LazyPlayerSet.java b/src/main/java/org/bukkit/craftbukkit/util/LazyPlayerSet.java -index 838d5b877c01be3ef353f434d98e27b46c0a3fb4..5c4c0ba05f10d2d83b22d3e86805cfa85c3b50a9 100644 +index 75bc9ea10d80270217e4c75da98257a217b20097..673ab940fb53d42f6b6dbfe048d0281c4f508b0d 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/LazyPlayerSet.java +++ b/src/main/java/org/bukkit/craftbukkit/util/LazyPlayerSet.java -@@ -15,11 +15,17 @@ public class LazyPlayerSet extends LazyHashSet { +@@ -16,9 +16,15 @@ public class LazyPlayerSet extends LazyHashSet { } @Override - HashSet makeReference() { + protected HashSet makeReference() { // Paper - protected - if (reference != null) { - throw new IllegalStateException("Reference already created!"); - } + Preconditions.checkState(reference == null, "Reference already created!"); List players = this.server.getPlayerList().players; + // Paper start + return makePlayerSet(this.server); diff --git a/patches/server/0011-Paper-command.patch b/patches/server/0011-Paper-command.patch index 8bd8dd2e52..145c4b9074 100644 --- a/patches/server/0011-Paper-command.patch +++ b/patches/server/0011-Paper-command.patch @@ -615,10 +615,10 @@ index 2ac30ef2dd72582f2b7f6a05b1f94b12b44fafc9..a01d423f44b3e547b4fa4d6654f9df63 this.setPvpAllowed(dedicatedserverproperties.pvp); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 7d95f4e919f46fd415a3cf88b1bb7c163c5065ec..182c3a3852726172dfe97f2b989323001c6efad8 100644 +index 85867893da6bb4f24e86c32ea9fd5ff5b5684dbb..de9e4fd6a11b06e685804e43657d8b6589c6ca1c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -927,6 +927,7 @@ public final class CraftServer implements Server { +@@ -934,6 +934,7 @@ public final class CraftServer implements Server { this.commandMap.clearCommands(); this.reloadData(); org.spigotmc.SpigotConfig.registerCommands(); // Spigot @@ -626,7 +626,7 @@ index 7d95f4e919f46fd415a3cf88b1bb7c163c5065ec..182c3a3852726172dfe97f2b98932300 this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*"); this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions"); -@@ -2495,6 +2496,34 @@ public final class CraftServer implements Server { +@@ -2516,6 +2517,34 @@ public final class CraftServer implements Server { // Paper end // Paper start diff --git a/patches/server/0013-Paper-Plugins.patch b/patches/server/0013-Paper-Plugins.patch index 263bebcb9a..f2fac081cc 100644 --- a/patches/server/0013-Paper-Plugins.patch +++ b/patches/server/0013-Paper-Plugins.patch @@ -6973,10 +6973,10 @@ index 35e7f8e7b19c217fa5f3f55abb0f8b9cd6b16f18..72c2f0bf9434e09a0dd51294d3a2200f Bootstrap.validate(); Util.startTimerHackThread(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 182c3a3852726172dfe97f2b989323001c6efad8..1dc5dc35830437a8511b6fbaf96201ea7228aa59 100644 +index de9e4fd6a11b06e685804e43657d8b6589c6ca1c..5efe98cbcb44727fbbb195ff7007d01c823372b6 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -269,7 +269,8 @@ public final class CraftServer implements Server { +@@ -268,7 +268,8 @@ public final class CraftServer implements Server { private final CraftCommandMap commandMap = new CraftCommandMap(this); private final SimpleHelpMap helpMap = new SimpleHelpMap(this); private final StandardMessenger messenger = new StandardMessenger(); @@ -6986,7 +6986,7 @@ index 182c3a3852726172dfe97f2b989323001c6efad8..1dc5dc35830437a8511b6fbaf96201ea private final StructureManager structureManager; protected final DedicatedServer console; protected final DedicatedPlayerList playerList; -@@ -419,24 +420,7 @@ public final class CraftServer implements Server { +@@ -418,24 +419,7 @@ public final class CraftServer implements Server { } public void loadPlugins() { @@ -7012,7 +7012,7 @@ index 182c3a3852726172dfe97f2b989323001c6efad8..1dc5dc35830437a8511b6fbaf96201ea } public void enablePlugins(PluginLoadOrder type) { -@@ -525,15 +509,17 @@ public final class CraftServer implements Server { +@@ -524,15 +508,17 @@ public final class CraftServer implements Server { private void enablePlugin(Plugin plugin) { try { List perms = plugin.getDescription().getPermissions(); @@ -7036,7 +7036,7 @@ index 182c3a3852726172dfe97f2b989323001c6efad8..1dc5dc35830437a8511b6fbaf96201ea this.pluginManager.enablePlugin(plugin); } catch (Throwable ex) { -@@ -951,6 +937,7 @@ public final class CraftServer implements Server { +@@ -958,6 +944,7 @@ public final class CraftServer implements Server { "This plugin is not properly shutting down its async tasks when it is being reloaded. This may cause conflicts with the newly loaded version of the plugin" )); } @@ -7062,10 +7062,10 @@ index 909b2c98e7a9117d2f737245e4661792ffafb744..d96399e9bf1a58db5a4a22e58abb99e7 @Override public FileConfiguration getConfig() { diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 0137b414a75894cb8b8413f96eba4f591453f61b..39a9a47ce7150445e1b00a32152c0429b3114302 100644 +index a3cb26b4ba108b3c621f74034480a522492fdf2f..23d594d7e24389e99f7c589d4cd7d6f3987d42c4 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -439,6 +439,12 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -437,6 +437,12 @@ public final class CraftMagicNumbers implements UnsafeValues { net.minecraft.world.item.ItemStack nmsItemStack = CraftItemStack.asNMSCopy(itemStack); return nmsItemStack.getItem().getDescriptionId(nmsItemStack); } diff --git a/patches/server/0014-Timings-v2.patch b/patches/server/0014-Timings-v2.patch index c3a9827a13..ac01109fe4 100644 --- a/patches/server/0014-Timings-v2.patch +++ b/patches/server/0014-Timings-v2.patch @@ -732,7 +732,7 @@ index fc4dcd801480fe6d89a985de411baa9a3a66f6ef..4a1148a76020089caf01f888f87afdbb } catch (Exception exception) { if (listener.shouldPropagateHandlingExceptions()) { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 2d35572157b28f2e637d9b47a82c5e7adecde96e..96897d883671e018bae5f71545c5f7af205e309c 100644 +index 3250a9310b57351d6d832a8ef42837d990cf6c99..f0cd94f877a83485ab8e96e1c4e00bf658f227b7 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -189,7 +189,7 @@ import org.bukkit.event.player.AsyncPlayerChatPreviewEvent; @@ -744,7 +744,7 @@ index 2d35572157b28f2e637d9b47a82c5e7adecde96e..96897d883671e018bae5f71545c5f7af public abstract class MinecraftServer extends ReentrantBlockableEventLoop implements CommandSource, AutoCloseable { -@@ -863,6 +863,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop= 5000000000L) { -@@ -1209,15 +1230,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0 && this.tickCount % this.autosavePeriod == 0) { // CraftBukkit @@ -826,7 +826,7 @@ index 2d35572157b28f2e637d9b47a82c5e7adecde96e..96897d883671e018bae5f71545c5f7af this.profiler.push("tallying"); long j = this.tickTimes[this.tickCount % 100] = Util.getNanos() - i; -@@ -1227,8 +1251,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index b7abac39ea685db1672dc7ba527bce8bfe025f8b..3e5d541d3d7fc3956b2fc68da9f22a0ab0367ce9 100644 +index 7cdfd82fdef19d5732ebc2126e2c377b441de596..ebd48f9977553174b14bdc7429c07d8352f5a297 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java @@ -27,7 +27,7 @@ import net.minecraft.world.entity.projectile.ThrownTrident; diff --git a/patches/server/0018-Add-command-line-option-to-load-extra-plugin-jars-no.patch b/patches/server/0018-Add-command-line-option-to-load-extra-plugin-jars-no.patch index dbe45b6367..61c2c430d5 100644 --- a/patches/server/0018-Add-command-line-option-to-load-extra-plugin-jars-no.patch +++ b/patches/server/0018-Add-command-line-option-to-load-extra-plugin-jars-no.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Add command line option to load extra plugin jars not in the ex: java -jar paperclip.jar nogui -add-plugin=/path/to/plugin.jar -add-plugin=/path/to/another/plugin_jar.jar diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index e982442204972e140f0e5ebac777a931ea7394e2..7912cf0e4cab7d6c99106d43b2cdc4f4e80aebac 100644 +index 3338b424ca228693c199d022c01a81f9e2f9af0b..e9c2d5fad36e38ff1f0b34cacb9ea32516667948 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -423,6 +423,35 @@ public final class CraftServer implements Server { +@@ -422,6 +422,35 @@ public final class CraftServer implements Server { io.papermc.paper.plugin.entrypoint.LaunchEntryPointHandler.INSTANCE.enter(io.papermc.paper.plugin.entrypoint.Entrypoint.PLUGIN); // Paper - replace implementation } diff --git a/patches/server/0019-Rewrite-chunk-system.patch b/patches/server/0019-Rewrite-chunk-system.patch index 8821599536..68ccf237b6 100644 --- a/patches/server/0019-Rewrite-chunk-system.patch +++ b/patches/server/0019-Rewrite-chunk-system.patch @@ -16798,10 +16798,10 @@ index 72c2f0bf9434e09a0dd51294d3a2200f1e0ed1b1..5d56c35d6d3478dbc53e4f5c3547d4dc DedicatedServer dedicatedserver1 = new DedicatedServer(optionset, worldLoader.get(), thread, convertable_conversionsession, resourcepackrepository, worldstem, dedicatedserversettings, DataFixers.getDataFixer(), services, LoggerChunkProgressListener::new); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 96897d883671e018bae5f71545c5f7af205e309c..164ce278f2696d4be6b57404648cb0e856464589 100644 +index f0cd94f877a83485ab8e96e1c4e00bf658f227b7..bea4e947577ee2f5fd680eb932409283f8504ee7 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -302,7 +302,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop S spin(Function serverFactory) { AtomicReference atomicreference = new AtomicReference(); @@ -16810,7 +16810,7 @@ index 96897d883671e018bae5f71545c5f7af205e309c..164ce278f2696d4be6b57404648cb0e8 ((MinecraftServer) atomicreference.get()).runServer(); }, "Server thread"); -@@ -585,7 +585,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 5000L && this.nextTickTime - this.lastOverloadWarning >= 30000L) { // CraftBukkit -@@ -1101,6 +1090,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop getPluginChunkTickets(int x, int z) { DistanceManager chunkDistanceManager = this.world.getChunkSource().chunkMap.distanceManager; @@ -22699,7 +22699,7 @@ index 711dbf6e5cf9b4ffabaab2bcf10f13711683a61e..7b6673c18d77dc03038924008775f73b } @Override -@@ -433,7 +423,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -432,7 +422,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { Map> ret = new HashMap<>(); DistanceManager chunkDistanceManager = this.world.getChunkSource().chunkMap.distanceManager; @@ -22708,7 +22708,7 @@ index 711dbf6e5cf9b4ffabaab2bcf10f13711683a61e..7b6673c18d77dc03038924008775f73b long chunkKey = chunkTickets.getLongKey(); SortedArraySet> tickets = chunkTickets.getValue(); -@@ -1957,14 +1947,53 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1964,14 +1954,53 @@ public class CraftWorld extends CraftRegionAccessor implements World { // Spigot start @Override public int getViewDistance() { @@ -22765,10 +22765,10 @@ index 711dbf6e5cf9b4ffabaab2bcf10f13711683a61e..7b6673c18d77dc03038924008775f73b // Spigot start private final org.bukkit.World.Spigot spigot = new org.bukkit.World.Spigot() diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 11aebe27875a30dfc6bd82d486d0d79bfe2e77a1..977011bd42a5b2ffe4cd6567c058860a7f3fd48b 100644 +index 3c6617170c618800940d5826c7e73a3ac7f32e19..6894e5b29b4c59cdb46cfd8862709087cb97b923 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -184,6 +184,48 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -183,6 +183,48 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.firstPlayed = System.currentTimeMillis(); } @@ -22856,7 +22856,7 @@ index 629178347039893fb9de710810fe8112499bb91c..d5861dfa771c4eb217e082e3c832c3a6 + // Paper end } diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index 3e5d541d3d7fc3956b2fc68da9f22a0ab0367ce9..b47b740186c200c420dcb4d1537a93c743a887c1 100644 +index ebd48f9977553174b14bdc7429c07d8352f5a297..6606a118e7bff01aa51440aea7540ec9feec6cc5 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java @@ -132,7 +132,13 @@ public class ActivationRange diff --git a/patches/server/0027-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch b/patches/server/0027-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch index b97c0d5e4c..7b02cfa772 100644 --- a/patches/server/0027-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch +++ b/patches/server/0027-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Show 'Paper' in client crashes, server lists, and Mojang diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 164ce278f2696d4be6b57404648cb0e856464589..4d5a8c051ab7746ed40d5b79558e86238618827c 100644 +index bea4e947577ee2f5fd680eb932409283f8504ee7..b9a49f92e38daf4f80b6d3bf465eb9d249606976 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1460,7 +1460,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop processQueue = new java.util.concurrent.ConcurrentLinkedQueue(); public int autosavePeriod; public Commands vanillaCommandDispatcher; -@@ -294,7 +294,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 5000L && this.nextTickTime - this.lastOverloadWarning >= 30000L) { // CraftBukkit long j = i / 50L; -@@ -990,12 +1042,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index d72e8df4f99b6219ea305742f0cf8d1c1985ffd6..ddd437906801973e11386294e7e3f6846cc11cbc 100644 +index 023482c1662e42305cc4ca12ffdff1e36397ed15..95d84f9a524ef0705875987c3781a0d73189dfbb 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2041,7 +2041,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2044,7 +2044,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic return true; } @@ -33,7 +33,7 @@ index d72e8df4f99b6219ea305742f0cf8d1c1985ffd6..ddd437906801973e11386294e7e3f684 for (int i = 0; i < message.length(); ++i) { if (!SharedConstants.isAllowedChatCharacter(message.charAt(i))) { return true; -@@ -2058,7 +2058,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2061,7 +2061,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } OutgoingChatMessage outgoing = OutgoingChatMessage.create(original); @@ -42,7 +42,7 @@ index d72e8df4f99b6219ea305742f0cf8d1c1985ffd6..ddd437906801973e11386294e7e3f684 this.handleCommand(s); } else if (this.player.getChatVisibility() == ChatVisiblity.SYSTEM) { // Do nothing, this is coming from a plugin -@@ -2148,7 +2148,29 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2151,7 +2151,29 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } } @@ -74,11 +74,11 @@ index d72e8df4f99b6219ea305742f0cf8d1c1985ffd6..ddd437906801973e11386294e7e3f684 if ( org.spigotmc.SpigotConfig.logCommands ) // Spigot this.LOGGER.info(this.player.getScoreboardName() + " issued server command: " + s); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index fb6ea46609489d802ed4b76b4074734dd3e3886f..dd3935eeceba456b37a5fbcb874c1073bb76d473 100644 +index 9da9b5b4b92996240cc93be2db82bf3a931e76c1..c84e32f53783b2e00b829ce839894c0a3a73325e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -875,6 +875,28 @@ public final class CraftServer implements Server { - Validate.notNull(commandLine, "CommandLine cannot be null"); +@@ -882,6 +882,28 @@ public final class CraftServer implements Server { + Preconditions.checkArgument(commandLine != null, "commandLine cannot be null"); org.spigotmc.AsyncCatcher.catchOp("command dispatch"); // Spigot + // Paper Start @@ -107,11 +107,11 @@ index fb6ea46609489d802ed4b76b4074734dd3e3886f..dd3935eeceba456b37a5fbcb874c1073 return true; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index f18fa546bf9a045f7b10e8eb898339b2adf8d4a0..15c6c3a6e9d4e371425604667af7cc2b24fae021 100644 +index e67b8e85ae8ad7aba8eabcbcbef0b59b2837e60a..3290e6197e60ed2e9a667ce22a14127bc1ba3f97 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -479,7 +479,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { - public void chat(String msg) { +@@ -480,7 +480,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { + if (this.getHandle().connection == null) return; - this.getHandle().connection.chat(msg, PlayerChatMessage.system(msg), false); diff --git a/patches/server/0054-Expose-server-CommandMap.patch b/patches/server/0054-Expose-server-CommandMap.patch index b64c141857..a937de8515 100644 --- a/patches/server/0054-Expose-server-CommandMap.patch +++ b/patches/server/0054-Expose-server-CommandMap.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose server CommandMap diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index dd3935eeceba456b37a5fbcb874c1073bb76d473..9c80c55e8c15aa847aea134dd8121ee9d0c24d1c 100644 +index c84e32f53783b2e00b829ce839894c0a3a73325e..3d47994c861f70fc560a42dc524a773d9c15cfe0 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2012,6 +2012,7 @@ public final class CraftServer implements Server { +@@ -2020,6 +2020,7 @@ public final class CraftServer implements Server { return this.helpMap; } diff --git a/patches/server/0055-Be-a-bit-more-informative-in-maxHealth-exception.patch b/patches/server/0055-Be-a-bit-more-informative-in-maxHealth-exception.patch index 59b0315e79..1d2852b0ba 100644 --- a/patches/server/0055-Be-a-bit-more-informative-in-maxHealth-exception.patch +++ b/patches/server/0055-Be-a-bit-more-informative-in-maxHealth-exception.patch @@ -5,18 +5,20 @@ Subject: [PATCH] Be a bit more informative in maxHealth exception diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index f6b795ad57aec40231e262549839fa049458c634..1f67ac4484e3ee2e0a25030e0080a671f34e1a58 100644 +index 92831e64cc5f93a13dfede82d44172b3b34a57e3..a112ee18b272e2d5a61ddbb2c884169b6c6d0aec 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -102,7 +102,10 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -100,7 +100,12 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { + @Override public void setHealth(double health) { health = (float) health; - if ((health < 0) || (health > this.getMaxHealth())) { -- throw new IllegalArgumentException("Health must be between 0 and " + this.getMaxHealth() + "(" + health + ")"); -+ // Paper - Be more informative -+ throw new IllegalArgumentException("Health must be between 0 and " + getMaxHealth() + ", but was " + health -+ + ". (attribute base value: " + this.getHandle().getAttribute(Attributes.MAX_HEALTH).getBaseValue() -+ + (this instanceof CraftPlayer ? ", player: " + this.getName() + ')' : ')')); - } +- Preconditions.checkArgument(health >= 0 && health <= this.getMaxHealth(), "Health value (%s) must be between 0 and %s", health, this.getMaxHealth()); ++ // Paper start - Be more informative ++ Preconditions.checkArgument(health >= 0 && health <= this.getMaxHealth(), ++ "Health value (%s) must be between 0 and %s. (attribute base value: %s%s)", ++ health, this.getMaxHealth(), this.getHandle().getAttribute(Attributes.MAX_HEALTH).getBaseValue(), this instanceof CraftPlayer ? ", player: " + this.getName() : "" ++ ); ++ // Paper end // during world generation, we don't want to run logic for dropping items and xp + if (this.getHandle().generation && health == 0) { diff --git a/patches/server/0056-Player-Tab-List-and-Title-APIs.patch b/patches/server/0056-Player-Tab-List-and-Title-APIs.patch index 48800a1b12..b223c5106e 100644 --- a/patches/server/0056-Player-Tab-List-and-Title-APIs.patch +++ b/patches/server/0056-Player-Tab-List-and-Title-APIs.patch @@ -63,7 +63,7 @@ index bd808eb312ade7122973a47f4b96505829511da5..bf0f9cab7c66c089f35b851e799ba4a4 // Paper end buf.writeComponent(this.text); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 15c6c3a6e9d4e371425604667af7cc2b24fae021..73dfea8999a0536e9319a9bfe8d5940dad760709 100644 +index 3290e6197e60ed2e9a667ce22a14127bc1ba3f97..0d8337e5b591cd4d7ba946f01990d7c562bba72a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1,5 +1,6 @@ @@ -73,7 +73,7 @@ index 15c6c3a6e9d4e371425604667af7cc2b24fae021..73dfea8999a0536e9319a9bfe8d5940d import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableSet; import com.google.common.io.BaseEncoding; -@@ -325,6 +326,100 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -322,6 +323,100 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } } diff --git a/patches/server/0058-Add-velocity-warnings.patch b/patches/server/0058-Add-velocity-warnings.patch index 604f376234..1440922180 100644 --- a/patches/server/0058-Add-velocity-warnings.patch +++ b/patches/server/0058-Add-velocity-warnings.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add velocity warnings diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 9c80c55e8c15aa847aea134dd8121ee9d0c24d1c..1cca43506306994e740278a581b0d33924d08491 100644 +index 3d47994c861f70fc560a42dc524a773d9c15cfe0..bf9d7ae4366e44938306e3f8e94376796284a263 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -296,6 +296,7 @@ public final class CraftServer implements Server { +@@ -295,6 +295,7 @@ public final class CraftServer implements Server { public boolean ignoreVanillaPermissions = false; private final List playerView; public int reloadCount; @@ -17,7 +17,7 @@ index 9c80c55e8c15aa847aea134dd8121ee9d0c24d1c..1cca43506306994e740278a581b0d339 static { ConfigurationSerialization.registerClass(CraftOfflinePlayer.class); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 0a6926f9b6be67d4d710d2fbc6bd2b1fcb0677a0..c9275f73be7332f79312037954f9685f6c1f800f 100644 +index 003690e2f347821d28517b816115cc92ea5d0bd6..fa2a6f44a1c25fb6c9a19e83e7eddb2c8d28a320 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -465,10 +465,40 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { diff --git a/patches/server/0059-Configurable-inter-world-teleportation-safety.patch b/patches/server/0059-Configurable-inter-world-teleportation-safety.patch index b68e131508..55a718bc60 100644 --- a/patches/server/0059-Configurable-inter-world-teleportation-safety.patch +++ b/patches/server/0059-Configurable-inter-world-teleportation-safety.patch @@ -16,10 +16,10 @@ The wanted destination was on top of the emerald block however the player ended This only is the case if the player is teleporting between worlds. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 73dfea8999a0536e9319a9bfe8d5940dad760709..2a7a7c5e1490c2922c01c5c397793aa03364bbaf 100644 +index 0d8337e5b591cd4d7ba946f01990d7c562bba72a..5b7ac9efd45009142dd5da6987e2e9dad5cbba7f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1182,7 +1182,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1136,7 +1136,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { entity.connection.teleport(to); } else { // The respawn reason should never be used if the passed location is non null. diff --git a/patches/server/0060-Add-exception-reporting-event.patch b/patches/server/0060-Add-exception-reporting-event.patch index 3e5da0abe4..9fa56529a0 100644 --- a/patches/server/0060-Add-exception-reporting-event.patch +++ b/patches/server/0060-Add-exception-reporting-event.patch @@ -192,34 +192,24 @@ index e68205fe7169c7c5b7c6fdada2ee97d86107ca97..aa8972fd1a1fade05d60ab69efb8ff24 try { filechannel.close(); diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java -index 07c4d9cd5081378e1b903518f7174fca959cd9e3..dfc2789009fcaa08baa8054bdac915590b8701d6 100644 +index fcbf32a233c240dd45f75ee736bd102ce9f79332..833240d2a4936343710a60876a66d01112e15a2c 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java -@@ -17,6 +17,9 @@ import java.util.concurrent.atomic.AtomicReference; - import java.util.function.Consumer; - import java.util.function.IntUnaryOperator; - import java.util.logging.Level; -+import com.destroystokyo.paper.ServerSchedulerReportingWrapper; -+import com.destroystokyo.paper.event.server.ServerExceptionEvent; -+import com.destroystokyo.paper.exception.ServerSchedulerException; - import org.apache.commons.lang.Validate; - import org.bukkit.plugin.IllegalPluginAccessException; - import org.bukkit.plugin.Plugin; -@@ -434,6 +437,8 @@ public class CraftScheduler implements BukkitScheduler { +@@ -434,6 +434,8 @@ public class CraftScheduler implements BukkitScheduler { msg, throwable); } + org.bukkit.Bukkit.getServer().getPluginManager().callEvent( -+ new ServerExceptionEvent(new ServerSchedulerException(msg, throwable, task))); ++ new com.destroystokyo.paper.event.server.ServerExceptionEvent(new com.destroystokyo.paper.exception.ServerSchedulerException(msg, throwable, task))); // Paper end } finally { this.currentTask = null; -@@ -441,7 +446,7 @@ public class CraftScheduler implements BukkitScheduler { +@@ -441,7 +443,7 @@ public class CraftScheduler implements BukkitScheduler { this.parsePending(); } else { this.debugTail = this.debugTail.setNext(new CraftAsyncDebugger(currentTick + CraftScheduler.RECENT_TICKS, task.getOwner(), task.getTaskClass())); - this.executor.execute(task); -+ this.executor.execute(new ServerSchedulerReportingWrapper(task)); // Paper ++ this.executor.execute(new com.destroystokyo.paper.ServerSchedulerReportingWrapper(task)); // Paper // We don't need to parse pending // (async tasks must live with race-conditions if they attempt to cancel between these few lines of code) } diff --git a/patches/server/0063-Add-methods-for-working-with-arrows-stuck-in-living-.patch b/patches/server/0063-Add-methods-for-working-with-arrows-stuck-in-living-.patch index ea0e8d4bb9..99be07e3cc 100644 --- a/patches/server/0063-Add-methods-for-working-with-arrows-stuck-in-living-.patch +++ b/patches/server/0063-Add-methods-for-working-with-arrows-stuck-in-living-.patch @@ -7,10 +7,10 @@ Upstream added methods for this, original methods are now deprecated diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 1f67ac4484e3ee2e0a25030e0080a671f34e1a58..3084fa8000b36f06e8d432bff124a5af4ea675ea 100644 +index a112ee18b272e2d5a61ddbb2c884169b6c6d0aec..fcb07a5f8cac994b731e3345ba9e971faa482fa1 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -266,9 +266,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -265,9 +265,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { } @Override @@ -27,7 +27,7 @@ index 1f67ac4484e3ee2e0a25030e0080a671f34e1a58..3084fa8000b36f06e8d432bff124a5af } @Override -@@ -764,4 +770,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -761,4 +767,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { this.getHandle().persistentInvisibility = invisible; this.getHandle().setSharedFlag(5, invisible); } diff --git a/patches/server/0065-Complete-resource-pack-API.patch b/patches/server/0065-Complete-resource-pack-API.patch index 30a9942957..58a10f7d75 100644 --- a/patches/server/0065-Complete-resource-pack-API.patch +++ b/patches/server/0065-Complete-resource-pack-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Complete resource pack API diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index ddd437906801973e11386294e7e3f6846cc11cbc..a91cc53f9d601bbc51988b2b7855c6ebcc68d780 100644 +index 95d84f9a524ef0705875987c3781a0d73189dfbb..e60d8689e7bec90cb4b8787ff252eb7da39d6a8f 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1755,8 +1755,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1758,8 +1758,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic ServerGamePacketListenerImpl.LOGGER.info("Disconnecting {} due to resource pack rejection", this.player.getName()); this.disconnect(Component.translatable("multiplayer.requiredTexturePrompt.disconnect")); } @@ -23,10 +23,10 @@ index ddd437906801973e11386294e7e3f6846cc11cbc..a91cc53f9d601bbc51988b2b7855c6eb @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 2a7a7c5e1490c2922c01c5c397793aa03364bbaf..0fdc0ecbaeff775359fd192f4be7e20c8c1339f9 100644 +index 5b7ac9efd45009142dd5da6987e2e9dad5cbba7f..c1ad517b8925ee19b3e251a45816e8a7ecc5e3b8 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -178,6 +178,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -177,6 +177,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { private double healthScale = 20; private CraftWorldBorder clientWorldBorder = null; private BorderChangeListener clientWorldBorderListener = this.createWorldBorderListener(); @@ -37,7 +37,7 @@ index 2a7a7c5e1490c2922c01c5c397793aa03364bbaf..0fdc0ecbaeff775359fd192f4be7e20c public CraftPlayer(CraftServer server, ServerPlayer entity) { super(server, entity); -@@ -2334,6 +2338,45 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2272,6 +2276,45 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public boolean getAffectsSpawning() { return this.getHandle().affectsSpawning; } @@ -54,8 +54,8 @@ index 2a7a7c5e1490c2922c01c5c397793aa03364bbaf..0fdc0ecbaeff775359fd192f4be7e20c + + @Override + public void setResourcePack(@NotNull String url, @NotNull String hash, boolean required, net.kyori.adventure.text.Component resourcePackPrompt) { -+ Validate.notNull(url, "Resource pack URL cannot be null"); -+ Validate.notNull(hash, "Hash cannot be null"); ++ Preconditions.checkArgument(url != null, "Resource pack URL cannot be null"); ++ Preconditions.checkArgument(hash != null, "Hash cannot be null"); + net.minecraft.network.chat.Component promptComponent = resourcePackPrompt != null ? + io.papermc.paper.adventure.PaperAdventure.asVanilla(resourcePackPrompt) : + null; diff --git a/patches/server/0066-Default-loading-permissions.yml-before-plugins.patch b/patches/server/0066-Default-loading-permissions.yml-before-plugins.patch index 2e6260b395..ca99eb9d9e 100644 --- a/patches/server/0066-Default-loading-permissions.yml-before-plugins.patch +++ b/patches/server/0066-Default-loading-permissions.yml-before-plugins.patch @@ -16,10 +16,10 @@ modify that. Under the previous logic, plugins were unable (cleanly) override pe A config option has been added for those who depend on the previous behavior, but I don't expect that. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 1cca43506306994e740278a581b0d33924d08491..e509ab35bf8ffba3c1e04f1236f98c24c1e010f4 100644 +index bf9d7ae4366e44938306e3f8e94376796284a263..43c2e3f0db683022179ae4c85703390be5bdb759 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -457,6 +457,7 @@ public final class CraftServer implements Server { +@@ -456,6 +456,7 @@ public final class CraftServer implements Server { if (type == PluginLoadOrder.STARTUP) { this.helpMap.clear(); this.helpMap.initializeGeneralTopics(); @@ -27,7 +27,7 @@ index 1cca43506306994e740278a581b0d33924d08491..e509ab35bf8ffba3c1e04f1236f98c24 } Plugin[] plugins = this.pluginManager.getPlugins(); -@@ -476,7 +477,7 @@ public final class CraftServer implements Server { +@@ -475,7 +476,7 @@ public final class CraftServer implements Server { this.commandMap.registerServerAliases(); DefaultPermissions.registerCorePermissions(); CraftDefaultPermissions.registerCorePermissions(); diff --git a/patches/server/0067-Allow-Reloading-of-Custom-Permissions.patch b/patches/server/0067-Allow-Reloading-of-Custom-Permissions.patch index 2c35743bdb..a30ddc19c4 100644 --- a/patches/server/0067-Allow-Reloading-of-Custom-Permissions.patch +++ b/patches/server/0067-Allow-Reloading-of-Custom-Permissions.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Allow Reloading of Custom Permissions https://github.com/PaperMC/Paper/issues/49 diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index e509ab35bf8ffba3c1e04f1236f98c24c1e010f4..dea53897919d46b90c99577fbb1985b2d0c65b5e 100644 +index 43c2e3f0db683022179ae4c85703390be5bdb759..22d11ee1d782ba1218357ee16b05de3414924aeb 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2603,5 +2603,23 @@ public final class CraftServer implements Server { +@@ -2624,5 +2624,23 @@ public final class CraftServer implements Server { } return this.adventure$audiences; } diff --git a/patches/server/0068-Remove-Metadata-on-reload.patch b/patches/server/0068-Remove-Metadata-on-reload.patch index 6bff5918c0..2f5734a37c 100644 --- a/patches/server/0068-Remove-Metadata-on-reload.patch +++ b/patches/server/0068-Remove-Metadata-on-reload.patch @@ -7,10 +7,10 @@ Metadata is not meant to persist reload as things break badly with non primitive This will remove metadata on reload so it does not crash everything if a plugin uses it. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index dea53897919d46b90c99577fbb1985b2d0c65b5e..dbad9e72121562d22f8476bade4032661e280066 100644 +index 22d11ee1d782ba1218357ee16b05de3414924aeb..83119de3ae3e38ba4bb77abf005043cfa82c4670 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -962,8 +962,16 @@ public final class CraftServer implements Server { +@@ -969,8 +969,16 @@ public final class CraftServer implements Server { world.spigotConfig.init(); // Spigot } diff --git a/patches/server/0069-Handle-Item-Meta-Inconsistencies.patch b/patches/server/0069-Handle-Item-Meta-Inconsistencies.patch index 8e3b84a6df..b52904d516 100644 --- a/patches/server/0069-Handle-Item-Meta-Inconsistencies.patch +++ b/patches/server/0069-Handle-Item-Meta-Inconsistencies.patch @@ -70,20 +70,12 @@ index 2e948330c4951e3df7091fa870573f163d2af286..4b19057fba6c6645dc79f6572a3fb01c public boolean isEnchanted() { diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index ae55364f6c33687361c053d90ad47c6192a1e62b..bdfce4a49cc6fed46de5864d1c443038f44027fb 100644 +index 34a54a99e7484b2934e1d174c1b55f0472ff3812..7fd9a3a7f4cb98d89b7c4cbfda756d581963e5bf 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -@@ -6,7 +6,6 @@ import java.util.Map; - import net.minecraft.nbt.CompoundTag; - import net.minecraft.nbt.ListTag; - import net.minecraft.world.item.Item; --import net.minecraft.world.item.enchantment.EnchantmentHelper; - import org.apache.commons.lang.Validate; - import org.bukkit.Material; - import org.bukkit.NamespacedKey; -@@ -178,28 +177,11 @@ public final class CraftItemStack extends ItemStack { +@@ -178,28 +178,11 @@ public final class CraftItemStack extends ItemStack { public void addUnsafeEnchantment(Enchantment ench, int level) { - Validate.notNull(ench, "Cannot add null enchantment"); + Preconditions.checkArgument(ench != null, "Enchantment cannot be null"); - if (!CraftItemStack.makeTag(this.handle)) { - return; @@ -115,17 +107,9 @@ index ae55364f6c33687361c053d90ad47c6192a1e62b..bdfce4a49cc6fed46de5864d1c443038 } static boolean makeTag(net.minecraft.world.item.ItemStack item) { -@@ -225,57 +207,29 @@ public final class CraftItemStack extends ItemStack { - if (this.handle == null) { - return 0; - } -- return EnchantmentHelper.getItemEnchantmentLevel(CraftEnchantment.getRaw(ench), handle); -+ return net.minecraft.world.item.enchantment.EnchantmentHelper.getItemEnchantmentLevel(CraftEnchantment.getRaw(ench), handle); // Paper - } - - @Override +@@ -232,50 +215,22 @@ public final class CraftItemStack extends ItemStack { public int removeEnchantment(Enchantment ench) { - Validate.notNull(ench, "Cannot remove null enchantment"); + Preconditions.checkArgument(ench != null, "Enchantment cannot be null"); - ListTag list = CraftItemStack.getEnchantmentList(this.handle), listCopy; - if (list == null) { @@ -184,7 +168,7 @@ index ae55364f6c33687361c053d90ad47c6192a1e62b..bdfce4a49cc6fed46de5864d1c443038 static Map getEnchantments(net.minecraft.world.item.ItemStack item) { diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 16dd61b832d7b6519786072e41cdde9df3ab8e7f..5d892f76f42486ce1890fe0507b19b2f02693fee 100644 +index b01c268d179591a0113e4bfb46f3d6d22933efaf..bfd5661d55a6ed767cb3bed2d9bb24535c1f7335 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -6,6 +6,7 @@ import com.google.common.collect.ImmutableList; @@ -211,7 +195,7 @@ index 16dd61b832d7b6519786072e41cdde9df3ab8e7f..5d892f76f42486ce1890fe0507b19b2f import java.util.logging.Level; import java.util.logging.Logger; import javax.annotation.Nonnull; -@@ -276,7 +279,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -275,7 +278,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { private List lore; // null and empty are two different states internally private Integer customModelData; private CompoundTag blockData; @@ -220,7 +204,7 @@ index 16dd61b832d7b6519786072e41cdde9df3ab8e7f..5d892f76f42486ce1890fe0507b19b2f private Multimap attributeModifiers; private int repairCost; private int hideFlag; -@@ -287,7 +290,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -286,7 +289,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { private static final CraftPersistentDataTypeRegistry DATA_TYPE_REGISTRY = new CraftPersistentDataTypeRegistry(); private CompoundTag internalTag; @@ -229,7 +213,7 @@ index 16dd61b832d7b6519786072e41cdde9df3ab8e7f..5d892f76f42486ce1890fe0507b19b2f private CraftPersistentDataContainer persistentDataContainer = new CraftPersistentDataContainer(CraftMetaItem.DATA_TYPE_REGISTRY); private int version = CraftMagicNumbers.INSTANCE.getDataVersion(); // Internal use only -@@ -308,7 +311,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -307,7 +310,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { this.blockData = meta.blockData; if (meta.enchantments != null) { // Spigot @@ -238,7 +222,7 @@ index 16dd61b832d7b6519786072e41cdde9df3ab8e7f..5d892f76f42486ce1890fe0507b19b2f } if (meta.hasAttributeModifiers()) { -@@ -391,13 +394,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -390,13 +393,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } } @@ -254,7 +238,7 @@ index 16dd61b832d7b6519786072e41cdde9df3ab8e7f..5d892f76f42486ce1890fe0507b19b2f for (int i = 0; i < ench.size(); i++) { String id = ((CompoundTag) ench.get(i)).getString(ENCHANTMENTS_ID.NBT); -@@ -550,13 +553,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -549,13 +552,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } } @@ -270,7 +254,7 @@ index 16dd61b832d7b6519786072e41cdde9df3ab8e7f..5d892f76f42486ce1890fe0507b19b2f for (Map.Entry entry : ench.entrySet()) { // Doctor older enchants String enchantKey = entry.getKey().toString(); -@@ -832,14 +835,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -831,14 +834,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Override public Map getEnchants() { @@ -280,14 +264,14 @@ index 16dd61b832d7b6519786072e41cdde9df3ab8e7f..5d892f76f42486ce1890fe0507b19b2f @Override public boolean addEnchant(Enchantment ench, int level, boolean ignoreRestrictions) { - Validate.notNull(ench, "Enchantment cannot be null"); + Preconditions.checkArgument(ench != null, "Enchantment cannot be null"); if (this.enchantments == null) { - this.enchantments = new LinkedHashMap(4); + this.enchantments = new EnchantmentMap(); // Paper } if (ignoreRestrictions || level >= ench.getStartLevel() && level <= ench.getMaxLevel()) { -@@ -1228,7 +1231,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1227,7 +1230,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { clone.customModelData = this.customModelData; clone.blockData = this.blockData; if (this.enchantments != null) { @@ -296,7 +280,7 @@ index 16dd61b832d7b6519786072e41cdde9df3ab8e7f..5d892f76f42486ce1890fe0507b19b2f } if (this.hasAttributeModifiers()) { clone.attributeModifiers = LinkedHashMultimap.create(this.attributeModifiers); -@@ -1467,4 +1470,22 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1464,4 +1467,22 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { return CraftMetaItem.HANDLED_TAGS; } } diff --git a/patches/server/0073-handle-NaN-health-absorb-values-and-repair-bad-data.patch b/patches/server/0073-handle-NaN-health-absorb-values-and-repair-bad-data.patch index 3fc589185e..c3861ff441 100644 --- a/patches/server/0073-handle-NaN-health-absorb-values-and-repair-bad-data.patch +++ b/patches/server/0073-handle-NaN-health-absorb-values-and-repair-bad-data.patch @@ -44,10 +44,10 @@ index 1238da8b035a0b0dd3d00557ca0de7a82f5fdf53..5e40ee2695b7ed50fddc0e8226f0b1b4 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 0fdc0ecbaeff775359fd192f4be7e20c8c1339f9..a47334fbef1056f644b588453666039f4daa3e33 100644 +index c1ad517b8925ee19b3e251a45816e8a7ecc5e3b8..10a42c5c69ea99bc90d08b51bc9f342504d1da7d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2138,6 +2138,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2076,6 +2076,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } public void setRealHealth(double health) { diff --git a/patches/server/0077-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch b/patches/server/0077-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch index 42404327c2..d2397e8813 100644 --- a/patches/server/0077-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch +++ b/patches/server/0077-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Only process BlockPhysicsEvent if a plugin has a listener Saves on some object allocation and processing when no plugin listens to this diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 821725460b62ebadedb789f4408ef172416c2092..81abb732e2bb3bca683028d505e7485052c0ec8d 100644 +index 3ff9a5a8f4b9a91958f6d846a7a5337a01dbb803..1af6a1ed4111e5e1feaede68be2783070ed90c76 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1367,6 +1367,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { -@@ -2326,9 +2328,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop pendingBlockEntityTickers = Lists.newArrayList(); private boolean tickingBlockEntities; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 7b6673c18d77dc03038924008775f73bf8261658..f7938024605e61cdeee5668190abbf336611f425 100644 +index 4a3593f24fc844a6a8b1b6c28ad2dc9c609c29ad..04a12be27ea3f7b8c0dd2bb2c8f4f0a4b90de1b2 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -155,6 +155,56 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -154,6 +154,56 @@ public class CraftWorld extends CraftRegionAccessor implements World { private final CraftPersistentDataContainer persistentDataContainer = new CraftPersistentDataContainer(CraftWorld.DATA_TYPE_REGISTRY); private net.kyori.adventure.pointer.Pointers adventure$pointers; // Paper - implement pointers diff --git a/patches/server/0127-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch b/patches/server/0127-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch index c1fa57b321..ce55e169ff 100644 --- a/patches/server/0127-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch +++ b/patches/server/0127-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch @@ -324,10 +324,10 @@ index 9113fd7070596ecf504837f335022d5eb4ef9a77..d56a64b058d8848e405e33d9884a61ea @Override diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index e6eb4a903a43572cfda72db52a1d9c6a6fd46dee..101dac0fcabc5fd696f58ec52ad1fc93a2d0afeb 100644 +index 6a4e30365f015b6aaf7ca18d7b31ff1523ebdf0c..002875dc5ee549c5d192d90c6e4daf59c1f7c0ff 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -946,7 +946,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -942,7 +942,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor { } else if (TNTPrimed.class.isAssignableFrom(clazz)) { entity = new PrimedTnt(world, x, y, z, null); } else if (ExperienceOrb.class.isAssignableFrom(clazz)) { diff --git a/patches/server/0129-Remove-CraftScheduler-Async-Task-Debugger.patch b/patches/server/0129-Remove-CraftScheduler-Async-Task-Debugger.patch index eacad1fb97..bec7645bbb 100644 --- a/patches/server/0129-Remove-CraftScheduler-Async-Task-Debugger.patch +++ b/patches/server/0129-Remove-CraftScheduler-Async-Task-Debugger.patch @@ -9,19 +9,19 @@ One report of a suspected memory leak with the system. This adds additional overhead to asynchronous task dispatching diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java -index dfc2789009fcaa08baa8054bdac915590b8701d6..d96292052633941102c052894bef747817b2998f 100644 +index 833240d2a4936343710a60876a66d01112e15a2c..ef4fdfa3fbe8216a0a020949347bc992cd5c0c60 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java -@@ -445,7 +445,7 @@ public class CraftScheduler implements BukkitScheduler { +@@ -442,7 +442,7 @@ public class CraftScheduler implements BukkitScheduler { } this.parsePending(); } else { - this.debugTail = this.debugTail.setNext(new CraftAsyncDebugger(currentTick + CraftScheduler.RECENT_TICKS, task.getOwner(), task.getTaskClass())); -+ //this.debugTail = this.debugTail.setNext(new CraftAsyncDebugger(currentTick + CraftScheduler.RECENT_TICKS, task.getOwner(), task.getTaskClass())); // Paper - this.executor.execute(new ServerSchedulerReportingWrapper(task)); // Paper ++ // this.debugTail = this.debugTail.setNext(new CraftAsyncDebugger(currentTick + CraftScheduler.RECENT_TICKS, task.getOwner(), task.getTaskClass())); // Paper + this.executor.execute(new com.destroystokyo.paper.ServerSchedulerReportingWrapper(task)); // Paper // We don't need to parse pending // (async tasks must live with race-conditions if they attempt to cancel between these few lines of code) -@@ -462,7 +462,7 @@ public class CraftScheduler implements BukkitScheduler { +@@ -459,7 +459,7 @@ public class CraftScheduler implements BukkitScheduler { this.pending.addAll(temp); temp.clear(); MinecraftTimings.bukkitSchedulerFinishTimer.stopTiming(); // Paper @@ -30,7 +30,7 @@ index dfc2789009fcaa08baa8054bdac915590b8701d6..d96292052633941102c052894bef7478 } private void addTask(final CraftTask task) { -@@ -527,10 +527,15 @@ public class CraftScheduler implements BukkitScheduler { +@@ -523,10 +523,15 @@ public class CraftScheduler implements BukkitScheduler { @Override public String toString() { diff --git a/patches/server/0131-Properly-handle-async-calls-to-restart-the-server.patch b/patches/server/0131-Properly-handle-async-calls-to-restart-the-server.patch index 4d422108dd..737dc557e9 100644 --- a/patches/server/0131-Properly-handle-async-calls-to-restart-the-server.patch +++ b/patches/server/0131-Properly-handle-async-calls-to-restart-the-server.patch @@ -30,7 +30,7 @@ will have plugins and worlds saving to the disk has a high potential to result in corruption/dataloss. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 14edacfd5cc77cc85dc84e3fdad94be8c8932dc6..79b4139b653a09142e1b624849ad7c529c35450d 100644 +index 006289473c03c8484b26264c61eaf6a5e73658c0..72161fef4ff8a469e028d136f71dda86e6220d0a 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -237,6 +237,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop processQueue = new java.util.concurrent.ConcurrentLinkedQueue(); public int autosavePeriod; -@@ -370,7 +370,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index a9cab02b97f85fec31ad636f7a340066d409be36..03ea44619bc3445956f3e4539fc0e2923a29a92d 100644 +index bc96f426d488d2a206b763dccdc4034fe24f269d..82db70c548336ada2af556251b8ae8d189417024 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -169,8 +169,7 @@ public abstract class PlayerList { @@ -369,7 +369,7 @@ index a9cab02b97f85fec31ad636f7a340066d409be36..03ea44619bc3445956f3e4539fc0e292 this.bans = new UserBanList(PlayerList.USERBANLIST_FILE); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index a147ca79e6c4a5c8d4aeb6a76c82eaae3491f51d..50ed2032d2cb285f24e93d246f6c42207e1213ad 100644 +index 85b8ae9b40d0f631c91e00a59ce6347fd915bcb5..b91a06359b163b49c506d64b3da2e616e3d9fa40 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -42,7 +42,6 @@ import java.util.logging.Level; @@ -380,7 +380,7 @@ index a147ca79e6c4a5c8d4aeb6a76c82eaae3491f51d..50ed2032d2cb285f24e93d246f6c4220 import net.minecraft.advancements.Advancement; import net.minecraft.commands.CommandSourceStack; import net.minecraft.commands.Commands; -@@ -1303,9 +1302,13 @@ public final class CraftServer implements Server { +@@ -1308,9 +1307,13 @@ public final class CraftServer implements Server { return this.logger; } diff --git a/patches/server/0140-Add-UnknownCommandEvent.patch b/patches/server/0140-Add-UnknownCommandEvent.patch index 4d4669d657..489953e61a 100644 --- a/patches/server/0140-Add-UnknownCommandEvent.patch +++ b/patches/server/0140-Add-UnknownCommandEvent.patch @@ -83,10 +83,10 @@ index 2fdfc17ef3daf9fb5cc32c807292c71e256d5356..e3394864e29357fec036f9e616472aea b1 = 0; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 50ed2032d2cb285f24e93d246f6c42207e1213ad..c3e273b7d2f7d0c059f8efbf95e4234c684d0ccd 100644 +index b91a06359b163b49c506d64b3da2e616e3d9fa40..2e076affd9ee7e407e86586536d02cb8f6f20805 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -523,6 +523,7 @@ public final class CraftServer implements Server { +@@ -522,6 +522,7 @@ public final class CraftServer implements Server { } node = clone; } @@ -94,7 +94,7 @@ index 50ed2032d2cb285f24e93d246f6c42207e1213ad..c3e273b7d2f7d0c059f8efbf95e4234c dispatcher.getDispatcher().getRoot().addChild(node); } else { -@@ -904,7 +905,13 @@ public final class CraftServer implements Server { +@@ -911,7 +912,13 @@ public final class CraftServer implements Server { // Spigot start if (!org.spigotmc.SpigotConfig.unknownCommandMessage.isEmpty()) { diff --git a/patches/server/0141-Basic-PlayerProfile-API.patch b/patches/server/0141-Basic-PlayerProfile-API.patch index bffd309f82..79e093ddea 100644 --- a/patches/server/0141-Basic-PlayerProfile-API.patch +++ b/patches/server/0141-Basic-PlayerProfile-API.patch @@ -631,10 +631,10 @@ index 4038bb76339d43f18770624bd7fecc79b8d7f2a9..2456edc11b29a92b1648937cd3dd6a9a String s1 = name.toLowerCase(Locale.ROOT); GameProfileCache.GameProfileInfo usercache_usercacheentry = (GameProfileCache.GameProfileInfo) this.profilesByName.get(s1); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index c3e273b7d2f7d0c059f8efbf95e4234c684d0ccd..c29973de83e827a2f372590a43948b0ad8b5ec64 100644 +index 2e076affd9ee7e407e86586536d02cb8f6f20805..bdee52f1bd2bb34fd0292d35b8b1e7194d7df716 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -258,6 +258,9 @@ import org.yaml.snakeyaml.error.MarkedYAMLException; +@@ -257,6 +257,9 @@ import org.yaml.snakeyaml.error.MarkedYAMLException; import net.md_5.bungee.api.chat.BaseComponent; // Spigot @@ -644,7 +644,7 @@ index c3e273b7d2f7d0c059f8efbf95e4234c684d0ccd..c29973de83e827a2f372590a43948b0a public final class CraftServer implements Server { private final String serverName = "Paper"; // Paper private final String serverVersion; -@@ -300,6 +303,7 @@ public final class CraftServer implements Server { +@@ -299,6 +302,7 @@ public final class CraftServer implements Server { static { ConfigurationSerialization.registerClass(CraftOfflinePlayer.class); ConfigurationSerialization.registerClass(CraftPlayerProfile.class); @@ -652,7 +652,7 @@ index c3e273b7d2f7d0c059f8efbf95e4234c684d0ccd..c29973de83e827a2f372590a43948b0a CraftItemFactory.instance(); } -@@ -2663,5 +2667,37 @@ public final class CraftServer implements Server { +@@ -2684,5 +2688,37 @@ public final class CraftServer implements Server { public boolean suggestPlayerNamesWhenNullTabCompletions() { return io.papermc.paper.configuration.GlobalConfiguration.get().commands.suggestPlayerNamesWhenNullTabCompletions; } @@ -691,7 +691,7 @@ index c3e273b7d2f7d0c059f8efbf95e4234c684d0ccd..c29973de83e827a2f372590a43948b0a // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java b/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java -index 3e40d47f504248cd7caeef6b841a8aa6f1976170..6ca6467a47c6658d3a2e2029821aa727599a6f74 100644 +index 2375b0bac17dd73d6ee12a94b9e4a4143a2e1c65..d1aab4742b605e8807b0e4ca148abe0ed95039f4 100644 --- a/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java +++ b/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java @@ -27,7 +27,7 @@ import org.bukkit.profile.PlayerProfile; @@ -737,7 +737,7 @@ index 3e40d47f504248cd7caeef6b841a8aa6f1976170..6ca6467a47c6658d3a2e2029821aa727 UUID uniqueId = ConfigSerializationUtil.getUuid(map, "uniqueId", true); String name = ConfigSerializationUtil.getString(map, "name", true); -@@ -270,7 +275,7 @@ public final class CraftPlayerProfile implements PlayerProfile { +@@ -268,7 +273,7 @@ public final class CraftPlayerProfile implements PlayerProfile { profile.properties.put(property.getName(), property); } } diff --git a/patches/server/0142-Shoulder-Entities-Release-API.patch b/patches/server/0142-Shoulder-Entities-Release-API.patch index b3bbf8aa8a..6795e8e96d 100644 --- a/patches/server/0142-Shoulder-Entities-Release-API.patch +++ b/patches/server/0142-Shoulder-Entities-Release-API.patch @@ -59,10 +59,10 @@ index 8ef1798fe9dc42d9f09449ecc7578f4bddff1ed8..85488adc9c822c89ab5778bc1d48c58e @Override public abstract boolean isSpectator(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index d39869056d0ac57279e0e9e479ace4a7d402a941..c6b2f1b90735ec75492daf64031d9d33226cdac6 100644 +index abe978078270a45f7e77eb2b8a99309f12ca51ee..2f5704b19148f390402c0823030806ba96860286 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -@@ -518,6 +518,32 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -516,6 +516,32 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { this.getHandle().getCooldowns().addCooldown(CraftMagicNumbers.getItem(material), ticks); } diff --git a/patches/server/0145-Entity-fromMobSpawner.patch b/patches/server/0145-Entity-fromMobSpawner.patch index b377025343..ca0e39dd5e 100644 --- a/patches/server/0145-Entity-fromMobSpawner.patch +++ b/patches/server/0145-Entity-fromMobSpawner.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Entity#fromMobSpawner() diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 5c616afddc9a0403787fd2ea2467220d81253541..7232c22ca7f0ed995934db3937861e562525e906 100644 +index 875516b17452968e53efda9d777676ec4bee0f79..16658764ddced4c8e5af6b9f86ad6e99a2b1adee 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -388,6 +388,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -37,22 +37,22 @@ index 5c616afddc9a0403787fd2ea2467220d81253541..7232c22ca7f0ed995934db3937861e56 } catch (Throwable throwable) { diff --git a/src/main/java/net/minecraft/world/level/BaseSpawner.java b/src/main/java/net/minecraft/world/level/BaseSpawner.java -index 64bd7d265a45575ce46c1a792f90cadc76763871..0f5a5168d168b39f0da3ed12389b11b586d168e6 100644 +index 7ae0465091db8e8061737bf93884afa3db49feeb..5d6403fa27521860a69a707dc4358b013adfafd7 100644 --- a/src/main/java/net/minecraft/world/level/BaseSpawner.java +++ b/src/main/java/net/minecraft/world/level/BaseSpawner.java -@@ -164,6 +164,7 @@ public abstract class BaseSpawner { - } +@@ -165,6 +165,7 @@ public abstract class BaseSpawner { // Spigot End } + + entity.spawnedViaMobSpawner = true; // Paper - // Spigot Start + // CraftBukkit start if (org.bukkit.craftbukkit.event.CraftEventFactory.callSpawnerSpawnEvent(entity, pos).isCancelled()) { - Entity vehicle = entity.getVehicle(); + continue; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index c9275f73be7332f79312037954f9685f6c1f800f..f1a382d26f6a64b1c3f81fd2f2d5a35c51a63fdb 100644 +index fa2a6f44a1c25fb6c9a19e83e7eddb2c8d28a320..83bde3f87e0861fdfd01f843ccae285b1748619a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1297,5 +1297,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1290,5 +1290,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { //noinspection ConstantConditions return originVector.toLocation(world); } diff --git a/patches/server/0146-Improve-the-Saddle-API-for-Horses.patch b/patches/server/0146-Improve-the-Saddle-API-for-Horses.patch index ccd3b7baf4..dc38a3b16d 100644 --- a/patches/server/0146-Improve-the-Saddle-API-for-Horses.patch +++ b/patches/server/0146-Improve-the-Saddle-API-for-Horses.patch @@ -7,18 +7,18 @@ Not all horses with Saddles have armor. This lets us break up the horses with sa and access their saddle state separately from an interface shared with Armor. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java -index d74c9eeb7f622f0a7265fec51d851ffd3de1c69b..a5202ee012034678efbbd5ca1eccf2fd72a315bd 100644 +index 349bc3becee3f878fe8f6bc589cc9fbecf7dd17a..4bb5e953ec0ad6a2e068cb26237bc59e68c13699 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java -@@ -5,6 +5,7 @@ import net.minecraft.world.entity.ai.attributes.Attributes; - import org.apache.commons.lang.Validate; +@@ -5,6 +5,7 @@ import java.util.UUID; + import net.minecraft.world.entity.ai.attributes.Attributes; import org.bukkit.craftbukkit.CraftServer; import org.bukkit.craftbukkit.inventory.CraftInventoryAbstractHorse; +import org.bukkit.craftbukkit.inventory.CraftSaddledInventory; import org.bukkit.entity.AbstractHorse; import org.bukkit.entity.AnimalTamer; import org.bukkit.entity.Horse; -@@ -108,6 +109,6 @@ public abstract class CraftAbstractHorse extends CraftAnimals implements Abstrac +@@ -107,6 +108,6 @@ public abstract class CraftAbstractHorse extends CraftAnimals implements Abstrac @Override public AbstractHorseInventory getInventory() { diff --git a/patches/server/0147-Implement-ensureServerConversions-API.patch b/patches/server/0147-Implement-ensureServerConversions-API.patch index f34ea3e72b..439122668f 100644 --- a/patches/server/0147-Implement-ensureServerConversions-API.patch +++ b/patches/server/0147-Implement-ensureServerConversions-API.patch @@ -7,10 +7,10 @@ This will take a Bukkit ItemStack and run it through any conversions a server pr to ensure it meets latest minecraft expectations. diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -index 6e050a5cbb877c85595fc97a569c2aafb272ad41..ed9a956b0d88ddcf6c453757bf72287616b81fe2 100644 +index b187c4f436ac44a529675869dbf5bfddc4fac86f..878f69460aed825d5d3204030af2aaa731a99875 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -@@ -454,5 +454,11 @@ public final class CraftItemFactory implements ItemFactory { +@@ -449,5 +449,11 @@ public final class CraftItemFactory implements ItemFactory { public net.kyori.adventure.text.@org.jetbrains.annotations.NotNull Component displayName(@org.jetbrains.annotations.NotNull ItemStack itemStack) { return io.papermc.paper.adventure.PaperAdventure.asAdventure(CraftItemStack.asNMSCopy(itemStack).getDisplayName()); } diff --git a/patches/server/0148-Implement-getI18NDisplayName.patch b/patches/server/0148-Implement-getI18NDisplayName.patch index ddbf2ab85c..4f1cfccf20 100644 --- a/patches/server/0148-Implement-getI18NDisplayName.patch +++ b/patches/server/0148-Implement-getI18NDisplayName.patch @@ -8,10 +8,10 @@ Currently the server only supports the English language. To override this, You must replace the language file embedded in the server jar. diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -index ed9a956b0d88ddcf6c453757bf72287616b81fe2..f81ed24f624ff6f99ccad8361209cc409c6b9187 100644 +index 878f69460aed825d5d3204030af2aaa731a99875..f8475390d69bef6f3eca5a57d5f44021fabf4942 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -@@ -460,5 +460,18 @@ public final class CraftItemFactory implements ItemFactory { +@@ -455,5 +455,18 @@ public final class CraftItemFactory implements ItemFactory { public ItemStack ensureServerConversions(ItemStack item) { return CraftItemStack.asCraftMirror(CraftItemStack.asNMSCopy(item)); } diff --git a/patches/server/0151-LivingEntity-setKiller.patch b/patches/server/0151-LivingEntity-setKiller.patch index 0612bec621..e6e7fff121 100644 --- a/patches/server/0151-LivingEntity-setKiller.patch +++ b/patches/server/0151-LivingEntity-setKiller.patch @@ -7,10 +7,10 @@ Subject: [PATCH] LivingEntity#setKiller public net.minecraft.world.entity.LivingEntity lastHurtByPlayerTime diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 3084fa8000b36f06e8d432bff124a5af4ea675ea..31f31f0a3dcd5764fffb710111b47359f793b9a2 100644 +index fcb07a5f8cac994b731e3345ba9e971faa482fa1..0fb61f37da9ef3e33803b41bd72e0bda5425eceb 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -353,6 +353,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -352,6 +352,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { return this.getHandle().lastHurtByPlayer == null ? null : (Player) this.getHandle().lastHurtByPlayer.getBukkitEntity(); } diff --git a/patches/server/0153-Reset-spawner-timer-when-spawner-event-is-cancelled.patch b/patches/server/0153-Reset-spawner-timer-when-spawner-event-is-cancelled.patch index 65092a2a40..71cdedc8fa 100644 --- a/patches/server/0153-Reset-spawner-timer-when-spawner-event-is-cancelled.patch +++ b/patches/server/0153-Reset-spawner-timer-when-spawner-event-is-cancelled.patch @@ -5,18 +5,18 @@ Subject: [PATCH] Reset spawner timer when spawner event is cancelled diff --git a/src/main/java/net/minecraft/world/level/BaseSpawner.java b/src/main/java/net/minecraft/world/level/BaseSpawner.java -index 0f5a5168d168b39f0da3ed12389b11b586d168e6..8540905242fc84ab8a26cf0a8e875ef252bc3d5d 100644 +index 5d6403fa27521860a69a707dc4358b013adfafd7..20c39481bcf05e0d43c97b7e841ec9f5f6a0d45d 100644 --- a/src/main/java/net/minecraft/world/level/BaseSpawner.java +++ b/src/main/java/net/minecraft/world/level/BaseSpawner.java -@@ -165,6 +165,7 @@ public abstract class BaseSpawner { - // Spigot End +@@ -166,6 +166,7 @@ public abstract class BaseSpawner { } + entity.spawnedViaMobSpawner = true; // Paper + flag = true; // Paper - // Spigot Start + // CraftBukkit start if (org.bukkit.craftbukkit.event.CraftEventFactory.callSpawnerSpawnEvent(entity, pos).isCancelled()) { - Entity vehicle = entity.getVehicle(); -@@ -189,7 +190,7 @@ public abstract class BaseSpawner { + continue; +@@ -182,7 +183,7 @@ public abstract class BaseSpawner { ((Mob) entity).spawnAnim(); } diff --git a/patches/server/0158-handle-ServerboundKeepAlivePacket-async.patch b/patches/server/0158-handle-ServerboundKeepAlivePacket-async.patch index df49cf655e..55f6c51623 100644 --- a/patches/server/0158-handle-ServerboundKeepAlivePacket-async.patch +++ b/patches/server/0158-handle-ServerboundKeepAlivePacket-async.patch @@ -15,10 +15,10 @@ also adding some additional logging in order to help work out what is causing random disconnections for clients. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 6928d2fb7493206ab84bedc39434285f45d9dc38..95256c095626f429315b80df86876b18112989bc 100644 +index 38227e58773a4e47b2bd71daec7ce479892a19f3..cb8b31c34fe4d3ee6f383ff9d32cf13552879332 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3108,14 +3108,18 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3111,14 +3111,18 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleKeepAlive(ServerboundKeepAlivePacket packet) { diff --git a/patches/server/0159-Expose-client-protocol-version-and-virtual-host.patch b/patches/server/0159-Expose-client-protocol-version-and-virtual-host.patch index c50124bbc4..1e8e7329f9 100644 --- a/patches/server/0159-Expose-client-protocol-version-and-virtual-host.patch +++ b/patches/server/0159-Expose-client-protocol-version-and-virtual-host.patch @@ -90,10 +90,10 @@ index 77d7f070cce1a47e41b5d4f5a1cc8c778352a126..a3b610cb1ed97a635677bc46ccdf0463 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 6de07ae1c6d2130eb7feef6f169a288d0fdfd77b..bc920ff2bfcdb7ecad3b57ebca6d3ed94771a55a 100644 +index 79d061d07569207fde3bb4b959589ba3f0cba981..55a934e2fc4facd47eede4c95fe76a61105e7582 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -275,6 +275,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -274,6 +274,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } } diff --git a/patches/server/0166-API-to-get-a-BlockState-without-a-snapshot.patch b/patches/server/0166-API-to-get-a-BlockState-without-a-snapshot.patch index 9257eaaacf..aeae614ac2 100644 --- a/patches/server/0166-API-to-get-a-BlockState-without-a-snapshot.patch +++ b/patches/server/0166-API-to-get-a-BlockState-without-a-snapshot.patch @@ -51,10 +51,10 @@ index 63acd109a79ed752a05df3d4f1b99309297c2055..d156f7cc71050f13b2feca00c52ca6b6 return null; } diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 0c2a2b69eed7022f6636ced634a1d31d1fa99ad7..d6b44134781007d29f4042d5ab707188c965331b 100644 +index e5750b2459e5a7513b34d644f672f3e06181172d..3205d86a63f8fcf3ccd13c6be0e0eefc27beb62a 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -333,6 +333,13 @@ public class CraftBlock implements Block { +@@ -332,6 +332,13 @@ public class CraftBlock implements Block { return CraftBlockStates.getBlockState(this); } @@ -149,7 +149,7 @@ index a69a03a7954b03a0aeca7a74d89756dd38ca6faf..17e1131c79ad140c0803a914621ce792 public static BlockState getBlockState(Material material, @Nullable CompoundTag blockEntityTag) { diff --git a/src/main/java/org/bukkit/craftbukkit/persistence/CraftPersistentDataContainer.java b/src/main/java/org/bukkit/craftbukkit/persistence/CraftPersistentDataContainer.java -index 3fc3907172f12ee24ea70bd6a1ffbbc6084ed971..2c59f09a9261a1690951161fd856a5848d9885b7 100644 +index 6c559b0d7b3d8b95276d16a6af4975fd44de3334..a94389eebe51bb368f759b3f99f0b9ed08ae2bdd 100644 --- a/src/main/java/org/bukkit/craftbukkit/persistence/CraftPersistentDataContainer.java +++ b/src/main/java/org/bukkit/craftbukkit/persistence/CraftPersistentDataContainer.java @@ -156,4 +156,10 @@ public class CraftPersistentDataContainer implements PersistentDataContainer { diff --git a/patches/server/0167-AsyncTabCompleteEvent.patch b/patches/server/0167-AsyncTabCompleteEvent.patch index a8c75391d6..5986f9ed82 100644 --- a/patches/server/0167-AsyncTabCompleteEvent.patch +++ b/patches/server/0167-AsyncTabCompleteEvent.patch @@ -16,7 +16,7 @@ Also adds isCommand and getLocation to the sync TabCompleteEvent Co-authored-by: Aikar diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 575ecae47633e7a30c8bca57d686dcfc0b31a0df..5d1875b11d4768afc184416e38a0bd3e3334a9ce 100644 +index b4c0e41b1d6e6c9411e1bbf6af07533b8dbb68f7..c66209a33d6bdfda559e16cbc59c66e7a9f4c4de 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -788,12 +788,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -91,10 +91,10 @@ index 575ecae47633e7a30c8bca57d686dcfc0b31a0df..5d1875b11d4768afc184416e38a0bd3e @Override diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index c29973de83e827a2f372590a43948b0ad8b5ec64..141bba5e92044437b199b5aa701ded049737c509 100644 +index bdee52f1bd2bb34fd0292d35b8b1e7194d7df716..40090372a983b7064530e982a8ee1a9bc4913dfd 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2116,7 +2116,7 @@ public final class CraftServer implements Server { +@@ -2134,7 +2134,7 @@ public final class CraftServer implements Server { offers = this.tabCompleteChat(player, message); } diff --git a/patches/server/0169-Ability-to-apply-mending-to-XP-API.patch b/patches/server/0169-Ability-to-apply-mending-to-XP-API.patch index 8adaef1d34..99231f6ac8 100644 --- a/patches/server/0169-Ability-to-apply-mending-to-XP-API.patch +++ b/patches/server/0169-Ability-to-apply-mending-to-XP-API.patch @@ -14,10 +14,10 @@ public net.minecraft.world.entity.ExperienceOrb durabilityToXp(I)I public net.minecraft.world.entity.ExperienceOrb xpToDurability(I)I diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index bc920ff2bfcdb7ecad3b57ebca6d3ed94771a55a..fd7e9909875961a1a7288f235ef73de518467f25 100644 +index 55a934e2fc4facd47eede4c95fe76a61105e7582..77e5c017cef9809bf60c5aa77b245d76a1982a9f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1509,7 +1509,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1460,7 +1460,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } @Override diff --git a/patches/server/0175-Add-ArmorStand-Item-Meta.patch b/patches/server/0175-Add-ArmorStand-Item-Meta.patch index 3745b7372a..382ebbe746 100644 --- a/patches/server/0175-Add-ArmorStand-Item-Meta.patch +++ b/patches/server/0175-Add-ArmorStand-Item-Meta.patch @@ -255,10 +255,10 @@ index 4017933f2244fca32cf9d39444f3a4f550e8af01..e721517ce7b52a1aa10d039aa9f309eb + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 5d892f76f42486ce1890fe0507b19b2f02693fee..134c91f69f5b532ed67428c097d93b38a83df01a 100644 +index bfd5661d55a6ed767cb3bed2d9bb24535c1f7335..01e09dfc00b2ae9ecd39bea37f229ad826de121c 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -1460,6 +1460,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1457,6 +1457,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { CraftMetaCrossbow.CHARGED.NBT, CraftMetaCrossbow.CHARGED_PROJECTILES.NBT, CraftMetaSuspiciousStew.EFFECTS.NBT, diff --git a/patches/server/0177-Tameable-getOwnerUniqueId-API.patch b/patches/server/0177-Tameable-getOwnerUniqueId-API.patch index 7fca628e8a..3cdc82d136 100644 --- a/patches/server/0177-Tameable-getOwnerUniqueId-API.patch +++ b/patches/server/0177-Tameable-getOwnerUniqueId-API.patch @@ -7,10 +7,10 @@ This is faster if all you need is the UUID, as .getOwner() will cause an OfflinePlayer to be loaded from disk. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java -index a5202ee012034678efbbd5ca1eccf2fd72a315bd..254d4f2e45d7c8f572a4368eccd84560d4d0d836 100644 +index 4bb5e953ec0ad6a2e068cb26237bc59e68c13699..3f1f4d65525562b3117fdc21c8a7f535b12c3c46 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java -@@ -89,6 +89,10 @@ public abstract class CraftAbstractHorse extends CraftAnimals implements Abstrac +@@ -88,6 +88,10 @@ public abstract class CraftAbstractHorse extends CraftAnimals implements Abstrac } } diff --git a/patches/server/0180-Implement-extended-PaperServerListPingEvent.patch b/patches/server/0180-Implement-extended-PaperServerListPingEvent.patch index 335ada6c02..da614a11a7 100644 --- a/patches/server/0180-Implement-extended-PaperServerListPingEvent.patch +++ b/patches/server/0180-Implement-extended-PaperServerListPingEvent.patch @@ -181,7 +181,7 @@ index 0000000000000000000000000000000000000000..6b0bdc266109cdfb874f08bf74323603 + +} diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index bc96a5c546c01b092f513f202e833b7b5f320e72..a003144fb74c9e7314b24216bc0e506e3d2bde0f 100644 +index a6d6652fab0dcb490b4229cbf6a7a63112cbfa26..010318abbb6fadbadade8926793786eced6775d3 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -3,6 +3,9 @@ package net.minecraft.server; @@ -194,7 +194,7 @@ index bc96a5c546c01b092f513f202e833b7b5f320e72..a003144fb74c9e7314b24216bc0e506e import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; -@@ -1347,7 +1350,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop