diff --git a/patches/api/0005-Adventure.patch b/patches/api/0005-Adventure.patch
index f6719b30e8..85a8f914ad 100644
--- a/patches/api/0005-Adventure.patch
+++ b/patches/api/0005-Adventure.patch
@@ -763,10 +763,10 @@ index 0000000000000000000000000000000000000000..6e94562d79206d88b74b53814f9423f1
+ }
+}
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index ffb6ff5793f8702f6974ff53b53380e00d2d4057..b7bc68c5d0dbb41c089f59b7db51342d45d1fc74 100644
+index 1cd0bc6b58b1fe391f77b95182ed848f2e74a9a5..55b61b5971ac0848174bd4d59952408c437f0e60 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -389,7 +389,9 @@ public final class Bukkit {
+@@ -390,7 +390,9 @@ public final class Bukkit {
*
* @param message the message
* @return the number of players
@@ -776,7 +776,7 @@ index ffb6ff5793f8702f6974ff53b53380e00d2d4057..b7bc68c5d0dbb41c089f59b7db51342d
public static int broadcastMessage(@NotNull String message) {
return server.broadcastMessage(message);
}
-@@ -1105,6 +1107,19 @@ public final class Bukkit {
+@@ -1181,6 +1183,19 @@ public final class Bukkit {
server.shutdown();
}
@@ -796,7 +796,7 @@ index ffb6ff5793f8702f6974ff53b53380e00d2d4057..b7bc68c5d0dbb41c089f59b7db51342d
/**
* Broadcasts the specified message to every user with the given
* permission name.
-@@ -1114,6 +1129,21 @@ public final class Bukkit {
+@@ -1190,6 +1205,21 @@ public final class Bukkit {
* permissibles} must have to receive the broadcast
* @return number of message recipients
*/
@@ -818,7 +818,7 @@ index ffb6ff5793f8702f6974ff53b53380e00d2d4057..b7bc68c5d0dbb41c089f59b7db51342d
public static int broadcast(@NotNull String message, @NotNull String permission) {
return server.broadcast(message, permission);
}
-@@ -1375,6 +1405,7 @@ public final class Bukkit {
+@@ -1451,6 +1481,7 @@ public final class Bukkit {
return server.createInventory(owner, type);
}
@@ -826,7 +826,7 @@ index ffb6ff5793f8702f6974ff53b53380e00d2d4057..b7bc68c5d0dbb41c089f59b7db51342d
/**
* 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;
-@@ -1400,6 +1431,38 @@ public final class Bukkit {
+@@ -1476,6 +1507,38 @@ public final class Bukkit {
* @see InventoryType#isCreatable()
*/
@NotNull
@@ -865,7 +865,7 @@ index ffb6ff5793f8702f6974ff53b53380e00d2d4057..b7bc68c5d0dbb41c089f59b7db51342d
public static Inventory createInventory(@Nullable InventoryHolder owner, @NotNull InventoryType type, @NotNull String title) {
return server.createInventory(owner, type, title);
}
-@@ -1418,6 +1481,7 @@ public final class Bukkit {
+@@ -1494,6 +1557,7 @@ public final class Bukkit {
return server.createInventory(owner, size);
}
@@ -873,7 +873,7 @@ index ffb6ff5793f8702f6974ff53b53380e00d2d4057..b7bc68c5d0dbb41c089f59b7db51342d
/**
* Creates an empty inventory of type {@link InventoryType#CHEST} with the
* specified size and title.
-@@ -1430,10 +1494,30 @@ public final class Bukkit {
+@@ -1506,10 +1570,30 @@ public final class Bukkit {
* @throws IllegalArgumentException if the size is not a multiple of 9
*/
@NotNull
@@ -904,7 +904,7 @@ index ffb6ff5793f8702f6974ff53b53380e00d2d4057..b7bc68c5d0dbb41c089f59b7db51342d
/**
* Creates an empty merchant.
*
-@@ -1441,7 +1525,20 @@ public final class Bukkit {
+@@ -1517,7 +1601,20 @@ public final class Bukkit {
* when the merchant inventory is viewed
* @return a new merchant
*/
@@ -925,7 +925,7 @@ index ffb6ff5793f8702f6974ff53b53380e00d2d4057..b7bc68c5d0dbb41c089f59b7db51342d
public static Merchant createMerchant(@Nullable String title) {
return server.createMerchant(title);
}
-@@ -1558,12 +1655,43 @@ public final class Bukkit {
+@@ -1634,12 +1731,43 @@ public final class Bukkit {
return server.isPrimaryThread();
}
@@ -969,7 +969,7 @@ index ffb6ff5793f8702f6974ff53b53380e00d2d4057..b7bc68c5d0dbb41c089f59b7db51342d
public static String getMotd() {
return server.getMotd();
}
-@@ -1572,7 +1700,9 @@ public final class Bukkit {
+@@ -1648,7 +1776,9 @@ public final class Bukkit {
* Set the message that is displayed on the server list.
*
* @param motd The message to be displayed
@@ -979,7 +979,7 @@ index ffb6ff5793f8702f6974ff53b53380e00d2d4057..b7bc68c5d0dbb41c089f59b7db51342d
public static void setMotd(@NotNull String motd) {
server.setMotd(motd);
}
-@@ -1581,8 +1711,10 @@ public final class Bukkit {
+@@ -1657,8 +1787,10 @@ public final class Bukkit {
* Gets the default message that is displayed when the server is stopped.
*
* @return the shutdown message
@@ -1161,10 +1161,10 @@ index ae7b51341fb66c41b8a7c4604fd273d876e311be..4034fcb9abc39b12f0de47c4b679f2ef
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 8263a17a46c2aa7f976b37b80933acd850b9434a..e3602c6703b29ffec17ef7806c9deb3eead8a112 100644
+index 3a0f7405a481327dd94cfb5fc693ce07c2223954..19d61b2425794b2ca4dbc76bda9e23abe97fc30d 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -61,13 +61,13 @@ import org.jetbrains.annotations.Nullable;
+@@ -62,13 +62,13 @@ import org.jetbrains.annotations.Nullable;
/**
* Represents a server implementation.
*/
@@ -1180,7 +1180,7 @@ index 8263a17a46c2aa7f976b37b80933acd850b9434a..e3602c6703b29ffec17ef7806c9deb3e
*/
public static final String BROADCAST_CHANNEL_ADMINISTRATIVE = "bukkit.broadcast.admin";
-@@ -75,7 +75,7 @@ public interface Server extends PluginMessageRecipient {
+@@ -76,7 +76,7 @@ public interface Server extends PluginMessageRecipient {
* Used for all announcement messages, such as informing users that a
* player has joined.
*
@@ -1189,7 +1189,7 @@ index 8263a17a46c2aa7f976b37b80933acd850b9434a..e3602c6703b29ffec17ef7806c9deb3e
*/
public static final String BROADCAST_CHANNEL_USERS = "bukkit.broadcast.user";
-@@ -328,7 +328,9 @@ public interface Server extends PluginMessageRecipient {
+@@ -329,7 +329,9 @@ public interface Server extends PluginMessageRecipient {
*
* @param message the message
* @return the number of players
@@ -1199,7 +1199,7 @@ index 8263a17a46c2aa7f976b37b80933acd850b9434a..e3602c6703b29ffec17ef7806c9deb3e
public int broadcastMessage(@NotNull String message);
/**
-@@ -946,8 +948,33 @@ public interface Server extends PluginMessageRecipient {
+@@ -1015,8 +1017,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
@@ -1233,7 +1233,7 @@ index 8263a17a46c2aa7f976b37b80933acd850b9434a..e3602c6703b29ffec17ef7806c9deb3e
/**
* Gets the player by the given name, regardless if they are offline or
-@@ -1164,6 +1191,35 @@ public interface Server extends PluginMessageRecipient {
+@@ -1233,6 +1260,35 @@ public interface Server extends PluginMessageRecipient {
@NotNull
Inventory createInventory(@Nullable InventoryHolder owner, @NotNull InventoryType type);
@@ -1269,7 +1269,7 @@ index 8263a17a46c2aa7f976b37b80933acd850b9434a..e3602c6703b29ffec17ef7806c9deb3e
/**
* 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;
-@@ -1185,9 +1241,11 @@ public interface Server extends PluginMessageRecipient {
+@@ -1254,9 +1310,11 @@ public interface Server extends PluginMessageRecipient {
* @return The new inventory.
* @throws IllegalArgumentException if the {@link InventoryType} cannot be
* viewed.
@@ -1281,7 +1281,7 @@ index 8263a17a46c2aa7f976b37b80933acd850b9434a..e3602c6703b29ffec17ef7806c9deb3e
@NotNull
Inventory createInventory(@Nullable InventoryHolder owner, @NotNull InventoryType type, @NotNull String title);
-@@ -1203,6 +1261,22 @@ public interface Server extends PluginMessageRecipient {
+@@ -1272,6 +1330,22 @@ public interface Server extends PluginMessageRecipient {
@NotNull
Inventory createInventory(@Nullable InventoryHolder owner, int size) throws IllegalArgumentException;
@@ -1304,7 +1304,7 @@ index 8263a17a46c2aa7f976b37b80933acd850b9434a..e3602c6703b29ffec17ef7806c9deb3e
/**
* Creates an empty inventory of type {@link InventoryType#CHEST} with the
* specified size and title.
-@@ -1213,18 +1287,32 @@ public interface Server extends PluginMessageRecipient {
+@@ -1282,18 +1356,32 @@ public interface Server extends PluginMessageRecipient {
* viewed
* @return a new inventory
* @throws IllegalArgumentException if the size is not a multiple of 9
@@ -1337,7 +1337,7 @@ index 8263a17a46c2aa7f976b37b80933acd850b9434a..e3602c6703b29ffec17ef7806c9deb3e
Merchant createMerchant(@Nullable String title);
/**
-@@ -1320,27 +1408,56 @@ public interface Server extends PluginMessageRecipient {
+@@ -1389,27 +1477,56 @@ public interface Server extends PluginMessageRecipient {
*/
boolean isPrimaryThread();
@@ -1394,7 +1394,7 @@ index 8263a17a46c2aa7f976b37b80933acd850b9434a..e3602c6703b29ffec17ef7806c9deb3e
String getShutdownMessage();
/**
-@@ -1722,7 +1839,9 @@ public interface Server extends PluginMessageRecipient {
+@@ -1791,7 +1908,9 @@ public interface Server extends PluginMessageRecipient {
* Sends the component to the player
*
* @param component the components to send
@@ -1404,7 +1404,7 @@ index 8263a17a46c2aa7f976b37b80933acd850b9434a..e3602c6703b29ffec17ef7806c9deb3e
public void broadcast(@NotNull net.md_5.bungee.api.chat.BaseComponent component) {
throw new UnsupportedOperationException("Not supported yet.");
}
-@@ -1731,7 +1850,9 @@ public interface Server extends PluginMessageRecipient {
+@@ -1800,7 +1919,9 @@ public interface Server extends PluginMessageRecipient {
* Sends an array of components as a single message to the player
*
* @param components the components to send
@@ -4007,13 +4007,13 @@ index e12996492c1558fed9fab30de9f8018e0ed7fac3..002acfbdce1db10f7ba1b6a013e678f5
/**
diff --git a/src/main/java/org/bukkit/inventory/ItemFactory.java b/src/main/java/org/bukkit/inventory/ItemFactory.java
-index 502a1fd398fb0dcfbaf82081a655e2efc3bf71dc..30770d03044da684aa8c79ca74796050c319f6be 100644
+index e606f63a284db71663aee667597447b875e20627..6b1c55249b39a45c33ac49bacef4e9d80ba8cc3a 100644
--- a/src/main/java/org/bukkit/inventory/ItemFactory.java
+++ b/src/main/java/org/bukkit/inventory/ItemFactory.java
-@@ -172,4 +172,24 @@ public interface ItemFactory {
+@@ -217,4 +217,24 @@ public interface ItemFactory {
*/
- @Nullable
- Material getSpawnEgg(@NotNull EntityType type);
+ @NotNull
+ ItemStack enchantItem(@NotNull final ItemStack item, final int level, final boolean allowTreasures);
+
+ // Paper start - Adventure
+ /**
diff --git a/patches/api/0010-Timings-v2.patch b/patches/api/0010-Timings-v2.patch
index 2f419c9714..1ca70f8a1e 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 b7bc68c5d0dbb41c089f59b7db51342d45d1fc74..8d101352f72fc7fa21e0ba68039c79ce2fb92eb9 100644
+index 55b61b5971ac0848174bd4d59952408c437f0e60..dd60025dd956dd360ded51e056163c31908b6d5e 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -833,7 +833,6 @@ public final class Bukkit {
+@@ -834,7 +834,6 @@ public final class Bukkit {
*/
public static void reload() {
server.reload();
@@ -2866,10 +2866,10 @@ index b7bc68c5d0dbb41c089f59b7db51342d45d1fc74..8d101352f72fc7fa21e0ba68039c79ce
/**
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index e3602c6703b29ffec17ef7806c9deb3eead8a112..3e642d8a0294f7290c3d4310813e6e8a467810e7 100644
+index 19d61b2425794b2ca4dbc76bda9e23abe97fc30d..4cb488d68abc80aae733eb6b17e9cfa015c5a229 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1835,6 +1835,26 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1904,6 +1904,26 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
throw new UnsupportedOperationException("Not supported yet.");
}
diff --git a/patches/api/0011-Add-command-line-option-to-load-extra-plugin-jars-no.patch b/patches/api/0011-Add-command-line-option-to-load-extra-plugin-jars-no.patch
index e80ab59f2c..e404df1b65 100644
--- a/patches/api/0011-Add-command-line-option-to-load-extra-plugin-jars-no.patch
+++ b/patches/api/0011-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/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 8d101352f72fc7fa21e0ba68039c79ce2fb92eb9..b5bdefc93d8614b5efbfd6e4c975275b9b53868c 100644
+index dd60025dd956dd360ded51e056163c31908b6d5e..6a36a9bfa0574b8bd72fbf7edb9b49e01753406e 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -78,6 +78,20 @@ public final class Bukkit {
+@@ -79,6 +79,20 @@ public final class Bukkit {
return server;
}
@@ -32,10 +32,10 @@ index 8d101352f72fc7fa21e0ba68039c79ce2fb92eb9..b5bdefc93d8614b5efbfd6e4c975275b
* Attempts to set the {@link Server} singleton.
*
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 3e642d8a0294f7290c3d4310813e6e8a467810e7..d4d87ce99ad757733a0f2dd1a02eb79f4ee7972f 100644
+index 4cb488d68abc80aae733eb6b17e9cfa015c5a229..75c51378095104a0a58babad281ee946a6c9584e 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -63,6 +63,18 @@ import org.jetbrains.annotations.Nullable;
+@@ -64,6 +64,18 @@ import org.jetbrains.annotations.Nullable;
*/
public interface Server extends PluginMessageRecipient, net.kyori.adventure.audience.ForwardingAudience { // Paper
diff --git a/patches/api/0013-Add-getTPS-method.patch b/patches/api/0013-Add-getTPS-method.patch
index 75ce246bd3..dc188f645e 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 b5bdefc93d8614b5efbfd6e4c975275b9b53868c..67ef3471a5ded760950459db5e65d20ca18af967 100644
+index 6a36a9bfa0574b8bd72fbf7edb9b49e01753406e..e4cdd6a68a52d0415d0281d03f50fe75c9924b7e 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -1964,6 +1964,17 @@ public final class Bukkit {
+@@ -2040,6 +2040,17 @@ public final class Bukkit {
return server.getEntity(uuid);
}
@@ -27,10 +27,10 @@ index b5bdefc93d8614b5efbfd6e4c975275b9b53868c..67ef3471a5ded760950459db5e65d20c
* 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 d4d87ce99ad757733a0f2dd1a02eb79f4ee7972f..3b273e3ef2160ea3e436cabdfc4b33f605ab82c6 100644
+index 75c51378095104a0a58babad281ee946a6c9584e..17927955c481798b3bc40200168875bd319dd578 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1672,6 +1672,16 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1741,6 +1741,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 5705e18894..16ac67db3a 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 67ef3471a5ded760950459db5e65d20ca18af967..b53e94d79862d66165bbcd2a79b82770398a7f3e 100644
+index e4cdd6a68a52d0415d0281d03f50fe75c9924b7e..2a287fc77ef5cc6404dccdab01740e2b8b11ef43 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2165,6 +2165,19 @@ public final class Bukkit {
+@@ -2241,6 +2241,19 @@ public final class Bukkit {
return server.getUnsafe();
}
@@ -29,10 +29,10 @@ index 67ef3471a5ded760950459db5e65d20ca18af967..b53e94d79862d66165bbcd2a79b82770
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 3b273e3ef2160ea3e436cabdfc4b33f605ab82c6..124e88e512d24b6ff7ace3cf7d5a6adf4c2bb40d 100644
+index 17927955c481798b3bc40200168875bd319dd578..e0ca9516051bc566da2783f0574e791166d5922c 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1682,6 +1682,15 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1751,6 +1751,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 c07b8e382b..cdceeb1c0f 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 b53e94d79862d66165bbcd2a79b82770398a7f3e..9417030074fccdd9113bf75eb8f17f74b9a9118b 100644
+index 2a287fc77ef5cc6404dccdab01740e2b8b11ef43..9d1f1b97a16524ba1d523dd9130f113f0cf3e779 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -410,6 +410,30 @@ public final class Bukkit {
+@@ -411,6 +411,30 @@ public final class Bukkit {
return server.broadcastMessage(message);
}
@@ -41,10 +41,10 @@ index b53e94d79862d66165bbcd2a79b82770398a7f3e..9417030074fccdd9113bf75eb8f17f74
* 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 124e88e512d24b6ff7ace3cf7d5a6adf4c2bb40d..ccc825a2ea43bb84a5a08dff00c4d8ec27e4e95a 100644
+index e0ca9516051bc566da2783f0574e791166d5922c..38e3bc502e66229a24833ab1eebba6816155fa19 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -345,6 +345,30 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -346,6 +346,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 8d83e324a5..5dea7265c0 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 9417030074fccdd9113bf75eb8f17f74b9a9118b..9003a603b6bf82a7b6f04fa027cdc889cf7c274f 100644
+index 9d1f1b97a16524ba1d523dd9130f113f0cf3e779..cb1c05f5844724f8c937fac2d7f2a878631d1936 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2200,6 +2200,13 @@ public final class Bukkit {
+@@ -2276,6 +2276,13 @@ public final class Bukkit {
public static org.bukkit.command.CommandMap getCommandMap() {
return server.getCommandMap();
}
@@ -24,10 +24,10 @@ index 9417030074fccdd9113bf75eb8f17f74b9a9118b..9003a603b6bf82a7b6f04fa027cdc889
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index ccc825a2ea43bb84a5a08dff00c4d8ec27e4e95a..45e628f6c47945ce008d8436e3b13325bb5084d8 100644
+index 38e3bc502e66229a24833ab1eebba6816155fa19..09c8e8376da0eb0590f09d1ac43595c3825daf06 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1943,4 +1943,6 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -2012,4 +2012,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 8ca2b8993d..b966a58c4d 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 9003a603b6bf82a7b6f04fa027cdc889cf7c274f..297f7befdac5c45efb1c9f432c49696814f513ab 100644
+index cb1c05f5844724f8c937fac2d7f2a878631d1936..c58a61b15838b17c40c11edae0a3677ec7bddedb 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2207,6 +2207,15 @@ public final class Bukkit {
+@@ -2283,6 +2283,15 @@ public final class Bukkit {
public static void reloadPermissions() {
server.reloadPermissions();
}
@@ -26,10 +26,10 @@ index 9003a603b6bf82a7b6f04fa027cdc889cf7c274f..297f7befdac5c45efb1c9f432c496968
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 45e628f6c47945ce008d8436e3b13325bb5084d8..d80e9a6770c565c2cdb6bea6ad14969a6a6d0dad 100644
+index 09c8e8376da0eb0590f09d1ac43595c3825daf06..62adb5e4c51bd52e7589071f1316ab93b2fede31 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1945,4 +1945,6 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -2014,4 +2014,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 dd9d692387..f46d307145 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 297f7befdac5c45efb1c9f432c49696814f513ab..add298a1a0b6f6dbd72fe9e8f87794d193760fb7 100644
+index c58a61b15838b17c40c11edae0a3677ec7bddedb..8f9a19b1795ccddb7be268b72038cc236267821a 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2216,6 +2216,16 @@ public final class Bukkit {
+@@ -2292,6 +2292,16 @@ public final class Bukkit {
public static boolean reloadCommandAliases() {
return server.reloadCommandAliases();
}
@@ -27,10 +27,10 @@ index 297f7befdac5c45efb1c9f432c49696814f513ab..add298a1a0b6f6dbd72fe9e8f87794d1
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index d80e9a6770c565c2cdb6bea6ad14969a6a6d0dad..22d508a6c80d7e19352bceb57009fdbcb16bc723 100644
+index 62adb5e4c51bd52e7589071f1316ab93b2fede31..86910935fa823f1e23cf1d89604d042c1c87fbc6 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1947,4 +1947,14 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -2016,4 +2016,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 58d32c6301..16b9148ee8 100644
--- a/patches/api/0055-Fix-upstream-javadocs.patch
+++ b/patches/api/0055-Fix-upstream-javadocs.patch
@@ -49,10 +49,10 @@ index a04cde615f8c4bc593f8d9f8f6f1438008aaa707..548f6d28c28d74bed8b58ee828759093
* @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 add298a1a0b6f6dbd72fe9e8f87794d193760fb7..b21f90f291a087b6282cd7b55e0075a01729f0ba 100644
+index 8f9a19b1795ccddb7be268b72038cc236267821a..365c2cd4f5a3a382d3b52b50377fbf56731a30ae 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -1388,6 +1388,8 @@ public final class Bukkit {
+@@ -1464,6 +1464,8 @@ public final class Bukkit {
/**
* Gets every player that has ever played on this server.
@@ -114,10 +114,10 @@ index 02de62c083ceaa466c80cb732e8304b8cc3f07f8..7c2b1eff41dd43fda84d84e76c05bbbf
* @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 22d508a6c80d7e19352bceb57009fdbcb16bc723..3c1862b9a9293155f756615b5bd23cc810a6df5e 100644
+index 86910935fa823f1e23cf1d89604d042c1c87fbc6..36d07fda939a5e1b4acf77d9092bfc42bbd27d78 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -543,13 +543,10 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -544,13 +544,10 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*
*
* Note: If set to 0, {@link SpawnCategory} mobs spawning will be disabled.
@@ -132,7 +132,7 @@ index 22d508a6c80d7e19352bceb57009fdbcb16bc723..3c1862b9a9293155f756615b5bd23cc8
*/
public int getTicksPerSpawns(@NotNull SpawnCategory spawnCategory);
-@@ -1181,6 +1178,8 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1250,6 +1247,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 a145986a49..ab35d1c971 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 b21f90f291a087b6282cd7b55e0075a01729f0ba..dcd539220e5a2bda41f27101ea4c0ece146e1d0d 100644
+index 365c2cd4f5a3a382d3b52b50377fbf56731a30ae..87ce6947a1e974c18e84f56ba622bee9fff3570b 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2228,6 +2228,83 @@ public final class Bukkit {
+@@ -2304,6 +2304,83 @@ public final class Bukkit {
public static boolean suggestPlayerNamesWhenNullTabCompletions() {
return server.suggestPlayerNamesWhenNullTabCompletions();
}
@@ -409,10 +409,10 @@ index b21f90f291a087b6282cd7b55e0075a01729f0ba..dcd539220e5a2bda41f27101ea4c0ece
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 3c1862b9a9293155f756615b5bd23cc810a6df5e..016cee903c7179baf711984503d1d0793d40c5c5 100644
+index 36d07fda939a5e1b4acf77d9092bfc42bbd27d78..bc68d8af8b38232392a12ef5f338e85ca80bccd0 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1955,5 +1955,74 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -2024,5 +2024,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/0065-Add-getI18NDisplayName-API.patch b/patches/api/0065-Add-getI18NDisplayName-API.patch
index d4a809425c..ca75771d14 100644
--- a/patches/api/0065-Add-getI18NDisplayName-API.patch
+++ b/patches/api/0065-Add-getI18NDisplayName-API.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/inventory/ItemFactory.java b/src/main/java/org/bukkit/inventory/ItemFactory.java
-index 30770d03044da684aa8c79ca74796050c319f6be..f0025ba978f4bdf1e6bab7d30466fc950bb2a13b 100644
+index 6b1c55249b39a45c33ac49bacef4e9d80ba8cc3a..cccf5d3dfd368c434dcafb0e9319f09a668c7ec2 100644
--- a/src/main/java/org/bukkit/inventory/ItemFactory.java
+++ b/src/main/java/org/bukkit/inventory/ItemFactory.java
-@@ -192,4 +192,20 @@ public interface ItemFactory {
+@@ -237,4 +237,20 @@ public interface ItemFactory {
@NotNull
net.kyori.adventure.text.Component displayName(@NotNull ItemStack itemStack);
// Paper end - Adventure
diff --git a/patches/api/0066-ensureServerConversions-API.patch b/patches/api/0066-ensureServerConversions-API.patch
index f5ddcc820d..75f8c9aded 100644
--- a/patches/api/0066-ensureServerConversions-API.patch
+++ b/patches/api/0066-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/inventory/ItemFactory.java b/src/main/java/org/bukkit/inventory/ItemFactory.java
-index f0025ba978f4bdf1e6bab7d30466fc950bb2a13b..d641a8293f3acd465d5fdde8507046647cb6c568 100644
+index cccf5d3dfd368c434dcafb0e9319f09a668c7ec2..246b58f52e914c45f357240b155c826b1d40b202 100644
--- a/src/main/java/org/bukkit/inventory/ItemFactory.java
+++ b/src/main/java/org/bukkit/inventory/ItemFactory.java
-@@ -208,4 +208,18 @@ public interface ItemFactory {
+@@ -253,4 +253,18 @@ public interface ItemFactory {
@Deprecated
String getI18NDisplayName(@Nullable ItemStack item);
// Paper end - add getI18NDisplayName
diff --git a/patches/api/0091-Player.setPlayerProfile-API.patch b/patches/api/0091-Player.setPlayerProfile-API.patch
index b5cb085b05..82f7bbfe85 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 dcd539220e5a2bda41f27101ea4c0ece146e1d0d..f5358612884aae8d0686f3ff98ccee567a746f16 100644
+index 87ce6947a1e974c18e84f56ba622bee9fff3570b..0dfb60e4635cc960b5cb481206b6c02adb36d7f9 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -1230,8 +1230,10 @@ public final class Bukkit {
+@@ -1306,8 +1306,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 dcd539220e5a2bda41f27101ea4c0ece146e1d0d..f5358612884aae8d0686f3ff98ccee56
public static PlayerProfile createPlayerProfile(@Nullable UUID uniqueId, @Nullable String name) {
return server.createPlayerProfile(uniqueId, name);
}
-@@ -1242,8 +1244,10 @@ public final class Bukkit {
+@@ -1318,8 +1320,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 dcd539220e5a2bda41f27101ea4c0ece146e1d0d..f5358612884aae8d0686f3ff98ccee56
public static PlayerProfile createPlayerProfile(@NotNull UUID uniqueId) {
return server.createPlayerProfile(uniqueId);
}
-@@ -1255,8 +1259,10 @@ public final class Bukkit {
+@@ -1331,8 +1335,10 @@ public final class Bukkit {
* @return the new PlayerProfile
* @throws IllegalArgumentException if the name is null
or
* blank
@@ -56,10 +56,10 @@ index bec480aff819e09220b52175cab0cb6d68ae68c6..12349910297a75c00e64f6ccc7981aee
/**
* Checks if this player has had their profile banned.
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 016cee903c7179baf711984503d1d0793d40c5c5..064edd612885b2ea4b35001a864503b568c53987 100644
+index bc68d8af8b38232392a12ef5f338e85ca80bccd0..ccc1142e496c33c70104646255bae98d43a6b6c2 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1050,8 +1050,10 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1119,8 +1119,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 016cee903c7179baf711984503d1d0793d40c5c5..064edd612885b2ea4b35001a864503b5
PlayerProfile createPlayerProfile(@Nullable UUID uniqueId, @Nullable String name);
/**
-@@ -1060,8 +1062,10 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1129,8 +1131,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 016cee903c7179baf711984503d1d0793d40c5c5..064edd612885b2ea4b35001a864503b5
PlayerProfile createPlayerProfile(@NotNull UUID uniqueId);
/**
-@@ -1071,8 +1075,10 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1140,8 +1144,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 7c703e645d..e47af44398 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 f5358612884aae8d0686f3ff98ccee567a746f16..a6f9336f27cb4a7aed0c01cde417d2287e393929 100644
+index 0dfb60e4635cc960b5cb481206b6c02adb36d7f9..251fa656bf17ecdd031c0e16def5eff3f553e9b4 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -688,6 +688,20 @@ public final class Bukkit {
+@@ -689,6 +689,20 @@ public final class Bukkit {
return server.getPlayer(id);
}
@@ -34,10 +34,10 @@ index f5358612884aae8d0686f3ff98ccee567a746f16..a6f9336f27cb4a7aed0c01cde417d228
* 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 064edd612885b2ea4b35001a864503b568c53987..dfbccef8dd67195d588112989a9ffecb712a9fe9 100644
+index ccc1142e496c33c70104646255bae98d43a6b6c2..f46e5fc53f202741b97d9264d4b24e4654d19bfb 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -592,6 +592,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -593,6 +593,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@Nullable
public Player getPlayer(@NotNull UUID id);
diff --git a/patches/api/0146-Add-Git-information-to-version-command-on-startup.patch b/patches/api/0146-Add-Git-information-to-version-command-on-startup.patch
index cafefadff8..6395f98250 100644
--- a/patches/api/0146-Add-Git-information-to-version-command-on-startup.patch
+++ b/patches/api/0146-Add-Git-information-to-version-command-on-startup.patch
@@ -48,10 +48,10 @@ index 0000000000000000000000000000000000000000..909617079db61b675cc7b60b44ef96b3
+ }
+}
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index a6f9336f27cb4a7aed0c01cde417d2287e393929..67dc67343fc149c21ae234a338f08e2f1fa13867 100644
+index 251fa656bf17ecdd031c0e16def5eff3f553e9b4..e108f8a7376e5f90a1e74c0d5ba40ac6c2818523 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -56,6 +56,7 @@ import org.bukkit.util.CachedServerIcon;
+@@ -57,6 +57,7 @@ import org.bukkit.util.CachedServerIcon;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -59,7 +59,7 @@ index a6f9336f27cb4a7aed0c01cde417d2287e393929..67dc67343fc149c21ae234a338f08e2f
/**
* Represents the Bukkit core, for version and Server singleton handling
-@@ -105,7 +106,25 @@ public final class Bukkit {
+@@ -106,7 +107,25 @@ public final class Bukkit {
}
Bukkit.server = server;
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 66ab79c085..2f6f5f4ef1 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 67dc67343fc149c21ae234a338f08e2f1fa13867..3ad64a11c1e67cce5e49c34d389888060bf2a962 100644
+index e108f8a7376e5f90a1e74c0d5ba40ac6c2818523..40b4d6ee5ef1f6b88e0b85131be399526488cd9e 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2268,6 +2268,28 @@ public final class Bukkit {
+@@ -2344,6 +2344,28 @@ public final class Bukkit {
return server.suggestPlayerNamesWhenNullTabCompletions();
}
@@ -38,10 +38,10 @@ index 67dc67343fc149c21ae234a338f08e2f1fa13867..3ad64a11c1e67cce5e49c34d38988806
* 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 dfbccef8dd67195d588112989a9ffecb712a9fe9..3c09a5e08c2641502b7171f27d28d92d02ed39d0 100644
+index f46e5fc53f202741b97d9264d4b24e4654d19bfb..7223bf91b369822afd355c600d834c30270197f4 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1974,6 +1974,23 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -2043,6 +2043,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 29923609b5..9561094895 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 3ad64a11c1e67cce5e49c34d389888060bf2a962..cb0ad65e4e30c3604d655bb75c7b26a7bf4227d7 100644
+index 40b4d6ee5ef1f6b88e0b85131be399526488cd9e..20e8bee8a686f8d37d770d8714c5c55af8491584 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -837,9 +837,8 @@ public final class Bukkit {
+@@ -838,9 +838,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 3ad64a11c1e67cce5e49c34d389888060bf2a962..cb0ad65e4e30c3604d655bb75c7b26a7
@Nullable
public static MapView getMap(int id) {
return server.getMap(id);
-@@ -1231,10 +1230,8 @@ public final class Bukkit {
+@@ -1307,10 +1306,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 3ad64a11c1e67cce5e49c34d389888060bf2a962..cb0ad65e4e30c3604d655bb75c7b26a7
@NotNull
public static OfflinePlayer getOfflinePlayer(@NotNull String name) {
return server.getOfflinePlayer(name);
-@@ -1825,7 +1822,7 @@ public final class Bukkit {
+@@ -1901,7 +1898,7 @@ public final class Bukkit {
*
* @return the scoreboard manager or null if no worlds are loaded.
*/
@@ -59,7 +59,7 @@ index f9c9ae463aacd593e3aa9caf037ea1e23d56c780..f8ae143acbf586d5279b44f7311ca97f
/**
diff --git a/src/main/java/org/bukkit/Location.java b/src/main/java/org/bukkit/Location.java
-index 8508aa2c6fb7c9f41f3d185f5228c86dd3b8b627..f7564581c18425c903e54f949728dd3742ca7bf2 100644
+index 16df0568143a956309e6cab91a0818582fa4ed67..9e80988c71b77bbda1aca27a859537600a1439a6 100644
--- a/src/main/java/org/bukkit/Location.java
+++ b/src/main/java/org/bukkit/Location.java
@@ -46,7 +46,7 @@ public class Location implements Cloneable, ConfigurationSerializable, io.paperm
@@ -239,10 +239,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 3c09a5e08c2641502b7171f27d28d92d02ed39d0..49877944a385b22e5de66b4e33056ee3f592fcd7 100644
+index 7223bf91b369822afd355c600d834c30270197f4..ef71d6036d1df19c730b4d525862f11f3ee5ccb4 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -703,9 +703,8 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -704,9 +704,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
@@ -253,7 +253,7 @@ index 3c09a5e08c2641502b7171f27d28d92d02ed39d0..49877944a385b22e5de66b4e33056ee3
@Nullable
public MapView getMap(int id);
-@@ -1034,10 +1033,8 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1103,10 +1102,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)
@@ -265,7 +265,7 @@ index 3c09a5e08c2641502b7171f27d28d92d02ed39d0..49877944a385b22e5de66b4e33056ee3
@NotNull
public OfflinePlayer getOfflinePlayer(@NotNull String name);
-@@ -1537,7 +1534,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1606,7 +1603,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*
* @return the scoreboard manager or null if no worlds are loaded.
*/
@@ -1008,10 +1008,10 @@ index 002acfbdce1db10f7ba1b6a013e678f504ac6e69..aac9180fa3bcbdb0c17dcf96c86647b5
return getPlayer().getItemOnCursor();
}
diff --git a/src/main/java/org/bukkit/inventory/ItemFactory.java b/src/main/java/org/bukkit/inventory/ItemFactory.java
-index d641a8293f3acd465d5fdde8507046647cb6c568..74aa058e0dee7ae858a2a1d0a48e3bb9093a53ea 100644
+index 246b58f52e914c45f357240b155c826b1d40b202..53457348eaf2e1ef2e844eae87ac94f701525c92 100644
--- a/src/main/java/org/bukkit/inventory/ItemFactory.java
+++ b/src/main/java/org/bukkit/inventory/ItemFactory.java
-@@ -28,7 +28,7 @@ public interface ItemFactory {
+@@ -30,7 +30,7 @@ public interface ItemFactory {
* @return a new ItemMeta that could be applied to an item stack of the
* specified material
*/
diff --git a/patches/api/0180-Expose-the-internal-current-tick.patch b/patches/api/0180-Expose-the-internal-current-tick.patch
index d36d5140f3..e3ba57431c 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 cb0ad65e4e30c3604d655bb75c7b26a7bf4227d7..6ae9a923d85f76bf5e6a41fb0a499196be05473e 100644
+index 20e8bee8a686f8d37d770d8714c5c55af8491584..9d241ad740e0405bfe2e86e349ec565b20dba14f 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2363,6 +2363,10 @@ public final class Bukkit {
+@@ -2439,6 +2439,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 cb0ad65e4e30c3604d655bb75c7b26a7bf4227d7..6ae9a923d85f76bf5e6a41fb0a499196
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 49877944a385b22e5de66b4e33056ee3f592fcd7..86e89976618a7083d3cd5b81669c99788bc72d05 100644
+index ef71d6036d1df19c730b4d525862f11f3ee5ccb4..102d5058e6d2b83aca6504e98012cb4318fdd3e6 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -2056,5 +2056,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -2125,5 +2125,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 08817a18ef..fcb596bb9f 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 6ae9a923d85f76bf5e6a41fb0a499196be05473e..8961bd08163a2e42e1d0628335fa44bac575a6a4 100644
+index 9d241ad740e0405bfe2e86e349ec565b20dba14f..06540f4122165c42e1726c9177aba19be1677edf 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2035,6 +2035,25 @@ public final class Bukkit {
+@@ -2111,6 +2111,25 @@ public final class Bukkit {
public static double[] getTPS() {
return server.getTPS();
}
@@ -35,10 +35,10 @@ index 6ae9a923d85f76bf5e6a41fb0a499196be05473e..8961bd08163a2e42e1d0628335fa44ba
/**
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 86e89976618a7083d3cd5b81669c99788bc72d05..201fb920b2facdd56651b62b873aaeb7946e88de 100644
+index 102d5058e6d2b83aca6504e98012cb4318fdd3e6..b862ce8dfb979f629436204ca326a30b5ace4574 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1718,6 +1718,21 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1787,6 +1787,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 e5fe4cea33..1f925eb607 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 8961bd08163a2e42e1d0628335fa44bac575a6a4..f444294c96f6ab7362eacad47805c6b0f4afdc3a 100644
+index 06540f4122165c42e1726c9177aba19be1677edf..cadc844025ac3f58f57932f551a21b90b5698504 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2386,6 +2386,15 @@ public final class Bukkit {
+@@ -2462,6 +2462,15 @@ public final class Bukkit {
public static int getCurrentTick() {
return server.getCurrentTick();
}
@@ -26,10 +26,10 @@ index 8961bd08163a2e42e1d0628335fa44bac575a6a4..f444294c96f6ab7362eacad47805c6b0
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 201fb920b2facdd56651b62b873aaeb7946e88de..12d338b6751a04b626162f91c35cddaa49cdead1 100644
+index b862ce8dfb979f629436204ca326a30b5ace4574..655dbcc38e35d3b3fa11cbf863a6ba63cc56b47d 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -2078,5 +2078,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -2147,5 +2147,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
* @return Current tick
*/
int getCurrentTick();
diff --git a/patches/api/0194-Expose-game-version.patch b/patches/api/0194-Expose-game-version.patch
index e2ee9d471f..4bebadd38b 100644
--- a/patches/api/0194-Expose-game-version.patch
+++ b/patches/api/0194-Expose-game-version.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Expose game version
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index f444294c96f6ab7362eacad47805c6b0f4afdc3a..1c0a7bba8cbab86382598e20b7b73f0fd2dabcae 100644
+index cadc844025ac3f58f57932f551a21b90b5698504..eae067f9df19a25e3103657c4354864ba6452923 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -157,6 +157,18 @@ public final class Bukkit {
+@@ -158,6 +158,18 @@ public final class Bukkit {
return server.getBukkitVersion();
}
@@ -28,10 +28,10 @@ index f444294c96f6ab7362eacad47805c6b0f4afdc3a..1c0a7bba8cbab86382598e20b7b73f0f
* Gets a view of all currently logged in players. This {@linkplain
* Collections#unmodifiableCollection(Collection) view} is a reused
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 12d338b6751a04b626162f91c35cddaa49cdead1..62716a5a5e6936430f50bf725c061ef39952b96c 100644
+index 655dbcc38e35d3b3fa11cbf863a6ba63cc56b47d..f14733e114c104d70d2a1c1b8e708fde06b0cdb0 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -115,6 +115,16 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -116,6 +116,16 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@NotNull
public String getBukkitVersion();
diff --git a/patches/api/0195-Add-Mob-Goal-API.patch b/patches/api/0195-Add-Mob-Goal-API.patch
index 4e3009f8e5..58bccc5a6f 100644
--- a/patches/api/0195-Add-Mob-Goal-API.patch
+++ b/patches/api/0195-Add-Mob-Goal-API.patch
@@ -535,10 +535,10 @@ index 0000000000000000000000000000000000000000..39fca3674f32c7bbb2797bf6c3e22270
+ @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 1c0a7bba8cbab86382598e20b7b73f0fd2dabcae..ae9f2213ba39b0f61cf670bc876bf265f47ce6df 100644
+index eae067f9df19a25e3103657c4354864ba6452923..a4f58baf0006a8c1ea93d42810d325b4538e8cf6 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2407,6 +2407,16 @@ public final class Bukkit {
+@@ -2483,6 +2483,16 @@ public final class Bukkit {
public static boolean isStopping() {
return server.isStopping();
}
@@ -556,10 +556,10 @@ index 1c0a7bba8cbab86382598e20b7b73f0fd2dabcae..ae9f2213ba39b0f61cf670bc876bf265
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 62716a5a5e6936430f50bf725c061ef39952b96c..b9a31fa710434351f058c50a402be6c89cee9080 100644
+index f14733e114c104d70d2a1c1b8e708fde06b0cdb0..6025ba1676fe9c11f157cea2ca03d0fd2e96dc52 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -2095,5 +2095,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -2164,5 +2164,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/0212-Create-HoverEvent-from-ItemStack-Entity.patch b/patches/api/0212-Create-HoverEvent-from-ItemStack-Entity.patch
index 12d7ee90d5..6c5c79f039 100644
--- a/patches/api/0212-Create-HoverEvent-from-ItemStack-Entity.patch
+++ b/patches/api/0212-Create-HoverEvent-from-ItemStack-Entity.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Create HoverEvent from ItemStack Entity
diff --git a/src/main/java/org/bukkit/inventory/ItemFactory.java b/src/main/java/org/bukkit/inventory/ItemFactory.java
-index 74aa058e0dee7ae858a2a1d0a48e3bb9093a53ea..9045746aa3077c536173d4ac826e0bf49e732b32 100644
+index 53457348eaf2e1ef2e844eae87ac94f701525c92..8c248dac47464757e013c25393fe9bf604ded7c2 100644
--- a/src/main/java/org/bukkit/inventory/ItemFactory.java
+++ b/src/main/java/org/bukkit/inventory/ItemFactory.java
-@@ -222,4 +222,65 @@ public interface ItemFactory {
+@@ -267,4 +267,65 @@ public interface ItemFactory {
@NotNull
ItemStack ensureServerConversions(@NotNull ItemStack item);
// Paper end - ensure server conversions API
diff --git a/patches/api/0218-Add-getOfflinePlayerIfCached-String.patch b/patches/api/0218-Add-getOfflinePlayerIfCached-String.patch
index d3837fd8a3..275ba3d9ee 100644
--- a/patches/api/0218-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 ae9f2213ba39b0f61cf670bc876bf265f47ce6df..2acb1e1e7a865596d0a0535717bc9d5dd49669c3 100644
+index a4f58baf0006a8c1ea93d42810d325b4538e8cf6..102f1ac7c2fde48be4c7e582019b8601dcf361e4 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -1249,6 +1249,27 @@ public final class Bukkit {
+@@ -1325,6 +1325,27 @@ public final class Bukkit {
return server.getOfflinePlayer(name);
}
@@ -37,10 +37,10 @@ index ae9f2213ba39b0f61cf670bc876bf265f47ce6df..2acb1e1e7a865596d0a0535717bc9d5d
* 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 b9a31fa710434351f058c50a402be6c89cee9080..c8a312bf6cef6ba62114d4f46555f517f53c7576 100644
+index 6025ba1676fe9c11f157cea2ca03d0fd2e96dc52..2864bf08aacedbbfdaa507838d42441b88953786 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1048,6 +1048,25 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1117,6 +1117,25 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@NotNull
public OfflinePlayer getOfflinePlayer(@NotNull String name);
diff --git a/patches/api/0264-Expand-world-key-API.patch b/patches/api/0264-Expand-world-key-API.patch
index aff1e41f83..213dc3023d 100644
--- a/patches/api/0264-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 2acb1e1e7a865596d0a0535717bc9d5dd49669c3..369fc041f3203da7d367423ac74cb3eba88becc9 100644
+index 102f1ac7c2fde48be4c7e582019b8601dcf361e4..def2ea036536d0e15bc3b35bb69e99a9bcba1d60 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -831,6 +831,18 @@ public final class Bukkit {
+@@ -832,6 +832,18 @@ public final class Bukkit {
public static World getWorld(@NotNull UUID uid) {
return server.getWorld(uid);
}
@@ -56,10 +56,10 @@ index f587a529e4d7b097b3f204a34c636da0bbac6747..58b81f30f9e29ab481ae96c7eea40ad9
// Paper end
}
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index c8a312bf6cef6ba62114d4f46555f517f53c7576..2bfb1cfb4d669f4bb5a4ef540683bcee409fc49e 100644
+index 2864bf08aacedbbfdaa507838d42441b88953786..11be12a66bbc660221760d857daf78cdb18d77f0 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -695,6 +695,17 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -696,6 +696,17 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@Nullable
public World getWorld(@NotNull UUID uid);
diff --git a/patches/api/0282-Add-basic-Datapack-API.patch b/patches/api/0282-Add-basic-Datapack-API.patch
index 292b9f12a5..a979142151 100644
--- a/patches/api/0282-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 369fc041f3203da7d367423ac74cb3eba88becc9..256b98750ac5c48526b6b8d5cb4894b8bb6665be 100644
+index def2ea036536d0e15bc3b35bb69e99a9bcba1d60..fa62a3a59cdb60dd91eaa0ca510482b98191e813 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -317,9 +317,11 @@ public final class Bukkit {
+@@ -318,9 +318,11 @@ public final class Bukkit {
/**
* Get the DataPack Manager.
*
@@ -85,7 +85,7 @@ index 369fc041f3203da7d367423ac74cb3eba88becc9..256b98750ac5c48526b6b8d5cb4894b8
public static DataPackManager getDataPackManager() {
return server.getDataPackManager();
}
-@@ -2450,6 +2452,14 @@ public final class Bukkit {
+@@ -2526,6 +2528,14 @@ public final class Bukkit {
public static com.destroystokyo.paper.entity.ai.MobGoals getMobGoals() {
return server.getMobGoals();
}
@@ -101,10 +101,10 @@ index 369fc041f3203da7d367423ac74cb3eba88becc9..256b98750ac5c48526b6b8d5cb4894b8
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 2bfb1cfb4d669f4bb5a4ef540683bcee409fc49e..156f014f94ed100d4d352a4ee5d0a2dc2bff518f 100644
+index 11be12a66bbc660221760d857daf78cdb18d77f0..d2103b455c105c3fe2273823b800b8c617492c62 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -255,9 +255,11 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -256,9 +256,11 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
/**
* Get the DataPack Manager.
*
@@ -116,7 +116,7 @@ index 2bfb1cfb4d669f4bb5a4ef540683bcee409fc49e..156f014f94ed100d4d352a4ee5d0a2dc
public DataPackManager getDataPackManager();
/**
-@@ -2133,5 +2135,11 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -2202,5 +2204,11 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*/
@NotNull
com.destroystokyo.paper.entity.ai.MobGoals getMobGoals();
diff --git a/patches/api/0326-Allow-delegation-to-vanilla-chunk-gen.patch b/patches/api/0326-Allow-delegation-to-vanilla-chunk-gen.patch
index f91695aefc..a701c444dd 100644
--- a/patches/api/0326-Allow-delegation-to-vanilla-chunk-gen.patch
+++ b/patches/api/0326-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 256b98750ac5c48526b6b8d5cb4894b8bb6665be..44575892c30296800e444e38140853178bc24e6c 100644
+index fa62a3a59cdb60dd91eaa0ca510482b98191e813..4a679c2feb117f3e4e2a3d2217ec492d887381c9 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -1970,6 +1970,24 @@ public final class Bukkit {
+@@ -2046,6 +2046,24 @@ public final class Bukkit {
return server.createChunkData(world);
}
@@ -34,10 +34,10 @@ index 256b98750ac5c48526b6b8d5cb4894b8bb6665be..44575892c30296800e444e3814085317
* 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 156f014f94ed100d4d352a4ee5d0a2dc2bff518f..5a23830763fd20aa35cbd3a0669c5e3ee965131e 100644
+index d2103b455c105c3fe2273823b800b8c617492c62..603ec521e202c5cc3a7755c9e7e94657135586c3 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1661,6 +1661,22 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1730,6 +1730,22 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@NotNull
public ChunkGenerator.ChunkData createChunkData(@NotNull World world);
diff --git a/patches/api/0345-API-for-creating-command-sender-which-forwards-feedb.patch b/patches/api/0345-API-for-creating-command-sender-which-forwards-feedb.patch
index 5a9961dc34..79af94fc3b 100644
--- a/patches/api/0345-API-for-creating-command-sender-which-forwards-feedb.patch
+++ b/patches/api/0345-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 44575892c30296800e444e38140853178bc24e6c..fcd63ae1130eb2db285392e08053af915279b6e7 100644
+index 4a679c2feb117f3e4e2a3d2217ec492d887381c9..dcd4c6b13e14cb45916e1ce59811e66ee23f745f 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -1459,6 +1459,20 @@ public final class Bukkit {
+@@ -1535,6 +1535,20 @@ public final class Bukkit {
return server.getConsoleSender();
}
@@ -30,10 +30,10 @@ index 44575892c30296800e444e38140853178bc24e6c..fcd63ae1130eb2db285392e08053af91
* 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 5a23830763fd20aa35cbd3a0669c5e3ee965131e..c2a9afee5c57d62bb6d62807eadae513b53849ba 100644
+index 603ec521e202c5cc3a7755c9e7e94657135586c3..6dbb7010f2097aaf24be2e81b4a780a508c209b3 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1225,6 +1225,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1294,6 +1294,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@NotNull
public ConsoleCommandSender getConsoleSender();
diff --git a/patches/api/0351-Custom-Potion-Mixes.patch b/patches/api/0351-Custom-Potion-Mixes.patch
index ebb1ae34fe..3d48ba327b 100644
--- a/patches/api/0351-Custom-Potion-Mixes.patch
+++ b/patches/api/0351-Custom-Potion-Mixes.patch
@@ -155,10 +155,10 @@ index 0000000000000000000000000000000000000000..1bf964605f681469fb364baaa18381c0
+ }
+}
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index fcd63ae1130eb2db285392e08053af915279b6e7..209a0c48e092f168744498e1ba7555279318394c 100644
+index dcd4c6b13e14cb45916e1ce59811e66ee23f745f..3722fdcff8f0154d5580bc7c4b0badbf71d3c2c2 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2492,6 +2492,15 @@ public final class Bukkit {
+@@ -2568,6 +2568,15 @@ public final class Bukkit {
public static io.papermc.paper.datapack.DatapackManager getDatapackManager() {
return server.getDatapackManager();
}
@@ -175,10 +175,10 @@ index fcd63ae1130eb2db285392e08053af915279b6e7..209a0c48e092f168744498e1ba755527
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index c2a9afee5c57d62bb6d62807eadae513b53849ba..20f95f8911852d86ea938dd73ed0d44c01b27d28 100644
+index 6dbb7010f2097aaf24be2e81b4a780a508c209b3..759e62bbcccc01513c0781ee989bfdc1ab38698e 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -2169,5 +2169,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -2238,5 +2238,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*/
@NotNull
io.papermc.paper.datapack.DatapackManager getDatapackManager();
diff --git a/patches/api/0355-Add-enchantWithLevels-API.patch b/patches/api/0355-Add-enchantWithLevels-API.patch
index 97eaf5d29a..af548612d5 100644
--- a/patches/api/0355-Add-enchantWithLevels-API.patch
+++ b/patches/api/0355-Add-enchantWithLevels-API.patch
@@ -3,15 +3,55 @@ From: Jason Penilla <11360596+jpenilla@users.noreply.github.com>
Date: Wed, 16 Mar 2022 20:35:13 -0700
Subject: [PATCH] Add enchantWithLevels API
+Deprecate upstream's newer and poorly implemented similar
+API.
diff --git a/src/main/java/org/bukkit/inventory/ItemFactory.java b/src/main/java/org/bukkit/inventory/ItemFactory.java
-index 9045746aa3077c536173d4ac826e0bf49e732b32..1c4e0c7356047163a38f5ac4dd544129d0b36271 100644
+index 8c248dac47464757e013c25393fe9bf604ded7c2..0217f98a74140bbae454d467de27c12b6060ca75 100644
--- a/src/main/java/org/bukkit/inventory/ItemFactory.java
+++ b/src/main/java/org/bukkit/inventory/ItemFactory.java
-@@ -174,6 +174,22 @@ public interface ItemFactory {
- Material getSpawnEgg(@NotNull EntityType type);
+@@ -185,8 +185,11 @@ public interface ItemFactory {
+ * @param level the level to use, which is the level in the enchantment table
+ * @param allowTreasures allows treasure enchants, e.g. mending, if true.
+ * @return the modified ItemStack, or a copy if the ItemStack cannot be enchanted directly
++ * @deprecated use {@link #enchantWithLevels(ItemStack, int, boolean, java.util.Random)}. This method's implementation is poorly
++ * designed and was originally broken.
+ */
+ @NotNull
++ @Deprecated // Paper
+ ItemStack enchantItem(@NotNull final Entity entity, @NotNull final ItemStack item, final int level, final boolean allowTreasures);
+
+ /**
+@@ -200,8 +203,11 @@ public interface ItemFactory {
+ * @param allowTreasures allow the treasure enchants, e.g. mending, if true.
+ * @return the modified ItemStack, or a copy if the ItemStack cannot be
+ * enchanted directly
++ * @deprecated use {@link #enchantWithLevels(ItemStack, int, boolean, java.util.Random)}. This method's implementation is poorly
++ * designed and was originally broken.
+ */
+ @NotNull
++ @Deprecated // Paper
+ ItemStack enchantItem(@NotNull final World world, @NotNull final ItemStack item, final int level, final boolean allowTreasures);
+
+ /**
+@@ -214,8 +220,11 @@ public interface ItemFactory {
+ * @param allowTreasures allow treasure enchantments, e.g. mending, if true.
+ * @return the modified ItemStack, or a copy if the ItemStack cannot be
+ * enchanted directly
++ * @deprecated use {@link #enchantWithLevels(ItemStack, int, boolean, java.util.Random)}. This method's implementation is poorly
++ * designed and was originally broken.
+ */
+ @NotNull
++ @Deprecated // Paper
+ ItemStack enchantItem(@NotNull final ItemStack item, final int level, final boolean allowTreasures);
// Paper start - Adventure
+@@ -328,4 +337,22 @@ public interface ItemFactory {
+ @Deprecated
+ net.md_5.bungee.api.chat.hover.content.Content hoverContentOf(@NotNull org.bukkit.entity.Entity entity, @NotNull net.md_5.bungee.api.chat.BaseComponent[] customName);
+ // Paper end - bungee hover events
++
++ // Paper start - enchantWithLevels API
+ /**
+ * Randomly enchants a copy of the provided {@link ItemStack} using the given experience levels.
+ *
@@ -27,10 +67,8 @@ index 9045746aa3077c536173d4ac826e0bf49e732b32..1c4e0c7356047163a38f5ac4dd544129
+ * @throws IllegalArgumentException on bad arguments
+ */
+ @NotNull ItemStack enchantWithLevels(@NotNull ItemStack itemStack, @org.jetbrains.annotations.Range(from = 1, to = 30) int levels, boolean allowTreasure, @NotNull java.util.Random random);
-+
- /**
- * Creates a hover event for the given item.
- *
++ // Paper end - enchantWithLevels API
+ }
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
index f9faef1b73b5027a3d22e76a0b33b7c952f3ae08..eac7adf622b91489711a2f8bcff77fb31292dd67 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
diff --git a/patches/api/0365-Add-method-isTickingWorlds-to-Bukkit.patch b/patches/api/0365-Add-method-isTickingWorlds-to-Bukkit.patch
index 126775a362..183594a39e 100644
--- a/patches/api/0365-Add-method-isTickingWorlds-to-Bukkit.patch
+++ b/patches/api/0365-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 209a0c48e092f168744498e1ba7555279318394c..aa938c777936bbefc0c8cef248ad03e0f52bef2c 100644
+index 3722fdcff8f0154d5580bc7c4b0badbf71d3c2c2..65db3a8b736dc3c9080616517813119ebc722292 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -775,12 +775,26 @@ public final class Bukkit {
+@@ -776,12 +776,26 @@ public final class Bukkit {
return server.getWorlds();
}
@@ -35,7 +35,7 @@ index 209a0c48e092f168744498e1ba7555279318394c..aa938c777936bbefc0c8cef248ad03e0
*
* @param creator the options to use when creating the world
* @return newly created or loaded world
-@@ -792,6 +806,9 @@ public final class Bukkit {
+@@ -793,6 +807,9 @@ public final class Bukkit {
/**
* Unloads a world with the given name.
@@ -45,7 +45,7 @@ index 209a0c48e092f168744498e1ba7555279318394c..aa938c777936bbefc0c8cef248ad03e0
*
* @param name Name of the world to unload
* @param save whether to save the chunks before unloading
-@@ -803,6 +820,9 @@ public final class Bukkit {
+@@ -804,6 +821,9 @@ public final class Bukkit {
/**
* Unloads the given world.
@@ -56,10 +56,10 @@ index 209a0c48e092f168744498e1ba7555279318394c..aa938c777936bbefc0c8cef248ad03e0
* @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 20f95f8911852d86ea938dd73ed0d44c01b27d28..7bdac4b297e40383dd2ef4e2735fdfb086ecaa14 100644
+index 759e62bbcccc01513c0781ee989bfdc1ab38698e..af2bbeff54f0044f51bf0df17727b2f8bec33fe4 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -648,34 +648,55 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -649,34 +649,55 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@NotNull
public List getWorlds();
diff --git a/patches/api/0417-Folia-scheduler-and-owned-region-API.patch b/patches/api/0417-Folia-scheduler-and-owned-region-API.patch
index b9c7657910..3803760991 100644
--- a/patches/api/0417-Folia-scheduler-and-owned-region-API.patch
+++ b/patches/api/0417-Folia-scheduler-and-owned-region-API.patch
@@ -499,10 +499,10 @@ index 0000000000000000000000000000000000000000..a6b50c9d8af589cc4747e14d343d2045
+ }
+}
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index aa938c777936bbefc0c8cef248ad03e0f52bef2c..b243db56756c67cd2c41d7768898d01539f9260a 100644
+index 65db3a8b736dc3c9080616517813119ebc722292..d1ddd924db3f781138696f49110953d10bf76d5f 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2523,6 +2523,141 @@ public final class Bukkit {
+@@ -2599,6 +2599,141 @@ public final class Bukkit {
}
// Paper end
@@ -645,10 +645,10 @@ index aa938c777936bbefc0c8cef248ad03e0f52bef2c..b243db56756c67cd2c41d7768898d015
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 7bdac4b297e40383dd2ef4e2735fdfb086ecaa14..6b72eccdcb6f75534a4267a1dd0a4cc2f39e917b 100644
+index af2bbeff54f0044f51bf0df17727b2f8bec33fe4..3d8a33563cb266fd784e264f6ce3850213a3838a 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -2198,4 +2198,119 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -2267,4 +2267,119 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*/
@NotNull org.bukkit.potion.PotionBrewer getPotionBrewer();
// Paper end
diff --git a/patches/api/0422-API-for-updating-recipes-on-clients.patch b/patches/api/0422-API-for-updating-recipes-on-clients.patch
index 2db8356bc3..e51f4a6052 100644
--- a/patches/api/0422-API-for-updating-recipes-on-clients.patch
+++ b/patches/api/0422-API-for-updating-recipes-on-clients.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] API for updating recipes on clients
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index b243db56756c67cd2c41d7768898d01539f9260a..f380a518bc444bfdfbbedf38805c7684e53a5629 100644
+index d1ddd924db3f781138696f49110953d10bf76d5f..14ec0bf4e811028bf3ca419ac85d1676f801a331 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -959,6 +959,26 @@ public final class Bukkit {
+@@ -960,6 +960,26 @@ public final class Bukkit {
server.reloadData();
}
@@ -35,7 +35,7 @@ index b243db56756c67cd2c41d7768898d01539f9260a..f380a518bc444bfdfbbedf38805c7684
/**
* Returns the primary logger associated with this server instance.
*
-@@ -1013,6 +1033,20 @@ public final class Bukkit {
+@@ -1014,6 +1034,20 @@ public final class Bukkit {
return server.addRecipe(recipe);
}
@@ -56,7 +56,7 @@ index b243db56756c67cd2c41d7768898d01539f9260a..f380a518bc444bfdfbbedf38805c7684
/**
* Get a list of all recipes for a given item. The stack size is ignored
* in comparisons. If the durability is -1, it will match any data value.
-@@ -1129,6 +1163,24 @@ public final class Bukkit {
+@@ -1205,6 +1239,24 @@ public final class Bukkit {
return server.removeRecipe(key);
}
@@ -82,10 +82,10 @@ index b243db56756c67cd2c41d7768898d01539f9260a..f380a518bc444bfdfbbedf38805c7684
* Gets a list of command aliases defined in the server properties.
*
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 6b72eccdcb6f75534a4267a1dd0a4cc2f39e917b..68206cf0178c26c0f528a1e14a5fb4e9ad410369 100644
+index 3d8a33563cb266fd784e264f6ce3850213a3838a..49b1f9596502c574638b58996fc8ca0bfde6826b 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -811,6 +811,22 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -812,6 +812,22 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*/
public void reloadData();
@@ -108,7 +108,7 @@ index 6b72eccdcb6f75534a4267a1dd0a4cc2f39e917b..68206cf0178c26c0f528a1e14a5fb4e9
/**
* Returns the primary logger associated with this server instance.
*
-@@ -846,15 +862,34 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -847,15 +863,34 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
public boolean dispatchCommand(@NotNull CommandSender sender, @NotNull String commandLine) throws CommandException;
/**
@@ -144,7 +144,7 @@ index 6b72eccdcb6f75534a4267a1dd0a4cc2f39e917b..68206cf0178c26c0f528a1e14a5fb4e9
/**
* Get a list of all recipes for a given item. The stack size is ignored
* in comparisons. If the durability is -1, it will match any data value.
-@@ -955,6 +990,22 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1024,6 +1059,22 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*/
public boolean removeRecipe(@NotNull NamespacedKey key);
diff --git a/patches/api/0427-Deprecate-and-replace-methods-with-old-StructureType.patch b/patches/api/0427-Deprecate-and-replace-methods-with-old-StructureType.patch
index 086f74e691..683527dfc2 100644
--- a/patches/api/0427-Deprecate-and-replace-methods-with-old-StructureType.patch
+++ b/patches/api/0427-Deprecate-and-replace-methods-with-old-StructureType.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Deprecate and replace methods with old StructureType
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index f380a518bc444bfdfbbedf38805c7684e53a5629..f78b5fd3c3347d28da58777bff88903d2eb140f6 100644
+index 14ec0bf4e811028bf3ca419ac85d1676f801a331..884902cb7f86c0b56594ccafc7d05c6c7a23ab53 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -915,7 +915,9 @@ public final class Bukkit {
+@@ -916,7 +916,9 @@ public final class Bukkit {
*
* @see World#locateNearestStructure(org.bukkit.Location,
* org.bukkit.StructureType, int, boolean)
@@ -18,7 +18,7 @@ index f380a518bc444bfdfbbedf38805c7684e53a5629..f78b5fd3c3347d28da58777bff88903d
@NotNull
public static ItemStack createExplorerMap(@NotNull World world, @NotNull Location location, @NotNull StructureType structureType) {
return server.createExplorerMap(world, location, structureType);
-@@ -924,9 +926,6 @@ public final class Bukkit {
+@@ -925,9 +927,6 @@ public final class Bukkit {
/**
* Create a new explorer map targeting the closest nearby structure of a
* given {@link StructureType}.
@@ -28,7 +28,7 @@ index f380a518bc444bfdfbbedf38805c7684e53a5629..f78b5fd3c3347d28da58777bff88903d
*
* @param world the world the map will belong to
* @param location the origin location to find the nearest structure
-@@ -938,11 +937,54 @@ public final class Bukkit {
+@@ -939,11 +938,54 @@ public final class Bukkit {
*
* @see World#locateNearestStructure(org.bukkit.Location,
* org.bukkit.StructureType, int, boolean)
@@ -84,10 +84,10 @@ index f380a518bc444bfdfbbedf38805c7684e53a5629..f78b5fd3c3347d28da58777bff88903d
/**
* Reloads the server, refreshing settings and plugin information.
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 68206cf0178c26c0f528a1e14a5fb4e9ad410369..8d8fe04e6b09d2a5b1cc05002073df5c58cdcb96 100644
+index 49b1f9596502c574638b58996fc8ca0bfde6826b..d0c634629aa0b6bac0da93655dd86ad3aea0ce30 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -775,16 +775,15 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -776,16 +776,15 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*
* @see World#locateNearestStructure(org.bukkit.Location,
* org.bukkit.StructureType, int, boolean)
@@ -106,7 +106,7 @@ index 68206cf0178c26c0f528a1e14a5fb4e9ad410369..8d8fe04e6b09d2a5b1cc05002073df5c
*
* @param world the world the map will belong to
* @param location the origin location to find the nearest structure
-@@ -796,9 +795,50 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -797,9 +796,50 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*
* @see World#locateNearestStructure(org.bukkit.Location,
* org.bukkit.StructureType, int, boolean)
diff --git a/patches/server/0005-Paper-config-files.patch b/patches/server/0005-Paper-config-files.patch
index d0e878423f..f5537d6127 100644
--- a/patches/server/0005-Paper-config-files.patch
+++ b/patches/server/0005-Paper-config-files.patch
@@ -4900,10 +4900,10 @@ index 4dfb372f8c8f60b6aad18ea9b6334e1a7c9bc4ed..9f877007869ef984d2c95bd8e3d773a2
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 b72a4c4e0d65646290545bf4bae99853c01f592e..b8844bc5fa43ad85230d9c80ae7602306cd22b27 100644
+index 811e31d2502cb6f7ed6b151d894dfceea63ac388..d1baf686c0a59584a4866490f4f4fe65b3ac6eed 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -918,6 +918,7 @@ public final class CraftServer implements Server {
+@@ -919,6 +919,7 @@ public final class CraftServer implements Server {
}
org.spigotmc.SpigotConfig.init((File) this.console.options.valueOf("spigot-settings")); // Spigot
diff --git a/patches/server/0008-CB-fixes.patch b/patches/server/0008-CB-fixes.patch
index 2e7d92a9ae..e3be0a16ca 100644
--- a/patches/server/0008-CB-fixes.patch
+++ b/patches/server/0008-CB-fixes.patch
@@ -17,7 +17,7 @@ Subject: [PATCH] CB fixes
Co-authored-by: Spottedleaf
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index f3a41559be5ad0b40762d368d8582704c8305961..32565740c6b013d9ad644e7c62d6721bdbd15b10 100644
+index 10968eb004ee01c4fb72aeb93f058747b02998b9..0668f61ff7e52d1ea32af9f1fd1879d7280bb7cd 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -294,7 +294,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -84,10 +84,10 @@ index 6ab2fd523b7f4e5cacef4ebb95f6812f391985d1..85133c388eff009ea1ffa391824b6556
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index dbc424ae95f522e8e539922c8a70e43381ffcbe6..a694a208f7c84f4c2ffa654cdf96942e483eedba 100644
+index d1baf686c0a59584a4866490f4f4fe65b3ac6eed..3d2c168d29873c4418bc297740e7032d6020ff52 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2360,7 +2360,13 @@ public final class CraftServer implements Server {
+@@ -2422,7 +2422,13 @@ public final class CraftServer implements Server {
Preconditions.checkArgument(key != null, "NamespacedKey key cannot be null");
LootDataManager registry = this.getServer().getLootData();
@@ -103,7 +103,7 @@ index dbc424ae95f522e8e539922c8a70e43381ffcbe6..a694a208f7c84f4c2ffa654cdf96942e
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/util/permissions/CraftDefaultPermissions.java b/src/main/java/org/bukkit/craftbukkit/util/permissions/CraftDefaultPermissions.java
-index c93eec7a81ed83dc9190417dd51acb2780d3b60d..70d3949616c63038ad3e9bd1069db5ea2fb3f3b8 100644
+index 5ac25dab93fd4c9e9533c80d1ca3d93446d7a365..245ad120a36b6defca7e6889faae1ca5fc33d0c7 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/permissions/CraftDefaultPermissions.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/permissions/CraftDefaultPermissions.java
@@ -15,7 +15,7 @@ public final class CraftDefaultPermissions {
diff --git a/patches/server/0010-Adventure.patch b/patches/server/0010-Adventure.patch
index 7eadca5ebb..89c1896b82 100644
--- a/patches/server/0010-Adventure.patch
+++ b/patches/server/0010-Adventure.patch
@@ -1734,7 +1734,7 @@ index db98858806a3b6fd3c16ff2226447d0d5960b6b6..7720470396d3ade926c4c75c5fab5a3f
public > T readEnum(Class enumClass) {
diff --git a/src/main/java/net/minecraft/network/PacketEncoder.java b/src/main/java/net/minecraft/network/PacketEncoder.java
-index 275b853d09f3158c590e9ff6eb20977eee8b3744..7b1edef4830f3431c17e8a6e019249ea3c9b2c92 100644
+index 344c5af75c4a66bb27f3f422937c6c427c15ed25..3d359f80f52bff6f19fcb484f491a874f9dcff27 100644
--- a/src/main/java/net/minecraft/network/PacketEncoder.java
+++ b/src/main/java/net/minecraft/network/PacketEncoder.java
@@ -35,6 +35,7 @@ public class PacketEncoder extends MessageToByteEncoder> {
@@ -2428,7 +2428,7 @@ index ea26375d6f23b14a8a1cd926fe410713551de99d..ed80d9551cd7cc1ec26a5d5fd7bc185b
@Override
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 866e515ed6c6b73ca277df8931e24757b616a757..46f2da7f90fd92e6cbd1ae371d04af85ade86ec1 100644
+index 4b4208d5c955a14a5835d7acbc74a5f14d32f816..986575ed7bdbe9aecb8f303756538049ce9b6ef2 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -45,6 +45,7 @@ import net.minecraft.nbt.ListTag;
@@ -2448,7 +2448,7 @@ index 866e515ed6c6b73ca277df8931e24757b616a757..46f2da7f90fd92e6cbd1ae371d04af85
import com.mojang.datafixers.util.Pair;
import java.util.Arrays;
import java.util.concurrent.ExecutionException;
-@@ -1686,9 +1689,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1687,9 +1690,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
*/
this.player.disconnect();
@@ -2463,7 +2463,7 @@ index 866e515ed6c6b73ca277df8931e24757b616a757..46f2da7f90fd92e6cbd1ae371d04af85
}
// CraftBukkit end
this.player.getTextFilter().leave();
-@@ -1752,12 +1757,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1753,12 +1758,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
CompletableFuture completablefuture = this.filterTextPacket(playerchatmessage.signedContent());
@@ -2479,7 +2479,7 @@ index 866e515ed6c6b73ca277df8931e24757b616a757..46f2da7f90fd92e6cbd1ae371d04af85
this.broadcastChatMessage(playerchatmessage1);
}, this.server.chatExecutor); // CraftBukkit - async chat
});
-@@ -1862,7 +1866,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1863,7 +1867,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
Optional optional = this.unpackAndApplyLastSeen(acknowledgment);
if (this.player.isRemoved() || this.player.getChatVisibility() == ChatVisiblity.HIDDEN) { // CraftBukkit - dead men tell no tales
@@ -2488,7 +2488,7 @@ index 866e515ed6c6b73ca277df8931e24757b616a757..46f2da7f90fd92e6cbd1ae371d04af85
return Optional.empty();
} else {
this.player.resetLastActionTime();
-@@ -1920,7 +1924,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1921,7 +1925,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.handleCommand(s);
} else if (this.player.getChatVisibility() == ChatVisiblity.SYSTEM) {
// Do nothing, this is coming from a plugin
@@ -2502,7 +2502,7 @@ index 866e515ed6c6b73ca277df8931e24757b616a757..46f2da7f90fd92e6cbd1ae371d04af85
Player player = this.getCraftPlayer();
AsyncPlayerChatEvent event = new AsyncPlayerChatEvent(async, player, s, new LazyPlayerSet(this.server));
String originalFormat = event.getFormat(), originalMessage = event.getMessage();
-@@ -2044,7 +2053,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2045,7 +2054,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
});
} else if (this.player.getChatVisibility() == ChatVisiblity.SYSTEM) { // Re-add "Command Only" flag check
@@ -2511,7 +2511,7 @@ index 866e515ed6c6b73ca277df8931e24757b616a757..46f2da7f90fd92e6cbd1ae371d04af85
} else {
this.chat(s, message, true);
}
-@@ -2907,6 +2916,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2908,6 +2917,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
public void handleClientInformation(ServerboundClientInformationPacket packet) {
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
this.player.updateOptions(packet.information());
@@ -2866,10 +2866,10 @@ index 23bdb77690ba15bcbbfb0c70af23336d08ac7752..8f144a357174bbe096ac9b38a5e67a61
}
collection = icons;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 137aa7963d2d4f8477da1923f3bfdcb8acf2c65e..cbec0bf7822e9cf10b9ab4cc406eb1ea430f071a 100644
+index 3d2c168d29873c4418bc297740e7032d6020ff52..61f124c9c607d077cdaa6a1e9b14b323057af52d 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -616,8 +616,10 @@ public final class CraftServer implements Server {
+@@ -617,8 +617,10 @@ public final class CraftServer implements Server {
}
@Override
@@ -2880,7 +2880,7 @@ index 137aa7963d2d4f8477da1923f3bfdcb8acf2c65e..cbec0bf7822e9cf10b9ab4cc406eb1ea
}
@Override
-@@ -1474,7 +1476,15 @@ public final class CraftServer implements Server {
+@@ -1536,7 +1538,15 @@ public final class CraftServer implements Server {
return this.configuration.getInt("settings.spawn-radius", -1);
}
@@ -2896,7 +2896,7 @@ index 137aa7963d2d4f8477da1923f3bfdcb8acf2c65e..cbec0bf7822e9cf10b9ab4cc406eb1ea
public String getShutdownMessage() {
return this.configuration.getString("settings.shutdown-message");
}
-@@ -1642,7 +1652,20 @@ public final class CraftServer implements Server {
+@@ -1704,7 +1714,20 @@ public final class CraftServer implements Server {
}
@Override
@@ -2917,7 +2917,7 @@ index 137aa7963d2d4f8477da1923f3bfdcb8acf2c65e..cbec0bf7822e9cf10b9ab4cc406eb1ea
Set recipients = new HashSet<>();
for (Permissible permissible : this.getPluginManager().getPermissionSubscriptions(permission)) {
if (permissible instanceof CommandSender && permissible.hasPermission(permission)) {
-@@ -1650,14 +1673,14 @@ public final class CraftServer implements Server {
+@@ -1712,14 +1735,14 @@ public final class CraftServer implements Server {
}
}
@@ -2934,7 +2934,7 @@ index 137aa7963d2d4f8477da1923f3bfdcb8acf2c65e..cbec0bf7822e9cf10b9ab4cc406eb1ea
for (CommandSender recipient : recipients) {
recipient.sendMessage(message);
-@@ -1920,6 +1943,14 @@ public final class CraftServer implements Server {
+@@ -1982,6 +2005,14 @@ public final class CraftServer implements Server {
return CraftInventoryCreator.INSTANCE.createInventory(owner, type);
}
@@ -2949,7 +2949,7 @@ index 137aa7963d2d4f8477da1923f3bfdcb8acf2c65e..cbec0bf7822e9cf10b9ab4cc406eb1ea
@Override
public Inventory createInventory(InventoryHolder owner, InventoryType type, String title) {
Preconditions.checkArgument(type != null, "InventoryType cannot be null");
-@@ -1934,13 +1965,28 @@ public final class CraftServer implements Server {
+@@ -1996,13 +2027,28 @@ public final class CraftServer implements Server {
return CraftInventoryCreator.INSTANCE.createInventory(owner, size);
}
@@ -2978,7 +2978,7 @@ index 137aa7963d2d4f8477da1923f3bfdcb8acf2c65e..cbec0bf7822e9cf10b9ab4cc406eb1ea
public Merchant createMerchant(String title) {
return new CraftMerchantCustom(title == null ? InventoryType.MERCHANT.getDefaultTitle() : title);
}
-@@ -2005,6 +2051,17 @@ public final class CraftServer implements Server {
+@@ -2067,6 +2113,17 @@ public final class CraftServer implements Server {
return Thread.currentThread().equals(this.console.serverThread) || this.console.hasStopped() || !org.spigotmc.AsyncCatcher.enabled; // All bets are off if we have shut down (e.g. due to watchdog)
}
@@ -2996,7 +2996,7 @@ index 137aa7963d2d4f8477da1923f3bfdcb8acf2c65e..cbec0bf7822e9cf10b9ab4cc406eb1ea
@Override
public String getMotd() {
return this.console.getMotd();
-@@ -2439,4 +2496,53 @@ public final class CraftServer implements Server {
+@@ -2501,4 +2558,53 @@ public final class CraftServer implements Server {
return this.spigot;
}
// Spigot end
@@ -3527,7 +3527,7 @@ index 07de73a43d6db344299442b35e17c6832b8e5a25..9ae78a0fe829c7487a945a801dbbca23
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 145542a29cc7df606328a106dd044db956b2c8ff..8be1e47f7cd6940b0ba213a2da0cc8334b256fc3 100644
+index 278c2adf102c1ec40328c3f4a966afc33586a7e4..1f63d24ebe0563431c8f1d3f901e2816648c7a8f 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -206,6 +206,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@@ -3642,7 +3642,7 @@ index 61759e8179d0f6342abf0c0294e5a024928db8d9..92e21126a9347f1ee2279ab09bb6abf2
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 4cc709edc8de43639fd8d6b54d160b023a7e50b7..d7260f96da9974c721a8b49c1f9b0f1ee56c6ce1 100644
+index 54888af764f206690ecc5b3331a13a570972eac3..12a027e243d5336d5e96b88229499bfd2f65758c 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -296,14 +296,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -4137,10 +4137,10 @@ index 5725b0281ac53a2354b233223259d6784353bc6e..9ef939b76d06874b856e0c850addb364
@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 d9547cb0fe2a99b19fe2da63c96315d65aefa244..187011474d15a4a5a5d6cb1638660d9ed2b3a0e5 100644
+index 070bf9dbac31780ad46132c8b5d012c31518f238..bbf30a36c44cd6403a2f45622f5dd186adc18772 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -905,9 +905,9 @@ public class CraftEventFactory {
+@@ -907,9 +907,9 @@ public class CraftEventFactory {
return event;
}
@@ -4152,7 +4152,7 @@ index d9547cb0fe2a99b19fe2da63c96315d65aefa244..187011474d15a4a5a5d6cb1638660d9e
event.setKeepInventory(keepInventory);
event.setKeepLevel(victim.keepLevel); // SPIGOT-2222: pre-set keepLevel
org.bukkit.World world = entity.getWorld();
-@@ -932,7 +932,7 @@ public class CraftEventFactory {
+@@ -934,7 +934,7 @@ public class CraftEventFactory {
* Server methods
*/
public static ServerListPingEvent callServerListPingEvent(SocketAddress address, String motd, int numPlayers, int maxPlayers) {
@@ -4284,12 +4284,12 @@ 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 d1126215e14e7594f82c75188ca459c59eba3d0b..2fa36de5d43e2c395e0db2017bd994a62a5b2feb 100644
+index 885e68fbdb4d5f628612b9dd426692f5c73b339a..bb522d4b7485383186cb3ce82a48ae7160ae7e0e 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
-@@ -456,4 +456,17 @@ public final class CraftItemFactory implements ItemFactory {
-
- return CraftMagicNumbers.getMaterial(nmsItem);
+@@ -495,4 +495,17 @@ public final class CraftItemFactory implements ItemFactory {
+ EnchantmentHelper.enchantItem(source, craft.handle, level, allowTreasures);
+ return craft;
}
+
+ // Paper start - Adventure
diff --git a/patches/server/0011-Paper-command.patch b/patches/server/0011-Paper-command.patch
index 9bfba6812e..952a527203 100644
--- a/patches/server/0011-Paper-command.patch
+++ b/patches/server/0011-Paper-command.patch
@@ -605,7 +605,7 @@ index 0000000000000000000000000000000000000000..ae60bd96b5284d54676d8e7e4dd5d170
+ }
+}
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
-index a9ec28c3cf3ed50d929c80ac21959d82603ff0aa..95a4bcd09f3a9d462ff4c92431c07e3d3f55befc 100644
+index 65ea4d909059387e6718ea68a3d9408556d26cbe..d013d1ee9c5f75fc25ee4ae285c738728c16f43b 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -186,6 +186,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -617,10 +617,10 @@ index a9ec28c3cf3ed50d929c80ac21959d82603ff0aa..95a4bcd09f3a9d462ff4c92431c07e3d
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 39a3ab010a2960ea99a6cc246edd343994bb523f..411d744bbdbc333b1f3854e474964c10a955ed66 100644
+index 61f124c9c607d077cdaa6a1e9b14b323057af52d..b30c5e049d0570c94ca8b8906d9d3afd2c81649e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -942,6 +942,7 @@ public final class CraftServer implements Server {
+@@ -943,6 +943,7 @@ public final class CraftServer implements Server {
this.commandMap.clearCommands();
this.reloadData();
org.spigotmc.SpigotConfig.registerCommands(); // Spigot
@@ -628,7 +628,7 @@ index 39a3ab010a2960ea99a6cc246edd343994bb523f..411d744bbdbc333b1f3854e474964c10
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
-@@ -2536,6 +2537,34 @@ public final class CraftServer implements Server {
+@@ -2598,6 +2599,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 8cacf14b4b..b1e4d7f317 100644
--- a/patches/server/0013-Paper-Plugins.patch
+++ b/patches/server/0013-Paper-Plugins.patch
@@ -6994,10 +6994,10 @@ index 9cfdd5d8c1650d9c9bdfbc07980239e507ff942d..ae0b713870976d4b1e469a90cef9b2e2
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 8461cf5f99144edce646909a41208f702f1e2aff..e17ad4a7f7adcf7d54bcfa56dbb109fc5611574a 100644
+index b30c5e049d0570c94ca8b8906d9d3afd2c81649e..d7cc71f0f7c7977fcab76f32e60c58ec7b1e68d8 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -274,7 +274,8 @@ public final class CraftServer implements Server {
+@@ -275,7 +275,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();
@@ -7007,7 +7007,7 @@ index 8461cf5f99144edce646909a41208f702f1e2aff..e17ad4a7f7adcf7d54bcfa56dbb109fc
private final StructureManager structureManager;
protected final DedicatedServer console;
protected final DedicatedPlayerList playerList;
-@@ -426,24 +427,7 @@ public final class CraftServer implements Server {
+@@ -427,24 +428,7 @@ public final class CraftServer implements Server {
}
public void loadPlugins() {
@@ -7033,7 +7033,7 @@ index 8461cf5f99144edce646909a41208f702f1e2aff..e17ad4a7f7adcf7d54bcfa56dbb109fc
}
public void enablePlugins(PluginLoadOrder type) {
-@@ -532,15 +516,17 @@ public final class CraftServer implements Server {
+@@ -533,15 +517,17 @@ public final class CraftServer implements Server {
private void enablePlugin(Plugin plugin) {
try {
List perms = plugin.getDescription().getPermissions();
@@ -7057,7 +7057,7 @@ index 8461cf5f99144edce646909a41208f702f1e2aff..e17ad4a7f7adcf7d54bcfa56dbb109fc
this.pluginManager.enablePlugin(plugin);
} catch (Throwable ex) {
-@@ -966,6 +952,7 @@ public final class CraftServer implements Server {
+@@ -967,6 +953,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"
));
}
diff --git a/patches/server/0014-Timings-v2.patch b/patches/server/0014-Timings-v2.patch
index bbdc21e9a4..4726d967ea 100644
--- a/patches/server/0014-Timings-v2.patch
+++ b/patches/server/0014-Timings-v2.patch
@@ -1272,7 +1272,7 @@ index 3c00b7519b37c5026e80e76a4b4ced2a3a0166f6..e48172c1da6beb7ff5ba3486647b1263
this.entityManager.saveAll();
} else {
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 46f2da7f90fd92e6cbd1ae371d04af85ade86ec1..ddd7238458804de3a82018ac7f170007f4f195aa 100644
+index 986575ed7bdbe9aecb8f303756538049ce9b6ef2..0649344ca2290446ff27cf9fa0d6f84ad0fe91c2 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -320,7 +320,6 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -1291,7 +1291,7 @@ index 46f2da7f90fd92e6cbd1ae371d04af85ade86ec1..ddd7238458804de3a82018ac7f170007
}
-@@ -2005,7 +2003,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2006,7 +2004,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
private void handleCommand(String s) {
@@ -1300,7 +1300,7 @@ index 46f2da7f90fd92e6cbd1ae371d04af85ade86ec1..ddd7238458804de3a82018ac7f170007
if ( org.spigotmc.SpigotConfig.logCommands ) // Spigot
this.LOGGER.info(this.player.getScoreboardName() + " issued server command: " + s);
-@@ -2015,7 +2013,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2016,7 +2014,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.cserver.getPluginManager().callEvent(event);
if (event.isCancelled()) {
@@ -1309,7 +1309,7 @@ index 46f2da7f90fd92e6cbd1ae371d04af85ade86ec1..ddd7238458804de3a82018ac7f170007
return;
}
-@@ -2028,7 +2026,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2029,7 +2027,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
java.util.logging.Logger.getLogger(ServerGamePacketListenerImpl.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
return;
} finally {
@@ -1343,7 +1343,7 @@ index cb8859c37fb8ce46a8fd529ca885456ea86c1c2b..8f7bc04fc32e3b9c0625d795b09ea7f2
public UserWhiteList getWhiteList() {
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 9a29dea3c02cbca89faaa1cd9b750f1a2694d100..5f3c9fcd7f34098a4136646fb373441f77175bb3 100644
+index 140c6befe7f5cba51904eaae0dc88e936f660a12..46853c3daa7f3f552632444fbf41624cfd1c8dc4 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -134,7 +134,6 @@ import org.bukkit.craftbukkit.event.CraftPortalEvent;
@@ -1633,10 +1633,10 @@ index 0eb09ce5c850d85ffd7229d27cf06b3e0edda11b..cc1d7626a82881c4410d65c6a33dadae
};
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index e17ad4a7f7adcf7d54bcfa56dbb109fc5611574a..dc7762af207bbbac133f74ae5e0783e5bc075a51 100644
+index d7cc71f0f7c7977fcab76f32e60c58ec7b1e68d8..3cca5eeaa295d8877fa36258ec73c6c2a8918832 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -376,7 +376,7 @@ public final class CraftServer implements Server {
+@@ -377,7 +377,7 @@ public final class CraftServer implements Server {
this.saveCommandsConfig();
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
@@ -1645,7 +1645,7 @@ index e17ad4a7f7adcf7d54bcfa56dbb109fc5611574a..dc7762af207bbbac133f74ae5e0783e5
this.overrideSpawnLimits();
console.autosavePeriod = this.configuration.getInt("ticks-per.autosave");
this.warningState = WarningState.value(this.configuration.getString("settings.deprecated-verbose"));
-@@ -2453,12 +2453,31 @@ public final class CraftServer implements Server {
+@@ -2515,12 +2515,31 @@ public final class CraftServer implements Server {
private final org.bukkit.Server.Spigot spigot = new org.bukkit.Server.Spigot()
{
@@ -1847,7 +1847,7 @@ index b0ffa23faf62629043dfd613315eaf9c5fcc2cfe..00000000000000000000000000000000
- }
-}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index d7260f96da9974c721a8b49c1f9b0f1ee56c6ce1..929e17d45db1a107f628907d1d3eea17ba968e7e 100644
+index 12a027e243d5336d5e96b88229499bfd2f65758c..855ed720cf23b201809a76725db87d71abbac626 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2568,6 +2568,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0018-Rewrite-chunk-system.patch b/patches/server/0018-Rewrite-chunk-system.patch
index 1a6f07cd6b..218c58fb65 100644
--- a/patches/server/0018-Rewrite-chunk-system.patch
+++ b/patches/server/0018-Rewrite-chunk-system.patch
@@ -20474,10 +20474,10 @@ index c509a1318bcef38fd4927e38b6ee9846853e2d15..5de5209e04d631bd6a50e28e8d3abebf
this.desiredChunksPerTick = Double.isNaN((double)desiredBatchSize) ? 0.01F : Mth.clamp(desiredBatchSize, 0.01F, 64.0F);
if (this.unacknowledgedBatches == 0) {
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index ddd7238458804de3a82018ac7f170007f4f195aa..c69060ee036c25cf99da5e488697ed95fd01fed1 100644
+index 0649344ca2290446ff27cf9fa0d6f84ad0fe91c2..70fe4e973f41c2e5b12c0d96be418dd40e69c0f2 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -695,6 +695,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -696,6 +696,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.disconnect(Component.translatable("disconnect.spam"));
return;
}
@@ -20643,7 +20643,7 @@ index 495b52bfab14478f8285cc5471335a41244c199e..e16ef1b7c0bfe6d6194c09f6787a50fd
if (flag1) {
++this.converted;
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 5f3c9fcd7f34098a4136646fb373441f77175bb3..a7cb0c3b13e4a7c449aca85fd8ddffefba45f879 100644
+index 46853c3daa7f3f552632444fbf41624cfd1c8dc4..9eda990939b36c08a6f4820353942d6c8d43b42c 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -327,6 +327,58 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -22652,10 +22652,10 @@ index b1aeb021e53a233bfb0439d38f1a889ed6fc301d..7687a81bfa420e8377308fea3d673814
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index dc7762af207bbbac133f74ae5e0783e5bc075a51..c3cf8b9d2b5707d36310da2c3b5132af4b83508a 100644
+index 3cca5eeaa295d8877fa36258ec73c6c2a8918832..819e2238f62b0af747b7e44a72de69a1b79609bf 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1161,7 +1161,7 @@ public final class CraftServer implements Server {
+@@ -1162,7 +1162,7 @@ public final class CraftServer implements Server {
this.console.addLevel(internal);
this.getServer().prepareLevels(internal.getChunkSource().chunkMap.progressListener, internal);
@@ -22664,7 +22664,7 @@ index dc7762af207bbbac133f74ae5e0783e5bc075a51..c3cf8b9d2b5707d36310da2c3b5132af
this.pluginManager.callEvent(new WorldLoadEvent(internal.getWorld()));
return internal.getWorld();
-@@ -1205,7 +1205,7 @@ public final class CraftServer implements Server {
+@@ -1206,7 +1206,7 @@ public final class CraftServer implements Server {
}
handle.getChunkSource().close(save);
@@ -22673,7 +22673,7 @@ index dc7762af207bbbac133f74ae5e0783e5bc075a51..c3cf8b9d2b5707d36310da2c3b5132af
handle.convertable.close();
} catch (Exception ex) {
this.getLogger().log(Level.SEVERE, null, ex);
-@@ -2036,7 +2036,7 @@ public final class CraftServer implements Server {
+@@ -2098,7 +2098,7 @@ public final class CraftServer implements Server {
@Override
public boolean isPrimaryThread() {
@@ -22802,7 +22802,7 @@ index 264cdde172452d0d9df652b0e78b21b6a6561300..e8f3373985ba8d3af6fc93a5f0ba0f0a
// 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 929e17d45db1a107f628907d1d3eea17ba968e7e..fe4b5fe105b9054763fc4440bdb892b69128cb2b 100644
+index 855ed720cf23b201809a76725db87d71abbac626..c77bfa14ed74dd522229ec2595fac6f94700024b 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -197,6 +197,48 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0019-Add-command-line-option-to-load-extra-plugin-jars-no.patch b/patches/server/0019-Add-command-line-option-to-load-extra-plugin-jars-no.patch
index 818be105c8..6d5648c985 100644
--- a/patches/server/0019-Add-command-line-option-to-load-extra-plugin-jars-no.patch
+++ b/patches/server/0019-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 8377270a5daa3257cd9799e242fe8894a6d22c5c..d1b6c5689e036285515f74263d6b6bc7c32af108 100644
+index 819e2238f62b0af747b7e44a72de69a1b79609bf..8dfed6347e5922bdd0083604fc7228eaef86be17 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -430,6 +430,35 @@ public final class CraftServer implements Server {
+@@ -431,6 +431,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
}
@@ -47,7 +47,7 @@ index 8377270a5daa3257cd9799e242fe8894a6d22c5c..d1b6c5689e036285515f74263d6b6bc7
if (type == PluginLoadOrder.STARTUP) {
this.helpMap.clear();
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
-index eb8120877490944ea8f5cbae2986f190c78b144b..3c5bbc60a1a2da6ff4dd25f9a6c1929b1a5be6f5 100644
+index 9fb74017c655c5abe4388796c4cb0760498e7a99..71c726acbb893b6a3ce6100fc08d5aa761f0eb60 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -159,6 +159,12 @@ public class Main {
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 ff289d44c3..59c265a5e4 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,7 +6,7 @@ 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 151259cc254d4e796e6af810e37eaa30b832daa3..ce626187e7ffda51a54225fa6e43b817c6c19db8 100644
+index 27ab6d2749b89cc5d3fd4e22603daee95634be71..6155d6e3c361bb4a0381e7065a7b603b783a47a6 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1457,7 +1457,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop
Co-authored-by: SoSeDiK
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index ea53b30fb9b9e0b2b9751b7a2675259fe85c66e4..4376e09828655444d1339020a2676c67197abfb9 100644
+index 70fe4e973f41c2e5b12c0d96be418dd40e69c0f2..adef64b955170dc00c75c06bf0f41a09b2516520 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -1925,7 +1925,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1926,7 +1926,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
OutgoingChatMessage outgoing = OutgoingChatMessage.create(original);
@@ -29,7 +29,7 @@ index ea53b30fb9b9e0b2b9751b7a2675259fe85c66e4..4376e09828655444d1339020a2676c67
this.handleCommand(s);
} else if (this.player.getChatVisibility() == ChatVisiblity.SYSTEM) {
// Do nothing, this is coming from a plugin
-@@ -2009,7 +2009,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2010,7 +2010,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
}
@@ -40,10 +40,10 @@ index ea53b30fb9b9e0b2b9751b7a2675259fe85c66e4..4376e09828655444d1339020a2676c67
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 97801c6b11df3b80ad80d7e6fd03d769c400b417..0afb5b57fdd027b0a5aa05c4710b4ebb9c3d12ac 100644
+index afe90d9948a68946cfc09174024ec71a2c126dcd..eb091fcf6f8b295bfac54acfafe662adb9052e88 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -888,7 +888,7 @@ public final class CraftServer implements Server {
+@@ -889,7 +889,7 @@ public final class CraftServer implements Server {
public boolean dispatchCommand(CommandSender sender, String commandLine) {
Preconditions.checkArgument(sender != null, "sender cannot be null");
Preconditions.checkArgument(commandLine != null, "commandLine cannot be null");
@@ -53,7 +53,7 @@ index 97801c6b11df3b80ad80d7e6fd03d769c400b417..0afb5b57fdd027b0a5aa05c4710b4ebb
if (this.commandMap.dispatch(sender, commandLine)) {
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 ca8c713342c7e217c8bbcd2c92309ad188f7dd27..422ed20cf1d77c0b7fa0a674a5bba95cb7cbc2df 100644
+index d99ae16d5e823d871d149ab61eeef4c0095b7740..6b753ee96706b38af0c80585222f2631b90e7c62 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -494,7 +494,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0054-Expose-server-CommandMap.patch b/patches/server/0054-Expose-server-CommandMap.patch
index f9d1f4b8b9..a0f06e1192 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 0e51fffcd58f34d9ed9409a02dcbeaeac8ccec78..e5a65f77c35c9cb61e418a0e9b49aa3da7cb40de 100644
+index eb091fcf6f8b295bfac54acfafe662adb9052e88..e9fb295f1ce47705ec7502a372e8fd9e5fe05310 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2018,6 +2018,7 @@ public final class CraftServer implements Server {
+@@ -2080,6 +2080,7 @@ public final class CraftServer implements Server {
return this.helpMap;
}
diff --git a/patches/server/0058-Add-velocity-warnings.patch b/patches/server/0058-Add-velocity-warnings.patch
index 1fbf4b2853..296d79b85b 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 eb7eb3fdb2f677c5d6d7503d2809f61e48900205..26428b73e23e71872e148f041c18c741ee05f4c8 100644
+index e9fb295f1ce47705ec7502a372e8fd9e5fe05310..13a70d87689d49818b97611b83b77df0e9a6c8f5 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -301,6 +301,7 @@ public final class CraftServer implements Server {
+@@ -302,6 +302,7 @@ public final class CraftServer implements Server {
public boolean ignoreVanillaPermissions = false;
private final List playerView;
public int reloadCount;
@@ -17,7 +17,7 @@ index eb7eb3fdb2f677c5d6d7503d2809f61e48900205..26428b73e23e71872e148f041c18c741
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 21f670644815474102da3fd1047f63a7a13adfa6..59d076f4e25735f4c6815dfe27904a82eefc1756 100644
+index 402b6e5d6428c5a34d722888670f94c7fbe34fe4..68d00a158751d24c7f0e38920d78c0547f1928eb 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -470,10 +470,40 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
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 1ac629bc41..092f2226b3 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 25ffb95d7d4a5b34577b1e343516996630a14705..99521b04cb5d3fd6ab5fbf5b663a30c20b0341aa 100644
+index 13a70d87689d49818b97611b83b77df0e9a6c8f5..0187cf0317ca427dd753e4a354361bec47ae55b8 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -464,6 +464,7 @@ public final class CraftServer implements Server {
+@@ -465,6 +465,7 @@ public final class CraftServer implements Server {
if (type == PluginLoadOrder.STARTUP) {
this.helpMap.clear();
this.helpMap.initializeGeneralTopics();
@@ -27,7 +27,7 @@ index 25ffb95d7d4a5b34577b1e343516996630a14705..99521b04cb5d3fd6ab5fbf5b663a30c2
}
Plugin[] plugins = this.pluginManager.getPlugins();
-@@ -483,7 +484,7 @@ public final class CraftServer implements Server {
+@@ -484,7 +485,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 6bcdce1ca9..2cc0ab5263 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 1ba7e571a1286415d8b6ff2807050f8a43811500..c99e7d7dbcd83454ca3f08b08f367f8c6336889f 100644
+index 0187cf0317ca427dd753e4a354361bec47ae55b8..9418fce310fe30ebb7c0f2368dda8c6000d9541c 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2622,5 +2622,23 @@ public final class CraftServer implements Server {
+@@ -2684,5 +2684,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 c96e0c02a2..fcddb8c6d3 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 135fe9abe46d31cdf3a5fb3fb3dfd296e658e2cf..69934e156db7fdec00b6b77b20835894a1e3dcb3 100644
+index 9418fce310fe30ebb7c0f2368dda8c6000d9541c..3836e0ad2f09ab015a165794400edd64a017f439 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -955,8 +955,16 @@ public final class CraftServer implements Server {
+@@ -956,8 +956,16 @@ public final class CraftServer implements Server {
world.spigotConfig.init(); // Spigot
}
diff --git a/patches/server/0084-Add-PlayerUseUnknownEntityEvent.patch b/patches/server/0084-Add-PlayerUseUnknownEntityEvent.patch
index fc7c1c2a66..6c68a42dc2 100644
--- a/patches/server/0084-Add-PlayerUseUnknownEntityEvent.patch
+++ b/patches/server/0084-Add-PlayerUseUnknownEntityEvent.patch
@@ -28,10 +28,10 @@ index 644a0fdea6576647539b96528717dbaeab498d93..221e64a66ff12a8de5c75992fc26a54a
+ // Paper end - PlayerUseUnknownEntityEvent
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 4376e09828655444d1339020a2676c67197abfb9..baaac036875128f8f05f8dae5f6cde29c4ca2b7d 100644
+index adef64b955170dc00c75c06bf0f41a09b2516520..3fbe132d278928a55115dce116f14ac1ce1ebc69 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -2392,8 +2392,38 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2393,8 +2393,38 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
});
}
}
diff --git a/patches/server/0106-Add-setting-for-proxy-online-mode-status.patch b/patches/server/0106-Add-setting-for-proxy-online-mode-status.patch
index 685a27ece7..598cd36741 100644
--- a/patches/server/0106-Add-setting-for-proxy-online-mode-status.patch
+++ b/patches/server/0106-Add-setting-for-proxy-online-mode-status.patch
@@ -43,10 +43,10 @@ index 0214830d9bc98b8d435ff11f40df65596980cf77..5db27d7bcaaa2eeaeeb08401513d8d23
} else {
String[] astring1 = astring;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index ba7f67600d259cfb307e610d55d657a8ac75d4ec..968e4bcdae14d580561b2a310359026080dbab0a 100644
+index 3836e0ad2f09ab015a165794400edd64a017f439..877ccdcbce7e69fab905c323ad88081c469db8b9 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1727,7 +1727,7 @@ public final class CraftServer implements Server {
+@@ -1789,7 +1789,7 @@ public final class CraftServer implements Server {
// Spigot Start
GameProfile profile = null;
// Only fetch an online UUID in online mode
diff --git a/patches/server/0108-Configurable-packet-in-spam-threshold.patch b/patches/server/0108-Configurable-packet-in-spam-threshold.patch
index bc72c5aadc..8943918d45 100644
--- a/patches/server/0108-Configurable-packet-in-spam-threshold.patch
+++ b/patches/server/0108-Configurable-packet-in-spam-threshold.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable packet in spam threshold
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index baaac036875128f8f05f8dae5f6cde29c4ca2b7d..661796b360d69f239cf6147edcefde7a99943bce 100644
+index 3fbe132d278928a55115dce116f14ac1ce1ebc69..fabb6ab9a3dc7dcf724b1505ec1172f16158f502 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -1505,13 +1505,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1506,13 +1506,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
// Spigot start - limit place/interactions
private int limitedPackets;
private long lastLimitedPacket = -1;
diff --git a/patches/server/0110-Add-EntityZapEvent.patch b/patches/server/0110-Add-EntityZapEvent.patch
index 8159bc2076..154570991d 100644
--- a/patches/server/0110-Add-EntityZapEvent.patch
+++ b/patches/server/0110-Add-EntityZapEvent.patch
@@ -28,10 +28,10 @@ index 2f97e4f0078cecbcf044d0b27f375638a6ea047b..b70ee1dff0442de32a9e20ad54b246d5
entitywitch.finalizeSpawn(world, world.getCurrentDifficultyAt(entitywitch.blockPosition()), MobSpawnType.CONVERSION, (SpawnGroupData) null, (CompoundTag) null);
entitywitch.setNoAi(this.isNoAi());
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 187011474d15a4a5a5d6cb1638660d9ed2b3a0e5..ff737b309085749aa98b4707c3b72f28a3872278 100644
+index bbf30a36c44cd6403a2f45622f5dd186adc18772..3521d784db2754b4af99b891f69a15fe2bf7a4b8 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -1266,6 +1266,14 @@ public class CraftEventFactory {
+@@ -1268,6 +1268,14 @@ public class CraftEventFactory {
return !event.isCancelled();
}
diff --git a/patches/server/0113-Allow-Reloading-of-Command-Aliases.patch b/patches/server/0113-Allow-Reloading-of-Command-Aliases.patch
index f8b5503d20..68a84a2345 100644
--- a/patches/server/0113-Allow-Reloading-of-Command-Aliases.patch
+++ b/patches/server/0113-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/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 968e4bcdae14d580561b2a310359026080dbab0a..237941f8ba3ef712b5bea9aa7fee0a392357f7b3 100644
+index 877ccdcbce7e69fab905c323ad88081c469db8b9..7d115f02a003e36ba2b48b618a1cf8e063e38392 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2648,5 +2648,24 @@ public final class CraftServer implements Server {
+@@ -2710,5 +2710,24 @@ public final class CraftServer implements Server {
DefaultPermissions.registerCorePermissions();
CraftDefaultPermissions.registerCorePermissions();
}
diff --git a/patches/server/0114-Add-source-to-PlayerExpChangeEvent.patch b/patches/server/0114-Add-source-to-PlayerExpChangeEvent.patch
index 403b6fdb1b..135acd92c8 100644
--- a/patches/server/0114-Add-source-to-PlayerExpChangeEvent.patch
+++ b/patches/server/0114-Add-source-to-PlayerExpChangeEvent.patch
@@ -18,10 +18,10 @@ index 8946d486dab3e639b00716ce7459c817270dad80..f25466e132cb6b0012dc336877fdf17b
--this.count;
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index ff737b309085749aa98b4707c3b72f28a3872278..d5e4c8a0415f74ba3a7964c7ff491bb37bbff16d 100644
+index 3521d784db2754b4af99b891f69a15fe2bf7a4b8..30831f9ef0887fde0f8180aa5d65f7d218bf0d6a 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -1219,6 +1219,17 @@ public class CraftEventFactory {
+@@ -1221,6 +1221,17 @@ public class CraftEventFactory {
return event;
}
diff --git a/patches/server/0115-Add-ProjectileCollideEvent.patch b/patches/server/0115-Add-ProjectileCollideEvent.patch
index bc16eb86cd..f199be83c4 100644
--- a/patches/server/0115-Add-ProjectileCollideEvent.patch
+++ b/patches/server/0115-Add-ProjectileCollideEvent.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Add ProjectileCollideEvent
Deprecated now and replaced with ProjectileHitEvent
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index d5e4c8a0415f74ba3a7964c7ff491bb37bbff16d..933cfc466aced42c3c765093c2a987b9f09089a4 100644
+index 30831f9ef0887fde0f8180aa5d65f7d218bf0d6a..a85c6e0fe88d285908578f05562ede92a0ae336b 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -1363,6 +1363,17 @@ public class CraftEventFactory {
+@@ -1365,6 +1365,17 @@ public class CraftEventFactory {
return CraftItemStack.asNMSCopy(bitem);
}
@@ -27,7 +27,7 @@ index d5e4c8a0415f74ba3a7964c7ff491bb37bbff16d..933cfc466aced42c3c765093c2a987b9
public static ProjectileLaunchEvent callProjectileLaunchEvent(Entity entity) {
Projectile bukkitEntity = (Projectile) entity.getBukkitEntity();
ProjectileLaunchEvent event = new ProjectileLaunchEvent(bukkitEntity);
-@@ -1387,8 +1398,15 @@ public class CraftEventFactory {
+@@ -1389,8 +1400,15 @@ public class CraftEventFactory {
if (position.getType() == HitResult.Type.ENTITY) {
hitEntity = ((EntityHitResult) position).getEntity().getBukkitEntity();
}
diff --git a/patches/server/0132-Add-option-to-make-parrots-stay-on-shoulders-despite.patch b/patches/server/0132-Add-option-to-make-parrots-stay-on-shoulders-despite.patch
index a695922032..5c11879eb1 100644
--- a/patches/server/0132-Add-option-to-make-parrots-stay-on-shoulders-despite.patch
+++ b/patches/server/0132-Add-option-to-make-parrots-stay-on-shoulders-despite.patch
@@ -14,10 +14,10 @@ To be converted into a Paper-API event at some point in the future?
public net.minecraft.world.entity.player.Player removeEntitiesOnShoulder()V
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 18b9b172515a99941ab04c10eebf58270e8d3de0..49a99fda573113214c28981f5b23acb8ac192432 100644
+index 8b81073813a7e31273816d1486a59ed6325589df..098d182cc8cf048eb7b4a4640dc2338150f48f2e 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -2169,6 +2169,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2170,6 +2170,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
switch (packet.getAction()) {
case PRESS_SHIFT_KEY:
this.player.setShiftKeyDown(true);
@@ -32,7 +32,7 @@ index 18b9b172515a99941ab04c10eebf58270e8d3de0..49a99fda573113214c28981f5b23acb8
case RELEASE_SHIFT_KEY:
this.player.setShiftKeyDown(false);
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
-index 62a52216e27c0e4847b9c346c35c3d1b7b3b15aa..a2f6e3f381bf251d93a63aff9f9af307350ffc50 100644
+index ca56004082460bc422d5898407eef9dae49071ab..fb9b81efea99b78449b453dd0e4fcdfecc71ec50 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -594,6 +594,7 @@ public abstract class Player extends LivingEntity {
diff --git a/patches/server/0133-Add-configuration-option-to-prevent-player-names-fro.patch b/patches/server/0133-Add-configuration-option-to-prevent-player-names-fro.patch
index 1282c4afad..2a2cf77a91 100644
--- a/patches/server/0133-Add-configuration-option-to-prevent-player-names-fro.patch
+++ b/patches/server/0133-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/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 237941f8ba3ef712b5bea9aa7fee0a392357f7b3..584d12cfd6875034dfe9ca0bdcd821e36c2a397b 100644
+index 7d115f02a003e36ba2b48b618a1cf8e063e38392..9265feda93edd01f8afc0b2e60cd3a54fcbdc208 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2667,5 +2667,10 @@ public final class CraftServer implements Server {
+@@ -2729,5 +2729,10 @@ public final class CraftServer implements Server {
commandMap.registerServerAliases();
return true;
}
diff --git a/patches/server/0134-Use-TerminalConsoleAppender-for-console-improvements.patch b/patches/server/0134-Use-TerminalConsoleAppender-for-console-improvements.patch
index d64c2f7b10..0a5bf5cb22 100644
--- a/patches/server/0134-Use-TerminalConsoleAppender-for-console-improvements.patch
+++ b/patches/server/0134-Use-TerminalConsoleAppender-for-console-improvements.patch
@@ -389,18 +389,19 @@ index 6dad42086e598c86a27358e12c5b72a0a79b38ee..daabc5739b7bf6b1cbeb497fe0e9b7ed
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 4a157159ba7baf9ee3ea09880ba45e055802bfcc..0b529c373c098d2e48c4485dd189a51f2a846c81 100644
+index 9265feda93edd01f8afc0b2e60cd3a54fcbdc208..7491c7a3fad265708c422e87d069120eb8e3d30c 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -44,7 +44,6 @@ import java.util.logging.Level;
+@@ -43,7 +43,7 @@ import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.stream.Collectors;
import javax.imageio.ImageIO;
-import jline.console.ConsoleReader;
- import net.minecraft.advancements.Advancement;
++// import jline.console.ConsoleReader;
import net.minecraft.advancements.AdvancementHolder;
import net.minecraft.commands.CommandSourceStack;
-@@ -1295,9 +1294,13 @@ public final class CraftServer implements Server {
+ import net.minecraft.commands.Commands;
+@@ -1296,9 +1296,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 8c97ad3954..382d3b8965 100644
--- a/patches/server/0140-Add-UnknownCommandEvent.patch
+++ b/patches/server/0140-Add-UnknownCommandEvent.patch
@@ -83,10 +83,10 @@ index d1ecf61ffecb8669214ad85334374a4569811de8..e63632f09d608371aaeaf09a6dac57c1
b1 = 0;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 66de956051f6c5b66f806063869e25430144c6ce..0ef8750c7c862a44dfb0e15602ef819790c9f1a4 100644
+index 6c2283ec3a6062eea5a2e20a3e023064cad6b39e..ed3cf7cd9d49c58162caa7f0b4a0b631082358cd 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -530,6 +530,7 @@ public final class CraftServer implements Server {
+@@ -532,6 +532,7 @@ public final class CraftServer implements Server {
}
node = clone;
}
@@ -94,7 +94,7 @@ index 66de956051f6c5b66f806063869e25430144c6ce..0ef8750c7c862a44dfb0e15602ef8197
dispatcher.getDispatcher().getRoot().addChild(node);
} else {
-@@ -897,7 +898,13 @@ public final class CraftServer implements Server {
+@@ -899,7 +900,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 cb91dcd794..72030f583d 100644
--- a/patches/server/0141-Basic-PlayerProfile-API.patch
+++ b/patches/server/0141-Basic-PlayerProfile-API.patch
@@ -556,7 +556,7 @@ index 0000000000000000000000000000000000000000..7ac27392a8647ef7d0dc78efe78703e9
+ @NotNull GameProfile buildGameProfile();
+}
diff --git a/src/main/java/io/papermc/paper/util/MCUtil.java b/src/main/java/io/papermc/paper/util/MCUtil.java
-index dc2ab968ed010289125ac08f0a9ea85af6f6e8bb..82a1a87822e3fc323b92e1aa30ddb0cdb351d89c 100644
+index 395873f89925b495978d151efe1d91da9ad11b0a..e969a0acf06d9265fa75fc07bb637752df468c11 100644
--- a/src/main/java/io/papermc/paper/util/MCUtil.java
+++ b/src/main/java/io/papermc/paper/util/MCUtil.java
@@ -1,5 +1,7 @@
@@ -622,10 +622,10 @@ index c70cd016e1978931d115cfca94664897f0158196..eac9658fa4cab7a651e10e4e18c679e0
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 a8a605251bc5a3c700ead923f94c32d2fb46b62e..7e629afd43e1ac486d259e70c494d0ed89edb1d4 100644
+index ed3cf7cd9d49c58162caa7f0b4a0b631082358cd..67f2b02a23515796b8df450f2360d6914b74bb4a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -263,6 +263,9 @@ import org.yaml.snakeyaml.error.MarkedYAMLException;
+@@ -265,6 +265,9 @@ import org.yaml.snakeyaml.error.MarkedYAMLException;
import net.md_5.bungee.api.chat.BaseComponent; // Spigot
@@ -635,7 +635,7 @@ index a8a605251bc5a3c700ead923f94c32d2fb46b62e..7e629afd43e1ac486d259e70c494d0ed
public final class CraftServer implements Server {
private final String serverName = "Paper"; // Paper
private final String serverVersion;
-@@ -305,6 +308,7 @@ public final class CraftServer implements Server {
+@@ -307,6 +310,7 @@ public final class CraftServer implements Server {
static {
ConfigurationSerialization.registerClass(CraftOfflinePlayer.class);
ConfigurationSerialization.registerClass(CraftPlayerProfile.class);
@@ -643,7 +643,7 @@ index a8a605251bc5a3c700ead923f94c32d2fb46b62e..7e629afd43e1ac486d259e70c494d0ed
CraftItemFactory.instance();
}
-@@ -2682,5 +2686,42 @@ public final class CraftServer implements Server {
+@@ -2745,5 +2749,42 @@ public final class CraftServer implements Server {
public boolean suggestPlayerNamesWhenNullTabCompletions() {
return io.papermc.paper.configuration.GlobalConfiguration.get().commands.suggestPlayerNamesWhenNullTabCompletions;
}
@@ -687,7 +687,7 @@ index a8a605251bc5a3c700ead923f94c32d2fb46b62e..7e629afd43e1ac486d259e70c494d0ed
// 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 9eafa36b086ed4cde107b81aa9470d1a43e557f1..2d877acc4cb338193449ae37cafb0cfdc452d6b0 100644
+index 2fff882c02aa84ab7b14b267bc6e28b5ad94def6..533d143969592f9a4f4d1ea1660474264150f211 100644
--- a/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java
+++ b/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java
@@ -31,7 +31,7 @@ import org.bukkit.profile.PlayerProfile;
@@ -743,7 +743,7 @@ index 9eafa36b086ed4cde107b81aa9470d1a43e557f1..2d877acc4cb338193449ae37cafb0cfd
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerTextures.java b/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerTextures.java
-index b32a2be72d9bae3194cdbb37a705664d2b7e2391..a82bc882939e9f93c2d02918e451e7fe121355ca 100644
+index 78e47fec27f4dd955632d03f7181682af0429961..0dce455fb47b3f5a2eb2b15a1cdbc4c6a54b7b69 100644
--- a/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerTextures.java
+++ b/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerTextures.java
@@ -48,7 +48,7 @@ public final class CraftPlayerTextures implements PlayerTextures {
diff --git a/patches/server/0147-Implement-ensureServerConversions-API.patch b/patches/server/0147-Implement-ensureServerConversions-API.patch
index c78817409b..e75e93f212 100644
--- a/patches/server/0147-Implement-ensureServerConversions-API.patch
+++ b/patches/server/0147-Implement-ensureServerConversions-API.patch
@@ -20,10 +20,10 @@ index cae548dbb5a3027e2de0bfbe38918ec7c2803e8e..c95c51605ae75cf340c7b0a88ae9146d
this.save(savedStack);
savedStack = (CompoundTag) MinecraftServer.getServer().fixerUpper.update(References.ITEM_STACK, new Dynamic(NbtOps.INSTANCE, savedStack), version, CraftMagicNumbers.INSTANCE.getDataVersion()).getValue();
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
-index 2fa36de5d43e2c395e0db2017bd994a62a5b2feb..0bd3a2989be4e158ba343da09914328e819a0f89 100644
+index bb522d4b7485383186cb3ce82a48ae7160ae7e0e..e21999ac116d6788fb8c367cee67190cb49c5f63 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
-@@ -469,4 +469,11 @@ public final class CraftItemFactory implements ItemFactory {
+@@ -508,4 +508,11 @@ public final class CraftItemFactory implements ItemFactory {
return io.papermc.paper.adventure.PaperAdventure.asAdventure(CraftItemStack.asNMSCopy(itemStack).getDisplayName());
}
// Paper end - Adventure
diff --git a/patches/server/0148-Implement-getI18NDisplayName.patch b/patches/server/0148-Implement-getI18NDisplayName.patch
index 0521ce4580..c3c3780802 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 0bd3a2989be4e158ba343da09914328e819a0f89..709c0e9ba7b33e97666ac74412761bb0e770a037 100644
+index e21999ac116d6788fb8c367cee67190cb49c5f63..8a89fd0f771e0df439dc9070df7dfa6f2cbd5de2 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
-@@ -476,4 +476,19 @@ public final class CraftItemFactory implements ItemFactory {
+@@ -515,4 +515,19 @@ public final class CraftItemFactory implements ItemFactory {
return CraftItemStack.asCraftMirror(CraftItemStack.asNMSCopy(item));
}
// Paper end - ensure server conversions API
diff --git a/patches/server/0157-Add-PlayerJumpEvent.patch b/patches/server/0157-Add-PlayerJumpEvent.patch
index faeb851cd6..d5fd6d3ddf 100644
--- a/patches/server/0157-Add-PlayerJumpEvent.patch
+++ b/patches/server/0157-Add-PlayerJumpEvent.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add PlayerJumpEvent
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 49a99fda573113214c28981f5b23acb8ac192432..1b856ecd7926e90a62045176f75d7ae6f0ac69d5 100644
+index 098d182cc8cf048eb7b4a4640dc2338150f48f2e..6e2957e31ad4be418bcd475b2e3a4e56b5be591e 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -1199,7 +1199,34 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1200,7 +1200,34 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
boolean flag = d7 > 0.0D;
if (this.player.onGround() && !packet.isOnGround() && flag) {
diff --git a/patches/server/0167-AsyncTabCompleteEvent.patch b/patches/server/0167-AsyncTabCompleteEvent.patch
index a43de931b9..e1cae59d0d 100644
--- a/patches/server/0167-AsyncTabCompleteEvent.patch
+++ b/patches/server/0167-AsyncTabCompleteEvent.patch
@@ -16,10 +16,10 @@ 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 1b856ecd7926e90a62045176f75d7ae6f0ac69d5..4ba7ed0a4ff52caa21632f69ab087564fb3a5eb7 100644
+index 6e2957e31ad4be418bcd475b2e3a4e56b5be591e..b5abb0d433322224ccbbed8755fb3ebf77b5a36c 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -687,12 +687,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -688,12 +688,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
@@ -38,7 +38,7 @@ index 1b856ecd7926e90a62045176f75d7ae6f0ac69d5..4ba7ed0a4ff52caa21632f69ab087564
return;
}
// Paper start
-@@ -703,18 +707,45 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -704,18 +708,45 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
// Paper end
// CraftBukkit end
@@ -91,10 +91,10 @@ index 1b856ecd7926e90a62045176f75d7ae6f0ac69d5..4ba7ed0a4ff52caa21632f69ab087564
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 7e629afd43e1ac486d259e70c494d0ed89edb1d4..b1c965e4a9c8b68a764781266dee078880ee5566 100644
+index 67f2b02a23515796b8df450f2360d6914b74bb4a..654c174df812271e31c72a88445df57ba8aca675 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2132,7 +2132,7 @@ public final class CraftServer implements Server {
+@@ -2195,7 +2195,7 @@ public final class CraftServer implements Server {
offers = this.tabCompleteChat(player, message);
}
@@ -104,7 +104,7 @@ index 7e629afd43e1ac486d259e70c494d0ed89edb1d4..b1c965e4a9c8b68a764781266dee0788
return tabEvent.isCancelled() ? Collections.EMPTY_LIST : tabEvent.getCompletions();
diff --git a/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java b/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java
-index b996fde481cebbbcce80a6c267591136db7cc0bc..14cd8ae69d9b25dc5edad4ff96ff4a9acb1f22cb 100644
+index d24acf28f5ed023acc550bcf877e4b9800ec8c9f..8f82041f0482df22a6a9ea38d50d56228131775d 100644
--- a/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java
+++ b/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java
@@ -28,6 +28,61 @@ public class ConsoleCommandCompleter implements Completer {
diff --git a/patches/server/0182-Player.setPlayerProfile-API.patch b/patches/server/0182-Player.setPlayerProfile-API.patch
index a811ca7422..a869a9502d 100644
--- a/patches/server/0182-Player.setPlayerProfile-API.patch
+++ b/patches/server/0182-Player.setPlayerProfile-API.patch
@@ -9,10 +9,10 @@ This can be useful for changing name or skins after a player has logged in.
public-f net.minecraft.world.entity.player.Player gameProfile
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 293ae8afc5c5aef3ed8de4fa2ce3e66850b8a65b..da4120e6c50605139014b8bf470394253f2b5f73 100644
+index b5abb0d433322224ccbbed8755fb3ebf77b5a36c..598b442f84df4562811986cfb5e8614e74df2cc0 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -1437,7 +1437,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1438,7 +1438,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.internalTeleport(dest.getX(), dest.getY(), dest.getZ(), dest.getYaw(), dest.getPitch(), Collections.emptySet());
}
@@ -40,7 +40,7 @@ index 41ba6f0c88b6205bf33de962c0bc545a0ac40c74..03ff64ad395455f21f4ca30faae17fc6
playerName = gameprofile.getName();
uniqueId = gameprofile.getId();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
-index b8fd3837be598e354999b741a1d98dff326b0399..c68b86f42d0f6bd9707ad6c426f34bed556e0035 100644
+index 477d3245facb5ae59c786d4f696f64226cb540a6..e8490a58dd4d9bc39a5bb2f9fc109526e031b971 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
@@ -81,8 +81,8 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa
@@ -55,7 +55,7 @@ index b8fd3837be598e354999b741a1d98dff326b0399..c68b86f42d0f6bd9707ad6c426f34bed
public Server getServer() {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index bd6dcea0a94bb4b72c98cf6a4829a2cd39a558cd..c65b82d69fa829f3fdfa0d6c65a2f861c2db9f11 100644
+index 317f879a1be75ae77a0cc52dece1ef3530cde786..601153fac20f6f15aa09bbc8bc63995e43494611 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -271,11 +271,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0183-getPlayerUniqueId-API.patch b/patches/server/0183-getPlayerUniqueId-API.patch
index e3b1ec41f3..ecbab9fb8a 100644
--- a/patches/server/0183-getPlayerUniqueId-API.patch
+++ b/patches/server/0183-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/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index b1c965e4a9c8b68a764781266dee078880ee5566..895a12e5859b5e2b21c2f9d7a82932e603a1f791 100644
+index 654c174df812271e31c72a88445df57ba8aca675..0dc45f47960eff60f5d779ee88d49f7477c41944 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1730,6 +1730,25 @@ public final class CraftServer implements Server {
+@@ -1793,6 +1793,25 @@ public final class CraftServer implements Server {
return recipients.size();
}
diff --git a/patches/server/0216-InventoryCloseEvent-Reason-API.patch b/patches/server/0216-InventoryCloseEvent-Reason-API.patch
index 1f922ea1eb..9f85d76fcd 100644
--- a/patches/server/0216-InventoryCloseEvent-Reason-API.patch
+++ b/patches/server/0216-InventoryCloseEvent-Reason-API.patch
@@ -75,7 +75,7 @@ index 9b670eb2925caa275cae6f51eb75183a9f5208b0..0f5e616ebb90e187ea38b6489e6f4f54
this.doCloseContainer();
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index da4120e6c50605139014b8bf470394253f2b5f73..fdf15bc1a1f5772e50e8a805c2cb8d0720895cf6 100644
+index 598b442f84df4562811986cfb5e8614e74df2cc0..04d1aee392330301bdc14966dccd11f5aad610d6 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -215,6 +215,7 @@ import org.bukkit.event.inventory.ClickType;
@@ -86,7 +86,7 @@ index da4120e6c50605139014b8bf470394253f2b5f73..fdf15bc1a1f5772e50e8a805c2cb8d07
import org.bukkit.event.inventory.InventoryCreativeEvent;
import org.bukkit.event.inventory.InventoryType.SlotType;
import org.bukkit.event.inventory.SmithItemEvent;
-@@ -2523,10 +2524,15 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2524,10 +2525,15 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@Override
public void handleContainerClose(ServerboundContainerClosePacket packet) {
@@ -173,7 +173,7 @@ index 602cf19007c622ab9bb12a7018643cf05688f33e..607dc510ac856a0bf3a54bf1004bdf98
@Override
public boolean isBlocking() {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 676c29c13ae8ece20cb5acaf1a2cf71fc93424bd..a9a2bd81e39ce42138f9931bf0289c82ea9911aa 100644
+index e4ebfccc01edd29521470e7132ac789755b9ba49..845bc8225a5d0694ddd5a26286c1d37e2563f31f 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1191,7 +1191,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -186,10 +186,10 @@ index 676c29c13ae8ece20cb5acaf1a2cf71fc93424bd..a9a2bd81e39ce42138f9931bf0289c82
// Check if the fromWorld and toWorld are the same.
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 933cfc466aced42c3c765093c2a987b9f09089a4..ec4022e16d3cdf375520a066afd772f1847e3516 100644
+index a85c6e0fe88d285908578f05562ede92a0ae336b..8267af8592cf09051a17f594b98b50dce3493767 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -1332,7 +1332,7 @@ public class CraftEventFactory {
+@@ -1334,7 +1334,7 @@ public class CraftEventFactory {
public static AbstractContainerMenu callInventoryOpenEvent(ServerPlayer player, AbstractContainerMenu container, boolean cancelled) {
if (player.containerMenu != player.inventoryMenu) { // fire INVENTORY_CLOSE if one already open
@@ -198,7 +198,7 @@ index 933cfc466aced42c3c765093c2a987b9f09089a4..ec4022e16d3cdf375520a066afd772f1
}
CraftServer server = player.level().getCraftServer();
-@@ -1520,8 +1520,18 @@ public class CraftEventFactory {
+@@ -1522,8 +1522,18 @@ public class CraftEventFactory {
return event;
}
diff --git a/patches/server/0218-Refresh-player-inventory-when-cancelling-PlayerInter.patch b/patches/server/0218-Refresh-player-inventory-when-cancelling-PlayerInter.patch
index 706f5540e0..3439b99842 100644
--- a/patches/server/0218-Refresh-player-inventory-when-cancelling-PlayerInter.patch
+++ b/patches/server/0218-Refresh-player-inventory-when-cancelling-PlayerInter.patch
@@ -16,10 +16,10 @@ Refresh the player inventory when PlayerInteractEntityEvent is
cancelled to avoid this problem.
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index f9c007725420902f55a8730f530daf09ba45340b..92787d06ddd4d3a81e2c606d8c5daa0dae18253a 100644
+index 04d1aee392330301bdc14966dccd11f5aad610d6..6de25b8230da167afb363f443597df383d3b8ca6 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -2404,6 +2404,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2405,6 +2405,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
if (event.isCancelled()) {
diff --git a/patches/server/0226-Vanished-players-don-t-have-rights.patch b/patches/server/0226-Vanished-players-don-t-have-rights.patch
index 01f8c71f5e..e7b95e4245 100644
--- a/patches/server/0226-Vanished-players-don-t-have-rights.patch
+++ b/patches/server/0226-Vanished-players-don-t-have-rights.patch
@@ -89,10 +89,10 @@ index b52a761e84e00f2ccac7b1b9db73e70ffa1c681b..f17cc5da4eb4b4e5bcfae8b234358464
public boolean isClientSide() {
return this.isClientSide;
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index ec4022e16d3cdf375520a066afd772f1847e3516..7c8eb12c070bc1203ac94fec1a8f070dd4bda75f 100644
+index 8267af8592cf09051a17f594b98b50dce3493767..653fef73f60f4312b59533b4edc72020d3875d78 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -1369,6 +1369,14 @@ public class CraftEventFactory {
+@@ -1371,6 +1371,14 @@ public class CraftEventFactory {
Projectile projectile = (Projectile) entity.getBukkitEntity();
org.bukkit.entity.Entity collided = position.getEntity().getBukkitEntity();
com.destroystokyo.paper.event.entity.ProjectileCollideEvent event = new com.destroystokyo.paper.event.entity.ProjectileCollideEvent(projectile, collided);
diff --git a/patches/server/0233-Break-up-and-make-tab-spam-limits-configurable.patch b/patches/server/0233-Break-up-and-make-tab-spam-limits-configurable.patch
index 7de3260bad..dc7530f5d9 100644
--- a/patches/server/0233-Break-up-and-make-tab-spam-limits-configurable.patch
+++ b/patches/server/0233-Break-up-and-make-tab-spam-limits-configurable.patch
@@ -22,7 +22,7 @@ to take the burden of this into their own hand without having to rely on
plugins doing unsafe things.
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 92787d06ddd4d3a81e2c606d8c5daa0dae18253a..67b19f5672f6834ea4e6eccd553d926114bcc2c3 100644
+index 6de25b8230da167afb363f443597df383d3b8ca6..3e6430d5769afbe308703e61f7fb7474811fdf38 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -253,6 +253,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -41,7 +41,7 @@ index 92787d06ddd4d3a81e2c606d8c5daa0dae18253a..67b19f5672f6834ea4e6eccd553d9261
/* Use thread-safe field access instead
if (this.chatSpamTickCount > 0) {
--this.chatSpamTickCount;
-@@ -696,7 +698,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -697,7 +699,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
public void handleCustomCommandSuggestions(ServerboundCommandSuggestionPacket packet) {
// PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); // Paper - run this async
// CraftBukkit start
diff --git a/patches/server/0237-Add-Early-Warning-Feature-to-WatchDog.patch b/patches/server/0237-Add-Early-Warning-Feature-to-WatchDog.patch
index 1ee495ec8a..40194b178d 100644
--- a/patches/server/0237-Add-Early-Warning-Feature-to-WatchDog.patch
+++ b/patches/server/0237-Add-Early-Warning-Feature-to-WatchDog.patch
@@ -33,10 +33,10 @@ index b916f11cb3799aecf1edd9c2002f4c631754e89f..e3754d916ce38d0e0e8b8dbb623016ee
com.destroystokyo.paper.Metrics.PaperMetrics.startMetrics();
com.destroystokyo.paper.VersionHistoryManager.INSTANCE.getClass(); // load version history now
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 2cb21d2eed25074ede3a7be8f3c5e2a97547d356..a2aced2fbe7d9f3cc42d2c4b5bfde2838ab44360 100644
+index 0dc45f47960eff60f5d779ee88d49f7477c41944..c32315e6cd06ff02fe2a2c6c3f6f1c3c925147f9 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -917,6 +917,7 @@ public final class CraftServer implements Server {
+@@ -919,6 +919,7 @@ public final class CraftServer implements Server {
@Override
public void reload() {
@@ -44,7 +44,7 @@ index 2cb21d2eed25074ede3a7be8f3c5e2a97547d356..a2aced2fbe7d9f3cc42d2c4b5bfde283
this.reloadCount++;
this.configuration = YamlConfiguration.loadConfiguration(this.getConfigFile());
this.commandsConfiguration = YamlConfiguration.loadConfiguration(this.getCommandsConfigFile());
-@@ -1006,6 +1007,7 @@ public final class CraftServer implements Server {
+@@ -1008,6 +1009,7 @@ public final class CraftServer implements Server {
this.enablePlugins(PluginLoadOrder.STARTUP);
this.enablePlugins(PluginLoadOrder.POSTWORLD);
this.getPluginManager().callEvent(new ServerLoadEvent(ServerLoadEvent.LoadType.RELOAD));
diff --git a/patches/server/0253-Improve-death-events.patch b/patches/server/0253-Improve-death-events.patch
index 058dcbacfa..1c2f2eec1f 100644
--- a/patches/server/0253-Improve-death-events.patch
+++ b/patches/server/0253-Improve-death-events.patch
@@ -392,7 +392,7 @@ index 1047d9a46314e264ab3f72122aedefd161c7851d..91b9ec5831f439426a853ba9ac7a3f22
this.gameEvent(GameEvent.ENTITY_DIE);
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index c72dc80c65484d6fac3b37f6be3f8c678df0a432..39bd2e89f218efc8f851b3bbb86677bdd05a315e 100644
+index 6d34fef4f16bbac6bd66b702fb5c1511edaef3f1..cc5d3e5d1f25a8316b3b09d16183c0e9a79be2a0 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2343,7 +2343,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -412,10 +412,10 @@ index c72dc80c65484d6fac3b37f6be3f8c678df0a432..39bd2e89f218efc8f851b3bbb86677bd
public void injectScaledMaxHealth(Collection collection, boolean force) {
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 7c8eb12c070bc1203ac94fec1a8f070dd4bda75f..d0afefaeb5566afcb8754aa24264423d82f6cd3f 100644
+index 653fef73f60f4312b59533b4edc72020d3875d78..ee1be98a7844e983e46cf4ef6f0da1aa1b8c1c1d 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -891,9 +891,16 @@ public class CraftEventFactory {
+@@ -893,9 +893,16 @@ public class CraftEventFactory {
public static EntityDeathEvent callEntityDeathEvent(net.minecraft.world.entity.LivingEntity victim, List drops) {
CraftLivingEntity entity = (CraftLivingEntity) victim.getBukkitEntity();
EntityDeathEvent event = new EntityDeathEvent(entity, drops, victim.getExpReward());
@@ -432,7 +432,7 @@ index 7c8eb12c070bc1203ac94fec1a8f070dd4bda75f..d0afefaeb5566afcb8754aa24264423d
victim.expToDrop = event.getDroppedExp();
for (org.bukkit.inventory.ItemStack stack : event.getDrops()) {
-@@ -910,8 +917,15 @@ public class CraftEventFactory {
+@@ -912,8 +919,15 @@ public class CraftEventFactory {
PlayerDeathEvent event = new PlayerDeathEvent(entity, drops, victim.getExpReward(), 0, deathMessage, stringDeathMessage); // Paper - Adventure
event.setKeepInventory(keepInventory);
event.setKeepLevel(victim.keepLevel); // SPIGOT-2222: pre-set keepLevel
@@ -448,7 +448,7 @@ index 7c8eb12c070bc1203ac94fec1a8f070dd4bda75f..d0afefaeb5566afcb8754aa24264423d
victim.keepLevel = event.getKeepLevel();
victim.newLevel = event.getNewLevel();
-@@ -928,6 +942,31 @@ public class CraftEventFactory {
+@@ -930,6 +944,31 @@ public class CraftEventFactory {
return event;
}
diff --git a/patches/server/0273-Add-option-to-prevent-players-from-moving-into-unloa.patch b/patches/server/0273-Add-option-to-prevent-players-from-moving-into-unloa.patch
index 085bd6901c..f6fea97b7e 100644
--- a/patches/server/0273-Add-option-to-prevent-players-from-moving-into-unloa.patch
+++ b/patches/server/0273-Add-option-to-prevent-players-from-moving-into-unloa.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Add option to prevent players from moving into unloaded
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 67b19f5672f6834ea4e6eccd553d926114bcc2c3..c5de649f2a63e913fca5f915a7e52350eb45ef1b 100644
+index 3e6430d5769afbe308703e61f7fb7474811fdf38..6b2a3d3af54af0699a2331cfa6b165d079e38caf 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -466,9 +466,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -39,7 +39,7 @@ index 67b19f5672f6834ea4e6eccd553d926114bcc2c3..c5de649f2a63e913fca5f915a7e52350
if (d10 - d9 > Math.max(100.0D, Math.pow((double) (org.spigotmc.SpigotConfig.movedTooQuicklyMultiplier * (float) i * speed), 2)) && !this.isSingleplayerOwner()) {
// CraftBukkit end
ServerGamePacketListenerImpl.LOGGER.warn("{} (vehicle of {}) moved too quickly! {},{},{}", new Object[]{entity.getName().getString(), this.player.getName().getString(), d6, d7, d8});
-@@ -1156,9 +1166,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1157,9 +1167,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.allowedPlayerTicks = 20; // CraftBukkit
} else {
this.awaitingTeleportTime = this.tickCount;
@@ -52,7 +52,7 @@ index 67b19f5672f6834ea4e6eccd553d926114bcc2c3..c5de649f2a63e913fca5f915a7e52350
float f = Mth.wrapDegrees(packet.getYRot(this.player.getYRot()));
float f1 = Mth.wrapDegrees(packet.getXRot(this.player.getXRot()));
-@@ -1213,6 +1223,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1214,6 +1224,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
} else {
speed = this.player.getAbilities().walkingSpeed * 10f;
}
diff --git a/patches/server/0281-Don-t-allow-digging-into-unloaded-chunks.patch b/patches/server/0281-Don-t-allow-digging-into-unloaded-chunks.patch
index f333920a87..1378506dad 100644
--- a/patches/server/0281-Don-t-allow-digging-into-unloaded-chunks.patch
+++ b/patches/server/0281-Don-t-allow-digging-into-unloaded-chunks.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Don't allow digging into unloaded chunks
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
-index 7adf7d1248680e591638298f13f5ae88788f5e4c..bdf11a98614c9c12d3112f437651be81d0d9872a 100644
+index 3273448ebb2db3fa8eb3f45262f5497dbb31a5ba..58277908737a1f3da89e5df827e108e2381396ff 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
@@ -119,8 +119,8 @@ public class ServerPlayerGameMode {
@@ -59,10 +59,10 @@ index 7adf7d1248680e591638298f13f5ae88788f5e4c..bdf11a98614c9c12d3112f437651be81
this.level.destroyBlockProgress(this.player.getId(), pos, -1);
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index c5de649f2a63e913fca5f915a7e52350eb45ef1b..6f33c774c6ac95e79dae59d16059cd7b9ed0dde4 100644
+index 6b2a3d3af54af0699a2331cfa6b165d079e38caf..52b386b608fab59fe930885c0951f9674a257d69 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -1561,6 +1561,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1562,6 +1562,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
case START_DESTROY_BLOCK:
case ABORT_DESTROY_BLOCK:
case STOP_DESTROY_BLOCK:
diff --git a/patches/server/0282-Make-the-default-permission-message-configurable.patch b/patches/server/0282-Make-the-default-permission-message-configurable.patch
index a2b4b9489b..e0ff8b65c6 100644
--- a/patches/server/0282-Make-the-default-permission-message-configurable.patch
+++ b/patches/server/0282-Make-the-default-permission-message-configurable.patch
@@ -18,10 +18,10 @@ index 0dd48e4098191c8b6e29945d62bc473e9f3a1e77..ae51993e0de706cb62c96795ca9de766
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index cbdf413e16b819432b291d8fb2a87d6c3dba2ed2..4ca91d6e23862c9c7cb0bd3272cd6774d37960a5 100644
+index c32315e6cd06ff02fe2a2c6c3f6f1c3c925147f9..08eb9c98b0ff86131e1842c1b73711fd62344516 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2708,6 +2708,16 @@ public final class CraftServer implements Server {
+@@ -2771,6 +2771,16 @@ public final class CraftServer implements Server {
return io.papermc.paper.configuration.GlobalConfiguration.get().commands.suggestPlayerNamesWhenNullTabCompletions;
}
diff --git a/patches/server/0287-Book-Size-Limits.patch b/patches/server/0287-Book-Size-Limits.patch
index 67cc2739f2..7e8f4afb62 100644
--- a/patches/server/0287-Book-Size-Limits.patch
+++ b/patches/server/0287-Book-Size-Limits.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Book Size Limits
Puts some limits on the size of books.
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 6f33c774c6ac95e79dae59d16059cd7b9ed0dde4..e1863e26d31b017c0cad5b43077508187acfd527 100644
+index 52b386b608fab59fe930885c0951f9674a257d69..78b902277521e2e6b33c971f61d27193ab2fc4f8 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -1023,6 +1023,45 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1024,6 +1024,45 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@Override
public void handleEditBook(ServerboundEditBookPacket packet) {
diff --git a/patches/server/0295-Implement-Brigadier-Mojang-API.patch b/patches/server/0295-Implement-Brigadier-Mojang-API.patch
index ab7d00fd4a..09febae3e0 100644
--- a/patches/server/0295-Implement-Brigadier-Mojang-API.patch
+++ b/patches/server/0295-Implement-Brigadier-Mojang-API.patch
@@ -10,7 +10,7 @@ Adds CommandRegisteredEvent
- Allows manipulating the CommandNode to add more children/metadata for the client
diff --git a/build.gradle.kts b/build.gradle.kts
-index 85c3b070da9dcde26b8f947e52ba390c535feae2..2f32a91bea8c27eb1f768e8a2a876a081cd68de8 100644
+index ce9ef2199364029c658812851d02047b982d92eb..80ffd7fd14893c70da92dddb5ec37d409c76b729 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -14,6 +14,7 @@ val alsoShade: Configuration by configurations.creating
@@ -131,10 +131,10 @@ index bbf4db5faf4694e78e01f4e74e277b46a02f7afd..148cfe9eac43cafee016d58a1344a97a
if (commandnode2.canUse(source)) {
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index e1863e26d31b017c0cad5b43077508187acfd527..3cad1ccf74b078496db5dfe9d0bb55636c059634 100644
+index 78b902277521e2e6b33c971f61d27193ab2fc4f8..892a06c76e5e77b43d592c325fcbf32f9d107181 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -739,8 +739,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -740,8 +740,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
ParseResults parseresults = this.server.getCommands().getDispatcher().parse(stringreader, this.player.createCommandSourceStack());
this.server.getCommands().getDispatcher().getCompletionSuggestions(parseresults).thenAccept((suggestions) -> {
@@ -149,7 +149,7 @@ index e1863e26d31b017c0cad5b43077508187acfd527..3cad1ccf74b078496db5dfe9d0bb5563
});
});
}
-@@ -755,7 +759,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -756,7 +760,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
builder.suggest(completion.suggestion(), PaperAdventure.asVanilla(completion.tooltip()));
}
});
diff --git a/patches/server/0297-Limit-Client-Sign-length-more.patch b/patches/server/0297-Limit-Client-Sign-length-more.patch
index 409a869e5c..20c34a9a2c 100644
--- a/patches/server/0297-Limit-Client-Sign-length-more.patch
+++ b/patches/server/0297-Limit-Client-Sign-length-more.patch
@@ -22,7 +22,7 @@ it only impacts data sent from the client.
Set -DPaper.maxSignLength=XX to change limit or -1 to disable
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 3cad1ccf74b078496db5dfe9d0bb55636c059634..ea267989024ac8546584231f439f1d5c8da6c6ea 100644
+index 892a06c76e5e77b43d592c325fcbf32f9d107181..93b1e0b287d195181cb2253b3490ed537efa6b8e 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -288,6 +288,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -33,7 +33,7 @@ index 3cad1ccf74b078496db5dfe9d0bb55636c059634..ea267989024ac8546584231f439f1d5c
public ServerGamePacketListenerImpl(MinecraftServer server, Connection connection, ServerPlayer player, CommonListenerCookie clientData) {
super(server, connection, clientData, player); // CraftBukkit
-@@ -3051,7 +3052,19 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -3052,7 +3053,19 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@Override
public void handleSignUpdate(ServerboundSignUpdatePacket packet) {
diff --git a/patches/server/0315-Expose-the-internal-current-tick.patch b/patches/server/0315-Expose-the-internal-current-tick.patch
index 83379dbcbf..0eeb26ed18 100644
--- a/patches/server/0315-Expose-the-internal-current-tick.patch
+++ b/patches/server/0315-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/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 4ca91d6e23862c9c7cb0bd3272cd6774d37960a5..e331fc0866ae91b1463879661b04dad16f6117ca 100644
+index 08eb9c98b0ff86131e1842c1b73711fd62344516..4a5b18b4e9e664687c1136c5f1a97b8f50f87bf2 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2754,5 +2754,10 @@ public final class CraftServer implements Server {
+@@ -2817,5 +2817,10 @@ public final class CraftServer implements Server {
profile.getProperties().putAll(((CraftPlayer) player).getHandle().getGameProfile().getProperties());
return new com.destroystokyo.paper.profile.CraftPlayerProfile(profile);
}
diff --git a/patches/server/0342-Anti-Xray.patch b/patches/server/0342-Anti-Xray.patch
index 4b817d747e..4e34895245 100644
--- a/patches/server/0342-Anti-Xray.patch
+++ b/patches/server/0342-Anti-Xray.patch
@@ -1554,10 +1554,10 @@ index 593cfd68dc0f3679c684b6a1d2036419d4f3bc0c..b4b2f961d1e4f8b5b199052efefd96bc
private static final byte[] EMPTY_LIGHT = new byte[2048];
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 34905e673683620fc5f0158fea3c16049d09f8f2..c70c64c2ae7bed27f39db12bd2329aa600ae2fe5 100644
+index 4a5b18b4e9e664687c1136c5f1a97b8f50f87bf2..212d8473458ce830804f7a7a2848d2df6f4bb3ba 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2278,7 +2278,7 @@ public final class CraftServer implements Server {
+@@ -2341,7 +2341,7 @@ public final class CraftServer implements Server {
public ChunkGenerator.ChunkData createChunkData(World world) {
Preconditions.checkArgument(world != null, "World cannot be null");
ServerLevel handle = ((CraftWorld) world).getHandle();
diff --git a/patches/server/0352-add-hand-to-BlockMultiPlaceEvent.patch b/patches/server/0352-add-hand-to-BlockMultiPlaceEvent.patch
index c407c28b51..1fca97a93b 100644
--- a/patches/server/0352-add-hand-to-BlockMultiPlaceEvent.patch
+++ b/patches/server/0352-add-hand-to-BlockMultiPlaceEvent.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] add hand to BlockMultiPlaceEvent
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 87be89a5e2d8b885f6f077433d4a7e402e8c7d49..cb8ac0475c842ba8c70564ed8a9c5d148257262a 100644
+index ee1be98a7844e983e46cf4ef6f0da1aa1b8c1c1d..96e33c433605ae2e0473b36f03894e030e79cd0d 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -401,13 +401,18 @@ public class CraftEventFactory {
+@@ -403,13 +403,18 @@ public class CraftEventFactory {
}
org.bukkit.inventory.ItemStack item;
diff --git a/patches/server/0358-Add-tick-times-API-and-mspt-command.patch b/patches/server/0358-Add-tick-times-API-and-mspt-command.patch
index acc5bf78de..bffbded7a3 100644
--- a/patches/server/0358-Add-tick-times-API-and-mspt-command.patch
+++ b/patches/server/0358-Add-tick-times-API-and-mspt-command.patch
@@ -125,7 +125,7 @@ index 72f2e81b9905a0d57ed8e2a88578f62d5235c456..7b58b2d6297800c2dcdbf7539e5ab8e7
public static void registerCommands(final MinecraftServer server) {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 4d3cd4a5dbf7adb482e60dc88ededdaccf558061..951e283d38cb7601049ac6f24385acde514df553 100644
+index ef6d98d503fdca4322000278de4cf325df56f99d..f700e677d75f911b786a22b4cc9d0a016d99b02f 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -247,6 +247,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop drops) {
@@ -150,7 +150,7 @@ index 0696f48da86cf1755abedf985e25655bd3a89717..0e40822592f2310d088662ffc923b67d
CraftLivingEntity entity = (CraftLivingEntity) victim.getBukkitEntity();
EntityDeathEvent event = new EntityDeathEvent(entity, drops, victim.getExpReward());
populateFields(victim, event); // Paper - make cancellable
-@@ -907,11 +912,13 @@ public class CraftEventFactory {
+@@ -909,11 +914,13 @@ public class CraftEventFactory {
playDeathSound(victim, event);
// Paper end
victim.expToDrop = event.getDroppedExp();
diff --git a/patches/server/0385-Validate-PickItem-Packet-and-kick-for-invalid.patch b/patches/server/0385-Validate-PickItem-Packet-and-kick-for-invalid.patch
index 10c3fa1965..f018765ed2 100644
--- a/patches/server/0385-Validate-PickItem-Packet-and-kick-for-invalid.patch
+++ b/patches/server/0385-Validate-PickItem-Packet-and-kick-for-invalid.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Validate PickItem Packet and kick for invalid
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index ea267989024ac8546584231f439f1d5c8da6c6ea..4eee9f4a8976831f2a262c0651fed0b51162046f 100644
+index 93b1e0b287d195181cb2253b3490ed537efa6b8e..c06ce8822891e7d2a8fa2b649b02555ce6e3373c 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -866,7 +866,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -867,7 +867,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@Override
public void handlePickItem(ServerboundPickItemPacket packet) {
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
diff --git a/patches/server/0386-Expose-game-version.patch b/patches/server/0386-Expose-game-version.patch
index 6e3879901b..a8b54fe8da 100644
--- a/patches/server/0386-Expose-game-version.patch
+++ b/patches/server/0386-Expose-game-version.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Expose game version
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index ba381026071767428273b35cc57b4181c57c43f1..4ebe72172b01dd48651ac6bf21026a77268fa6dc 100644
+index f5357e9816fdd985f7ca9ad705e8c1f42626622f..914f4673a0add2b14bcba389eed799e599984616 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -584,6 +584,13 @@ public final class CraftServer implements Server {
+@@ -586,6 +586,13 @@ public final class CraftServer implements Server {
return this.bukkitVersion;
}
diff --git a/patches/server/0389-misc-debugging-dumps.patch b/patches/server/0389-misc-debugging-dumps.patch
index be3cf77b44..e2ab0e9a06 100644
--- a/patches/server/0389-misc-debugging-dumps.patch
+++ b/patches/server/0389-misc-debugging-dumps.patch
@@ -29,7 +29,7 @@ index 0000000000000000000000000000000000000000..2d5494d2813b773e60ddba6790b750a9
+ }
+}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 41106a10ca8148dae4129e2a46854d83605839b4..a107751a13ccef2729068e9b9822509374d20187 100644
+index 5f8cf962a4b630223fb93ffea49d1b2151e1604d..fdaf757cbbc90841747989add56c13f252f645e5 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -872,6 +872,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop set) { // Paper
diff --git a/patches/server/0392-Implement-Mob-Goal-API.patch b/patches/server/0392-Implement-Mob-Goal-API.patch
index 022a6bd15b..f821c1b661 100644
--- a/patches/server/0392-Implement-Mob-Goal-API.patch
+++ b/patches/server/0392-Implement-Mob-Goal-API.patch
@@ -792,10 +792,10 @@ index 4379b9948f1eecfe6fd7dea98e298ad5f761019a..3f081183521603824430709886a9cc31
LOOK,
JUMP,
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 3b94e516bdfe927c6741d6bc47ccc86876860f69..e98c1c975ee09e123935a84f0b7f2b8b46d5f237 100644
+index 753dc48330acc93b8ddbd9ed8f5c9655c72ff311..ac8ed31a991e20b7584e98a8923614f6ecb97d38 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2782,5 +2782,11 @@ public final class CraftServer implements Server {
+@@ -2845,5 +2845,11 @@ public final class CraftServer implements Server {
public boolean isStopping() {
return net.minecraft.server.MinecraftServer.getServer().hasStopped();
}
diff --git a/patches/server/0394-Option-for-maximum-exp-value-when-merging-orbs.patch b/patches/server/0394-Option-for-maximum-exp-value-when-merging-orbs.patch
index 0e52c845e6..be87bfcc03 100644
--- a/patches/server/0394-Option-for-maximum-exp-value-when-merging-orbs.patch
+++ b/patches/server/0394-Option-for-maximum-exp-value-when-merging-orbs.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Option for maximum exp value when merging orbs
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 4e0b6798754710e9fa598016938f033ae17b8a09..e9172da1b88ea57415df041178ca939550da83cb 100644
+index 39d710d98ca5435e7645ab91c109090c42ffc52f..195735de5f35c0d80a8c5ae4bca20f149ce49f90 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -688,16 +688,30 @@ public class CraftEventFactory {
+@@ -690,16 +690,30 @@ public class CraftEventFactory {
net.minecraft.world.entity.ExperienceOrb xp = (net.minecraft.world.entity.ExperienceOrb) entity;
double radius = world.spigotConfig.expMerge;
if (radius > 0) {
diff --git a/patches/server/0395-ExperienceOrbMergeEvent.patch b/patches/server/0395-ExperienceOrbMergeEvent.patch
index 98a256f164..f0074453c8 100644
--- a/patches/server/0395-ExperienceOrbMergeEvent.patch
+++ b/patches/server/0395-ExperienceOrbMergeEvent.patch
@@ -9,10 +9,10 @@ Plugins can cancel this if they want to ensure experience orbs do not lose impor
metadata such as spawn reason, or conditionally move data from source to target.
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index e9172da1b88ea57415df041178ca939550da83cb..dedc3cec245b120af3266e23cdf7ea8098f45e96 100644
+index 195735de5f35c0d80a8c5ae4bca20f149ce49f90..c634a4b0d835df3ad6129ca03e11668f715ab8d2 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -698,7 +698,7 @@ public class CraftEventFactory {
+@@ -700,7 +700,7 @@ public class CraftEventFactory {
if (e instanceof net.minecraft.world.entity.ExperienceOrb) {
net.minecraft.world.entity.ExperienceOrb loopItem = (net.minecraft.world.entity.ExperienceOrb) e;
// Paper start
diff --git a/patches/server/0399-Wait-for-Async-Tasks-during-shutdown.patch b/patches/server/0399-Wait-for-Async-Tasks-during-shutdown.patch
index 3f59b17b5f..65b6451503 100644
--- a/patches/server/0399-Wait-for-Async-Tasks-during-shutdown.patch
+++ b/patches/server/0399-Wait-for-Async-Tasks-during-shutdown.patch
@@ -22,10 +22,10 @@ index fdaf757cbbc90841747989add56c13f252f645e5..6b7bacb0ea667c488b09da8c2a8a685d
// CraftBukkit end
this.getConnection().stop();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index dd7305a316c72b55c74c226e2edc4d6a8a2b8d37..92a6b6e838336c086ab5fc534ec8bb2d94e3453a 100644
+index ac8ed31a991e20b7584e98a8923614f6ecb97d38..509927dc2a8d7f4968470130cde346d039aa50d4 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1018,6 +1018,31 @@ public final class CraftServer implements Server {
+@@ -1020,6 +1020,31 @@ public final class CraftServer implements Server {
org.spigotmc.WatchdogThread.hasStarted = true; // Paper - Disable watchdog early timeout on reload
}
diff --git a/patches/server/0411-Prevent-position-desync-in-playerconnection-causing-.patch b/patches/server/0411-Prevent-position-desync-in-playerconnection-causing-.patch
index e09841f2b5..543b03cce0 100644
--- a/patches/server/0411-Prevent-position-desync-in-playerconnection-causing-.patch
+++ b/patches/server/0411-Prevent-position-desync-in-playerconnection-causing-.patch
@@ -14,10 +14,10 @@ behaviour, we need to move all of this dangerous logic outside
of the move call and into an appropriate place in the tick method.
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index e2ee006d6b6971b15741f304945bbe480789079b..00e10043b00584595665865c1c8dc692db8ba020 100644
+index c251202cb6b69b4dfa46b6836c6da1664f533738..3f9f2e4b64df72f3f01aed191d57766978c5886c 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -1340,6 +1340,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1341,6 +1341,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.player.move(MoverType.PLAYER, new Vec3(d6, d7, d8));
this.player.onGround = packet.isOnGround(); // CraftBukkit - SPIGOT-5810, SPIGOT-5835, SPIGOT-6828: reset by this.player.move
diff --git a/patches/server/0414-Add-and-implement-PlayerRecipeBookClickEvent.patch b/patches/server/0414-Add-and-implement-PlayerRecipeBookClickEvent.patch
index 81e3b77ff5..455db3f928 100644
--- a/patches/server/0414-Add-and-implement-PlayerRecipeBookClickEvent.patch
+++ b/patches/server/0414-Add-and-implement-PlayerRecipeBookClickEvent.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add and implement PlayerRecipeBookClickEvent
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 00e10043b00584595665865c1c8dc692db8ba020..2d9e7baba170e8734abe0601f3446fce1f56ae13 100644
+index 3f9f2e4b64df72f3f01aed191d57766978c5886c..292a80afecb7a67e5e5900578867612d91ca82a5 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -2958,16 +2958,40 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2959,16 +2959,40 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
if (!this.player.containerMenu.stillValid(this.player)) {
ServerGamePacketListenerImpl.LOGGER.debug("Player {} interacted with invalid menu {}", this.player, this.player.containerMenu);
} else {
diff --git a/patches/server/0417-Add-permission-for-command-blocks.patch b/patches/server/0417-Add-permission-for-command-blocks.patch
index 9c9308838b..fd5bb978b8 100644
--- a/patches/server/0417-Add-permission-for-command-blocks.patch
+++ b/patches/server/0417-Add-permission-for-command-blocks.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add permission for command blocks
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
-index 58a1a54b676922ef0862dcab98e7aada5de80311..cf47536a2e37d53406fc9cb3f09095e034af8e15 100644
+index f47fcae72d48cd410a4ac3e0a4bd21f42fae7eec..345bae8d145abd8357f4b71f4977e5850b980ff4 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
@@ -404,7 +404,7 @@ public class ServerPlayerGameMode {
@@ -18,10 +18,10 @@ index 58a1a54b676922ef0862dcab98e7aada5de80311..cf47536a2e37d53406fc9cb3f09095e0
return false;
} else if (this.player.blockActionRestricted(this.level, pos, this.gameModeForPlayer)) {
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 2d9e7baba170e8734abe0601f3446fce1f56ae13..b664a4ae7b10ce3ea83186a6112c0db0cbd6112a 100644
+index 292a80afecb7a67e5e5900578867612d91ca82a5..6add371484deca6ed041e434fea5dc54c8db12d9 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -777,7 +777,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -778,7 +778,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
if (!this.server.isCommandBlockEnabled()) {
this.player.sendSystemMessage(Component.translatable("advMode.notEnabled"));
@@ -30,7 +30,7 @@ index 2d9e7baba170e8734abe0601f3446fce1f56ae13..b664a4ae7b10ce3ea83186a6112c0db0
this.player.sendSystemMessage(Component.translatable("advMode.notAllowed"));
} else {
BaseCommandBlock commandblocklistenerabstract = null;
-@@ -844,7 +844,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -845,7 +845,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
if (!this.server.isCommandBlockEnabled()) {
this.player.sendSystemMessage(Component.translatable("advMode.notEnabled"));
@@ -66,7 +66,7 @@ index 061a56e3828767cd6576d5a9edde5f3498e609d0..2e7c03b00bc941b86df6a7f1b2b188c9
return InteractionResult.sidedSuccess(world.isClientSide);
} else {
diff --git a/src/main/java/org/bukkit/craftbukkit/util/permissions/CraftDefaultPermissions.java b/src/main/java/org/bukkit/craftbukkit/util/permissions/CraftDefaultPermissions.java
-index 70d3949616c63038ad3e9bd1069db5ea2fb3f3b8..8e06bc11fb28baee3407bbfe9d7b3689d6f85ff2 100644
+index 245ad120a36b6defca7e6889faae1ca5fc33d0c7..e0e61115ada9a49d4c528c5d4e02a1ca571d9531 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/permissions/CraftDefaultPermissions.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/permissions/CraftDefaultPermissions.java
@@ -16,6 +16,7 @@ public final class CraftDefaultPermissions {
diff --git a/patches/server/0419-Fix-Per-World-Difficulty-Remembering-Difficulty.patch b/patches/server/0419-Fix-Per-World-Difficulty-Remembering-Difficulty.patch
index ac9033c81d..cfd462ddb2 100644
--- a/patches/server/0419-Fix-Per-World-Difficulty-Remembering-Difficulty.patch
+++ b/patches/server/0419-Fix-Per-World-Difficulty-Remembering-Difficulty.patch
@@ -89,10 +89,10 @@ index 49d341605ac7e82c5dcdcc960b6581aa7e1fb8f3..a3c1797549e3b149f425f857bbf8564c
playerlist.sendPlayerPermissionLevel(this);
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 919a45d3a77330b9e2780fd7f2e96f5a4917b228..5cf42146e1885fe1427ac7a248e2ba6dc1b4128b 100644
+index 6add371484deca6ed041e434fea5dc54c8db12d9..0080136d9aaead083fd1d94d2f7a0df250e3d9d8 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -3161,7 +3161,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -3162,7 +3162,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
public void handleChangeDifficulty(ServerboundChangeDifficultyPacket packet) {
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
if (this.player.hasPermissions(2) || this.isSingleplayerOwner()) {
@@ -102,10 +102,10 @@ index 919a45d3a77330b9e2780fd7f2e96f5a4917b228..5cf42146e1885fe1427ac7a248e2ba6d
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 92a6b6e838336c086ab5fc534ec8bb2d94e3453a..23faeac3cf5a78ea869744d582fbe631a3d6dc44 100644
+index 509927dc2a8d7f4968470130cde346d039aa50d4..a51cebb2f0f2ade695bb9f8c2b07b066c4872875 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -957,8 +957,8 @@ public final class CraftServer implements Server {
+@@ -959,8 +959,8 @@ public final class CraftServer implements Server {
org.spigotmc.SpigotConfig.init((File) this.console.options.valueOf("spigot-settings")); // Spigot
this.console.paperConfigurations.reloadConfigs(this.console);
for (ServerLevel world : this.console.getAllLevels()) {
diff --git a/patches/server/0423-Add-Plugin-Tickets-to-API-Chunk-Methods.patch b/patches/server/0423-Add-Plugin-Tickets-to-API-Chunk-Methods.patch
index 320730933c..36e24b8889 100644
--- a/patches/server/0423-Add-Plugin-Tickets-to-API-Chunk-Methods.patch
+++ b/patches/server/0423-Add-Plugin-Tickets-to-API-Chunk-Methods.patch
@@ -22,10 +22,10 @@ wants it to collect even faster, they can restore that setting back to 1 instead
Not adding it to .getType() though to keep behavior consistent with vanilla for performance reasons.
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 23faeac3cf5a78ea869744d582fbe631a3d6dc44..b1162c638a87714ba9e54a24f10f229d303123bd 100644
+index a51cebb2f0f2ade695bb9f8c2b07b066c4872875..a0e67773f4af7e35edad2535f95426308868c69b 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -384,7 +384,7 @@ public final class CraftServer implements Server {
+@@ -386,7 +386,7 @@ public final class CraftServer implements Server {
this.overrideSpawnLimits();
console.autosavePeriod = this.configuration.getInt("ticks-per.autosave");
this.warningState = WarningState.value(this.configuration.getString("settings.deprecated-verbose"));
@@ -34,7 +34,7 @@ index 23faeac3cf5a78ea869744d582fbe631a3d6dc44..b1162c638a87714ba9e54a24f10f229d
this.minimumAPI = this.configuration.getString("settings.minimum-api");
this.loadIcon();
-@@ -937,7 +937,7 @@ public final class CraftServer implements Server {
+@@ -939,7 +939,7 @@ public final class CraftServer implements Server {
this.console.setMotd(config.motd);
this.overrideSpawnLimits();
this.warningState = WarningState.value(this.configuration.getString("settings.deprecated-verbose"));
diff --git a/patches/server/0433-Add-PrepareResultEvent.patch b/patches/server/0433-Add-PrepareResultEvent.patch
index 963de37d64..911e4ae943 100644
--- a/patches/server/0433-Add-PrepareResultEvent.patch
+++ b/patches/server/0433-Add-PrepareResultEvent.patch
@@ -94,10 +94,10 @@ index 9c2fe69ced7a46bbd8b0fbe10fa67d0a39b0f375..70ecc3f673ebd56b65ad901e10f40c28
private void setupRecipeList(Container input, ItemStack stack) {
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 2aa0026d2df9d09f8770280d8f5a9b43e3f4e948..f4040a1187b49a3aaaca91ff983433b404765043 100644
+index c634a4b0d835df3ad6129ca03e11668f715ab8d2..265a30230c0dde7bb48f5ed0e6ebb91556d5b51f 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -1711,26 +1711,53 @@ public class CraftEventFactory {
+@@ -1718,26 +1718,53 @@ public class CraftEventFactory {
return event;
}
diff --git a/patches/server/0451-Add-BellRingEvent.patch b/patches/server/0451-Add-BellRingEvent.patch
index 6453b546ee..539214613a 100644
--- a/patches/server/0451-Add-BellRingEvent.patch
+++ b/patches/server/0451-Add-BellRingEvent.patch
@@ -7,10 +7,10 @@ Add a new event, BellRingEvent, to trigger whenever a player rings a
village bell. Passes along the bell block and the player who rang it.
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index f4040a1187b49a3aaaca91ff983433b404765043..a19979dac60552791b7a8dd4920ba75b525340ca 100644
+index 265a30230c0dde7bb48f5ed0e6ebb91556d5b51f..e2b09b575416a47277c53c6d49572d0845cb8a72 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -367,10 +367,11 @@ public class CraftEventFactory {
+@@ -369,10 +369,11 @@ public class CraftEventFactory {
return tradeSelectEvent;
}
diff --git a/patches/server/0459-Create-HoverEvent-from-ItemStack-Entity.patch b/patches/server/0459-Create-HoverEvent-from-ItemStack-Entity.patch
index a8eadef392..9abcb54dc7 100644
--- a/patches/server/0459-Create-HoverEvent-from-ItemStack-Entity.patch
+++ b/patches/server/0459-Create-HoverEvent-from-ItemStack-Entity.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Create HoverEvent from ItemStack Entity
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
-index 709c0e9ba7b33e97666ac74412761bb0e770a037..aa90b0bc1ca3f79a38b39442bf87e376cd2d73ae 100644
+index 8a89fd0f771e0df439dc9070df7dfa6f2cbd5de2..2251c06ae08a846129b1cef4842c112708a6ecf4 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
-@@ -491,4 +491,41 @@ public final class CraftItemFactory implements ItemFactory {
+@@ -530,4 +530,41 @@ public final class CraftItemFactory implements ItemFactory {
return nms != null ? net.minecraft.locale.Language.getInstance().getOrDefault(nms.getItem().getDescriptionId(nms)) : null;
}
// Paper end - add getI18NDisplayName
diff --git a/patches/server/0461-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch b/patches/server/0461-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch
index 232213f6f0..e3fb5a8319 100644
--- a/patches/server/0461-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch
+++ b/patches/server/0461-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch
@@ -9,7 +9,7 @@ as this is how Vanilla teleports entities.
Cancel any pending motion when teleported.
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 5cf42146e1885fe1427ac7a248e2ba6dc1b4128b..5566a7f225ea16eeb47c7bd3ad41515383574dfa 100644
+index 0080136d9aaead083fd1d94d2f7a0df250e3d9d8..7854073fccf6c3c2eff1acf0e4e6eac0dfcb9919 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -657,7 +657,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -21,7 +21,7 @@ index 5cf42146e1885fe1427ac7a248e2ba6dc1b4128b..5566a7f225ea16eeb47c7bd3ad415153
this.lastGoodX = this.awaitingPositionFromClient.x;
this.lastGoodY = this.awaitingPositionFromClient.y;
this.lastGoodZ = this.awaitingPositionFromClient.z;
-@@ -1556,7 +1556,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1557,7 +1557,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
// CraftBukkit end
this.awaitingTeleportTime = this.tickCount;
@@ -31,7 +31,7 @@ index 5cf42146e1885fe1427ac7a248e2ba6dc1b4128b..5566a7f225ea16eeb47c7bd3ad415153
}
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index eedb6db6a5e4879847ea593975d6f6f1de954642..1035faf0a7af0cae34065c93da23736bcfe2f0ef 100644
+index 78af47c54f8dd3b1b4f81b740bcd438132c27947..d751bae633161abf9aa63197239e519c00676edf 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -159,6 +159,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -69,7 +69,7 @@ index 369298dfd437c1c83801f3d4ba63484ee1b969fe..ae2b95f53e875716489821dc9b0a3a35
if (entity instanceof Mob) {
Mob entityinsentient = (Mob) entity;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
-index fa1ebfb89eeb129abf6263ea93fb14e5b7607610..a5751fa22a6638abae155de483a769f12b125650 100644
+index 0498a83ceb4c009b76086dc44f80395efaab797e..747445306a19db2b89fa7cdfc5dcd7f361a69f54 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -579,7 +579,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
diff --git a/patches/server/0471-Fix-for-large-move-vectors-crashing-server.patch b/patches/server/0471-Fix-for-large-move-vectors-crashing-server.patch
index 7809d6d781..6d40d79362 100644
--- a/patches/server/0471-Fix-for-large-move-vectors-crashing-server.patch
+++ b/patches/server/0471-Fix-for-large-move-vectors-crashing-server.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Fix for large move vectors crashing server
Check movement distance also based on current position.
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 5566a7f225ea16eeb47c7bd3ad41515383574dfa..e4c4984285162523285b19de2e0c81b076b9c33b 100644
+index 7854073fccf6c3c2eff1acf0e4e6eac0dfcb9919..12f88573544269bc7276ca51d7f31be98bd60654 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -464,9 +464,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -57,7 +57,7 @@ index 5566a7f225ea16eeb47c7bd3ad41515383574dfa..e4c4984285162523285b19de2e0c81b0
boolean flag1 = entity.verticalCollisionBelow;
if (entity instanceof LivingEntity) {
-@@ -1248,7 +1259,18 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1249,7 +1260,18 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
double d7 = d1 - this.firstGoodY;
double d8 = d2 - this.firstGoodZ;
double d9 = this.player.getDeltaMovement().lengthSqr();
@@ -77,7 +77,7 @@ index 5566a7f225ea16eeb47c7bd3ad41515383574dfa..e4c4984285162523285b19de2e0c81b0
if (this.player.isSleeping()) {
if (d10 > 1.0D) {
-@@ -1300,9 +1322,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1301,9 +1323,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
AABB axisalignedbb = this.player.getBoundingBox();
diff --git a/patches/server/0479-Add-getOfflinePlayerIfCached-String.patch b/patches/server/0479-Add-getOfflinePlayerIfCached-String.patch
index f2e0ca17ed..387c4872e4 100644
--- a/patches/server/0479-Add-getOfflinePlayerIfCached-String.patch
+++ b/patches/server/0479-Add-getOfflinePlayerIfCached-String.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add getOfflinePlayerIfCached(String)
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index b1162c638a87714ba9e54a24f10f229d303123bd..98fe64fcab9d0f8497794ccb8df563be782798d9 100644
+index a0e67773f4af7e35edad2535f95426308868c69b..99942a9292056998026ef7e2293e882d9b61dfd1 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1814,6 +1814,28 @@ public final class CraftServer implements Server {
+@@ -1877,6 +1877,28 @@ public final class CraftServer implements Server {
return result;
}
diff --git a/patches/server/0498-Limit-recipe-packets.patch b/patches/server/0498-Limit-recipe-packets.patch
index 4b41c6795a..fe3937e4ca 100644
--- a/patches/server/0498-Limit-recipe-packets.patch
+++ b/patches/server/0498-Limit-recipe-packets.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Limit recipe packets
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index e4c4984285162523285b19de2e0c81b076b9c33b..059d2521bb2b86ccafd4b51a014bc6822692d854 100644
+index 12f88573544269bc7276ca51d7f31be98bd60654..d8ae73b68e449a2ab7e39acf3c120248948480d6 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -254,6 +254,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -24,7 +24,7 @@ index e4c4984285162523285b19de2e0c81b076b9c33b..059d2521bb2b86ccafd4b51a014bc682
/* Use thread-safe field access instead
if (this.chatSpamTickCount > 0) {
--this.chatSpamTickCount;
-@@ -2974,6 +2976,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2975,6 +2977,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@Override
public void handlePlaceRecipe(ServerboundPlaceRecipePacket packet) {
diff --git a/patches/server/0503-Add-OBSTRUCTED-reason-to-BedEnterResult.patch b/patches/server/0503-Add-OBSTRUCTED-reason-to-BedEnterResult.patch
index e2a2d2a3a3..f6295463bd 100644
--- a/patches/server/0503-Add-OBSTRUCTED-reason-to-BedEnterResult.patch
+++ b/patches/server/0503-Add-OBSTRUCTED-reason-to-BedEnterResult.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add OBSTRUCTED reason to BedEnterResult
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index a19979dac60552791b7a8dd4920ba75b525340ca..826bb30bd0075bb7827c13e43c2a1ce7a814f0ce 100644
+index e2b09b575416a47277c53c6d49572d0845cb8a72..84f23d00a42af612d4ef636d8841db089e77270f 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -302,6 +302,10 @@ public class CraftEventFactory {
+@@ -304,6 +304,10 @@ public class CraftEventFactory {
return BedEnterResult.TOO_FAR_AWAY;
case NOT_SAFE:
return BedEnterResult.NOT_SAFE;
diff --git a/patches/server/0515-Fix-interact-event-not-being-called-sometimes.patch b/patches/server/0515-Fix-interact-event-not-being-called-sometimes.patch
index 4670eeb506..8ba9b9c78d 100644
--- a/patches/server/0515-Fix-interact-event-not-being-called-sometimes.patch
+++ b/patches/server/0515-Fix-interact-event-not-being-called-sometimes.patch
@@ -11,10 +11,10 @@ Subject: [PATCH] Fix interact event not being called sometimes
Co-authored-by: Moulberry
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 059d2521bb2b86ccafd4b51a014bc6822692d854..95cc9134244eb226480969674201cd234a055964 100644
+index d8ae73b68e449a2ab7e39acf3c120248948480d6..11f62618aa36cbc7c12e477d6a8c773c86e59a21 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -1733,7 +1733,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1734,7 +1734,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
MutableComponent ichatmutablecomponent = Component.translatable("build.tooHigh", i - 1).withStyle(ChatFormatting.RED);
this.player.sendSystemMessage(ichatmutablecomponent, true);
@@ -23,7 +23,7 @@ index 059d2521bb2b86ccafd4b51a014bc6822692d854..95cc9134244eb226480969674201cd23
this.player.swing(enumhand, true);
}
}
-@@ -2295,13 +2295,20 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2296,13 +2296,20 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
double d3 = this.player.gameMode.getGameModeForPlayer() == GameType.CREATIVE ? 5.0D : 4.5D;
// SPIGOT-5607: Only call interact event if no block or entity is being clicked. Use bukkit ray trace method, because it handles blocks and entities at the same time
// SPIGOT-7429: Make sure to call PlayerInteractEvent for spectators and non-pickable entities
diff --git a/patches/server/0522-Implemented-BlockFailedDispenseEvent.patch b/patches/server/0522-Implemented-BlockFailedDispenseEvent.patch
index 4269a73f28..3b210a9abe 100644
--- a/patches/server/0522-Implemented-BlockFailedDispenseEvent.patch
+++ b/patches/server/0522-Implemented-BlockFailedDispenseEvent.patch
@@ -32,10 +32,10 @@ index 7dd0570b2457c612484ab89a8efcedd094c4772c..b1ba2c1da9d7b59a5316574deb824740
} else {
ItemStack itemstack = tileentitydispenser.getItem(i);
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 826bb30bd0075bb7827c13e43c2a1ce7a814f0ce..ecbdddf42495e69bc899a017e1313a9f0c32f0c4 100644
+index 84f23d00a42af612d4ef636d8841db089e77270f..ba4c8e74e0e073b48b5cf1fad86eb670bc35586f 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -2037,4 +2037,12 @@ public class CraftEventFactory {
+@@ -2044,4 +2044,12 @@ public class CraftEventFactory {
Bukkit.getPluginManager().callEvent(event);
return event;
}
diff --git a/patches/server/0537-Implement-BlockPreDispenseEvent.patch b/patches/server/0537-Implement-BlockPreDispenseEvent.patch
index 7fb05f89fa..9950944d95 100644
--- a/patches/server/0537-Implement-BlockPreDispenseEvent.patch
+++ b/patches/server/0537-Implement-BlockPreDispenseEvent.patch
@@ -17,10 +17,10 @@ index 5cf5b451fecb1ff04d0c4aca1fb0b702c7f99bdf..9b1e51c1d95da885c80c6d05000d8343
tileentitydispenser.setItem(i, idispensebehavior.dispense(sourceblock, itemstack));
}
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index ecbdddf42495e69bc899a017e1313a9f0c32f0c4..46ab61bf75bf15bb6156dc9204e4071779e812e6 100644
+index ba4c8e74e0e073b48b5cf1fad86eb670bc35586f..772de0a5e9c5bb6532becfb322011b9b6d896996 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -2044,5 +2044,11 @@ public class CraftEventFactory {
+@@ -2051,5 +2051,11 @@ public class CraftEventFactory {
io.papermc.paper.event.block.BlockFailedDispenseEvent event = new io.papermc.paper.event.block.BlockFailedDispenseEvent(block);
return event.callEvent();
}
diff --git a/patches/server/0541-Add-dropLeash-variable-to-EntityUnleashEvent.patch b/patches/server/0541-Add-dropLeash-variable-to-EntityUnleashEvent.patch
index 93cff1f7ad..611e5093da 100644
--- a/patches/server/0541-Add-dropLeash-variable-to-EntityUnleashEvent.patch
+++ b/patches/server/0541-Add-dropLeash-variable-to-EntityUnleashEvent.patch
@@ -122,11 +122,11 @@ index 16784fcc853e23689a854e7dc6c03ed8182a164e..4eb97572a97a8d98af37c4223f42fc63
flag1 = true;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 46ab61bf75bf15bb6156dc9204e4071779e812e6..5bc937175a00c836a3a855780e2b8fd9a0005c07 100644
+index 772de0a5e9c5bb6532becfb322011b9b6d896996..571d9d48f4d4f45e47f17928d106432b438ff95d 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -1634,8 +1634,10 @@ public class CraftEventFactory {
- return itemInHand;
+@@ -1641,8 +1641,10 @@ public class CraftEventFactory {
+ Bukkit.getPluginManager().callEvent(new PlayerRecipeBookSettingsChangeEvent(player.getBukkitEntity(), bukkitType, open, filter));
}
- public static PlayerUnleashEntityEvent callPlayerUnleashEntityEvent(Mob entity, net.minecraft.world.entity.player.Player player, InteractionHand enumhand) {
diff --git a/patches/server/0547-Allow-adding-items-to-BlockDropItemEvent.patch b/patches/server/0547-Allow-adding-items-to-BlockDropItemEvent.patch
index 18e781092c..e7d78b6fdc 100644
--- a/patches/server/0547-Allow-adding-items-to-BlockDropItemEvent.patch
+++ b/patches/server/0547-Allow-adding-items-to-BlockDropItemEvent.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Allow adding items to BlockDropItemEvent
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 5bc937175a00c836a3a855780e2b8fd9a0005c07..47ebaf72a087387f9832cfd83f748c8ef3e9c410 100644
+index 571d9d48f4d4f45e47f17928d106432b438ff95d..e09fe6cb64556820fe50e5a771c9f91eebdb8da4 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -451,13 +451,30 @@ public class CraftEventFactory {
+@@ -453,13 +453,30 @@ public class CraftEventFactory {
}
public static void handleBlockDropItemEvent(Block block, BlockState state, ServerPlayer player, List items) {
diff --git a/patches/server/0561-Allow-using-signs-inside-spawn-protection.patch b/patches/server/0561-Allow-using-signs-inside-spawn-protection.patch
index 4f612be1e2..2734a5afe5 100644
--- a/patches/server/0561-Allow-using-signs-inside-spawn-protection.patch
+++ b/patches/server/0561-Allow-using-signs-inside-spawn-protection.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Allow using signs inside spawn protection
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 95cc9134244eb226480969674201cd234a055964..a4f10823242f412ccfece093ed0986512131c4ba 100644
+index 11f62618aa36cbc7c12e477d6a8c773c86e59a21..f4f492bc554c0abea75e613fbfc7e06c54cf47f4 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -1725,7 +1725,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1726,7 +1726,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
int i = this.player.level().getMaxBuildHeight();
if (blockposition.getY() < i) {
diff --git a/patches/server/0562-Expand-world-key-API.patch b/patches/server/0562-Expand-world-key-API.patch
index bd45d36dbb..f58e673dde 100644
--- a/patches/server/0562-Expand-world-key-API.patch
+++ b/patches/server/0562-Expand-world-key-API.patch
@@ -20,10 +20,10 @@ index 93f44ca0c8388935baaa41f9b0ebb6de2f6906bb..53b62be779bbb31723c4953221d8b5f2
// Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 98fe64fcab9d0f8497794ccb8df563be782798d9..44d74515165f1ebce5fb5c875ba9c4a53eab9980 100644
+index 99942a9292056998026ef7e2293e882d9b61dfd1..cbd139c6d11b28b788b96d4f403ef40d350529fd 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1139,9 +1139,15 @@ public final class CraftServer implements Server {
+@@ -1141,9 +1141,15 @@ public final class CraftServer implements Server {
File folder = new File(this.getWorldContainer(), name);
World world = this.getWorld(name);
@@ -41,7 +41,7 @@ index 98fe64fcab9d0f8497794ccb8df563be782798d9..44d74515165f1ebce5fb5c875ba9c4a5
if (folder.exists()) {
Preconditions.checkArgument(folder.isDirectory(), "File (%s) exists and isn't a folder", name);
-@@ -1228,7 +1234,7 @@ public final class CraftServer implements Server {
+@@ -1230,7 +1236,7 @@ public final class CraftServer implements Server {
} else if (name.equals(levelName + "_the_end")) {
worldKey = net.minecraft.world.level.Level.END;
} else {
@@ -50,7 +50,7 @@ index 98fe64fcab9d0f8497794ccb8df563be782798d9..44d74515165f1ebce5fb5c875ba9c4a5
}
ServerLevel internal = (ServerLevel) new ServerLevel(this.console, this.console.executor, worldSession, worlddata, worldKey, worlddimension, this.getServer().progressListenerFactory.create(11),
-@@ -1321,6 +1327,15 @@ public final class CraftServer implements Server {
+@@ -1323,6 +1329,15 @@ public final class CraftServer implements Server {
return null;
}
diff --git a/patches/server/0567-Don-t-ignore-result-of-PlayerEditBookEvent.patch b/patches/server/0567-Don-t-ignore-result-of-PlayerEditBookEvent.patch
index e8b8c0ce59..d0ba8dc9ef 100644
--- a/patches/server/0567-Don-t-ignore-result-of-PlayerEditBookEvent.patch
+++ b/patches/server/0567-Don-t-ignore-result-of-PlayerEditBookEvent.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Don't ignore result of PlayerEditBookEvent
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index a4f10823242f412ccfece093ed0986512131c4ba..b84cc507ee467e61e90a31da1ca8568f0d947f6b 100644
+index f4f492bc554c0abea75e613fbfc7e06c54cf47f4..7dfaaf9fc460d84d87370ae3a0e081e8b21e8348 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -1186,7 +1186,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1187,7 +1187,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
itemstack.addTagElement("pages", nbttaglist);
diff --git a/patches/server/0577-fix-PlayerItemHeldEvent-firing-twice.patch b/patches/server/0577-fix-PlayerItemHeldEvent-firing-twice.patch
index 13ba5fd753..b0a36b045a 100644
--- a/patches/server/0577-fix-PlayerItemHeldEvent-firing-twice.patch
+++ b/patches/server/0577-fix-PlayerItemHeldEvent-firing-twice.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] fix PlayerItemHeldEvent firing twice
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index b84cc507ee467e61e90a31da1ca8568f0d947f6b..b1f7227cb63491f5899b9b9d8413715924d1b967 100644
+index 7dfaaf9fc460d84d87370ae3a0e081e8b21e8348..c795d07645c5dd1b7502ea443ce92e2a3b3ca8ee 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -1894,6 +1894,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1895,6 +1895,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
if (this.player.isImmobile()) return; // CraftBukkit
if (packet.getSlot() >= 0 && packet.getSlot() < Inventory.getSelectionSize()) {
diff --git a/patches/server/0584-add-RespawnFlags-to-PlayerRespawnEvent.patch b/patches/server/0584-add-RespawnFlags-to-PlayerRespawnEvent.patch
index fe72810b24..aa48b1e763 100644
--- a/patches/server/0584-add-RespawnFlags-to-PlayerRespawnEvent.patch
+++ b/patches/server/0584-add-RespawnFlags-to-PlayerRespawnEvent.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] add RespawnFlags to PlayerRespawnEvent
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index b1f7227cb63491f5899b9b9d8413715924d1b967..1c795202f3b5be8f7ee41724258b509aa5b1947d 100644
+index c795d07645c5dd1b7502ea443ce92e2a3b3ca8ee..4d641005076c200ffea9f30a5ee447d2b624ae09 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -2628,7 +2628,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2629,7 +2629,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
case PERFORM_RESPAWN:
if (this.player.wonGame) {
this.player.wonGame = false;
diff --git a/patches/server/0594-Add-basic-Datapack-API.patch b/patches/server/0594-Add-basic-Datapack-API.patch
index 39820340b7..8be755ff40 100644
--- a/patches/server/0594-Add-basic-Datapack-API.patch
+++ b/patches/server/0594-Add-basic-Datapack-API.patch
@@ -92,10 +92,10 @@ index 0000000000000000000000000000000000000000..cf4374493c11057451a62a655514415c
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 44d74515165f1ebce5fb5c875ba9c4a53eab9980..2bc30c803b311ac57323b4531556e4f5effb4437 100644
+index cbd139c6d11b28b788b96d4f403ef40d350529fd..4f6ba50ec5852b12fdb1b74a04f74e706e3019aa 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -303,6 +303,7 @@ public final class CraftServer implements Server {
+@@ -305,6 +305,7 @@ public final class CraftServer implements Server {
public boolean ignoreVanillaPermissions = false;
private final List playerView;
public int reloadCount;
@@ -103,7 +103,7 @@ index 44d74515165f1ebce5fb5c875ba9c4a53eab9980..2bc30c803b311ac57323b4531556e4f5
public static Exception excessiveVelEx; // Paper - Velocity warnings
static {
-@@ -392,6 +393,7 @@ public final class CraftServer implements Server {
+@@ -394,6 +395,7 @@ public final class CraftServer implements Server {
if (this.configuration.getBoolean("settings.use-map-color-cache")) {
MapPalette.setMapColorCache(new CraftMapColorCache(this.logger));
}
@@ -111,7 +111,7 @@ index 44d74515165f1ebce5fb5c875ba9c4a53eab9980..2bc30c803b311ac57323b4531556e4f5
}
public boolean getCommandBlockOverride(String command) {
-@@ -2850,5 +2852,11 @@ public final class CraftServer implements Server {
+@@ -2913,5 +2915,11 @@ public final class CraftServer implements Server {
public com.destroystokyo.paper.entity.ai.MobGoals getMobGoals() {
return mobGoals;
}
diff --git a/patches/server/0596-additions-to-PlayerGameModeChangeEvent.patch b/patches/server/0596-additions-to-PlayerGameModeChangeEvent.patch
index f5ea880338..2e255ecf2e 100644
--- a/patches/server/0596-additions-to-PlayerGameModeChangeEvent.patch
+++ b/patches/server/0596-additions-to-PlayerGameModeChangeEvent.patch
@@ -131,10 +131,10 @@ index 40ac674da09a5d28c3b691d8979b228b9c6a8a84..8a8b766d91d9e2328486e3156bd6a408
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 1c795202f3b5be8f7ee41724258b509aa5b1947d..bca39612af8c9bed1e97697c42825fb7f128197c 100644
+index 4d641005076c200ffea9f30a5ee447d2b624ae09..71eb195d2f464a434a770e5299836c6fffd9bf8d 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -2637,7 +2637,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2638,7 +2638,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.player = this.server.getPlayerList().respawn(this.player, false, RespawnReason.DEATH);
if (this.server.isHardcore()) {
@@ -144,7 +144,7 @@ index 1c795202f3b5be8f7ee41724258b509aa5b1947d..bca39612af8c9bed1e97697c42825fb7
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 69d0694f2f25ce51f40c7cd283e1591fe05ffe2c..ba6c3e838fd486a5b68a224c1c32ef38908e3125 100644
+index 980845e905f702fef698a5272f58e365ae936ac9..674084fa12cf1f7defd00e64a198e278855668d0 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1552,7 +1552,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0599-Move-range-check-for-block-placing-up.patch b/patches/server/0599-Move-range-check-for-block-placing-up.patch
index 4553cc1ba0..a91002873b 100644
--- a/patches/server/0599-Move-range-check-for-block-placing-up.patch
+++ b/patches/server/0599-Move-range-check-for-block-placing-up.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Move range check for block placing up
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index bca39612af8c9bed1e97697c42825fb7f128197c..ef66cd1bac6f80120c14c884d4de5036a3d1d9cc 100644
+index 71eb195d2f464a434a770e5299836c6fffd9bf8d..e579a249e3d441458aa05ea99787b668fae78021 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -1711,6 +1711,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1712,6 +1712,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
if (itemstack.isItemEnabled(worldserver.enabledFeatures())) {
BlockHitResult movingobjectpositionblock = packet.getHitResult();
Vec3 vec3d = movingobjectpositionblock.getLocation();
diff --git a/patches/server/0600-Fix-and-optimise-world-force-upgrading.patch b/patches/server/0600-Fix-and-optimise-world-force-upgrading.patch
index cb7fbee987..3096f18e1c 100644
--- a/patches/server/0600-Fix-and-optimise-world-force-upgrading.patch
+++ b/patches/server/0600-Fix-and-optimise-world-force-upgrading.patch
@@ -360,10 +360,10 @@ index b850dba2b0fa5bc762b170ed7083cf8904761f17..7dee0f7d49f3492c92fceff7750e6962
return this.regionCache.getAndMoveToFirst(ChunkPos.asLong(chunkcoordintpair.getRegionX(), chunkcoordintpair.getRegionZ()));
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 2bc30c803b311ac57323b4531556e4f5effb4437..6a860029247e1575329975060fb9c2d7e8c9f033 100644
+index 4f6ba50ec5852b12fdb1b74a04f74e706e3019aa..56c0677cab4ca77bbcf853a57d5bacc0042adb74 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1216,9 +1216,7 @@ public final class CraftServer implements Server {
+@@ -1218,9 +1218,7 @@ public final class CraftServer implements Server {
worlddata.checkName(name);
worlddata.setModdedInfo(this.console.getServerModName(), this.console.getModdedStatus().shouldReportAsModified());
@@ -374,7 +374,7 @@ index 2bc30c803b311ac57323b4531556e4f5effb4437..6a860029247e1575329975060fb9c2d7
long j = BiomeManager.obfuscateSeed(creator.seed());
List list = ImmutableList.of(new PhantomSpawner(), new PatrolSpawner(), new CatSpawner(), new VillageSiege(), new WanderingTraderSpawner(worlddata));
-@@ -1229,6 +1227,13 @@ public final class CraftServer implements Server {
+@@ -1231,6 +1229,13 @@ public final class CraftServer implements Server {
biomeProvider = generator.getDefaultBiomeProvider(worldInfo);
}
diff --git a/patches/server/0602-Add-Unix-domain-socket-support.patch b/patches/server/0602-Add-Unix-domain-socket-support.patch
index c1d9e612c9..ad01611040 100644
--- a/patches/server/0602-Add-Unix-domain-socket-support.patch
+++ b/patches/server/0602-Add-Unix-domain-socket-support.patch
@@ -93,10 +93,10 @@ index 6641fd04821240b1bbeff1bd8d996a8f2fff8385..5f625acf04ddb56e3596d086252f9bfc
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index ef66cd1bac6f80120c14c884d4de5036a3d1d9cc..24e3f3ee7f8af6ec9d61afd8e80e0909ee48c8f0 100644
+index e579a249e3d441458aa05ea99787b668fae78021..b35f4ab4ff034f7b59f3970fc18af2f777ec2a40 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -2460,6 +2460,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2461,6 +2461,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
// Spigot Start
public SocketAddress getRawAddress()
{
diff --git a/patches/server/0608-Add-PlayerKickEvent-causes.patch b/patches/server/0608-Add-PlayerKickEvent-causes.patch
index dd0f8a66f6..8a96bc776f 100644
--- a/patches/server/0608-Add-PlayerKickEvent-causes.patch
+++ b/patches/server/0608-Add-PlayerKickEvent-causes.patch
@@ -197,7 +197,7 @@ index d660041805bcd1bb97cf347d8b1cfe5c65469f56..a0328cfbe4184a2c1dc895e96fa3fefb
if (this.cserver.getServer().isRunning()) {
this.cserver.getPluginManager().callEvent(event);
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 24e3f3ee7f8af6ec9d61afd8e80e0909ee48c8f0..7f030cac8b3bc7d2d4b1c32ef5edc360473881f2 100644
+index b35f4ab4ff034f7b59f3970fc18af2f777ec2a40..ef1af985927b1291ccee1ff4f9dbd4fb556bdee6 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -340,7 +340,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -245,7 +245,7 @@ index 24e3f3ee7f8af6ec9d61afd8e80e0909ee48c8f0..7f030cac8b3bc7d2d4b1c32ef5edc360
return;
}
-@@ -723,7 +723,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -724,7 +724,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
// PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); // Paper - run this async
// CraftBukkit start
if (this.chatSpamTickCount.addAndGet(io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.tabSpamIncrement) > io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.tabSpamLimit && !this.server.getPlayerList().isOp(this.player.getGameProfile())) { // Paper start - split and make configurable
@@ -254,7 +254,7 @@ index 24e3f3ee7f8af6ec9d61afd8e80e0909ee48c8f0..7f030cac8b3bc7d2d4b1c32ef5edc360
return;
}
// Paper start
-@@ -882,7 +882,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -883,7 +883,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
// Paper start - validate pick item position
if (!(packet.getSlot() >= 0 && packet.getSlot() < this.player.getInventory().items.size())) {
ServerGamePacketListenerImpl.LOGGER.warn("{} tried to set an invalid carried item", this.player.getName().getString());
@@ -263,7 +263,7 @@ index 24e3f3ee7f8af6ec9d61afd8e80e0909ee48c8f0..7f030cac8b3bc7d2d4b1c32ef5edc360
return;
}
this.player.getInventory().pickSlot(packet.getSlot()); // Paper - Diff above if changed
-@@ -1065,7 +1065,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1066,7 +1066,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
int byteLength = testString.getBytes(java.nio.charset.StandardCharsets.UTF_8).length;
if (byteLength > 256 * 4) {
ServerGamePacketListenerImpl.LOGGER.warn(this.player.getScoreboardName() + " tried to send a book with with a page too large!");
@@ -272,7 +272,7 @@ index 24e3f3ee7f8af6ec9d61afd8e80e0909ee48c8f0..7f030cac8b3bc7d2d4b1c32ef5edc360
return;
}
byteTotal += byteLength;
-@@ -1088,14 +1088,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1089,14 +1089,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
if (byteTotal > byteAllowed) {
ServerGamePacketListenerImpl.LOGGER.warn(this.player.getScoreboardName() + " tried to send too large of a book. Book Size: " + byteTotal + " - Allowed: "+ byteAllowed + " - Pages: " + pageList.size());
@@ -289,7 +289,7 @@ index 24e3f3ee7f8af6ec9d61afd8e80e0909ee48c8f0..7f030cac8b3bc7d2d4b1c32ef5edc360
return;
}
this.lastBookTick = MinecraftServer.currentTick;
-@@ -1219,7 +1219,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1220,7 +1220,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
public void handleMovePlayer(ServerboundMovePlayerPacket packet) {
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
if (ServerGamePacketListenerImpl.containsInvalidValues(packet.getX(0.0D), packet.getY(0.0D), packet.getZ(0.0D), packet.getYRot(0.0F), packet.getXRot(0.0F))) {
@@ -298,7 +298,7 @@ index 24e3f3ee7f8af6ec9d61afd8e80e0909ee48c8f0..7f030cac8b3bc7d2d4b1c32ef5edc360
} else {
ServerLevel worldserver = this.player.serverLevel();
-@@ -1633,7 +1633,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1634,7 +1634,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.dropCount++;
if (this.dropCount >= 20) {
ServerGamePacketListenerImpl.LOGGER.warn(this.player.getScoreboardName() + " dropped their items too quickly!");
@@ -307,7 +307,7 @@ index 24e3f3ee7f8af6ec9d61afd8e80e0909ee48c8f0..7f030cac8b3bc7d2d4b1c32ef5edc360
return;
}
}
-@@ -1916,7 +1916,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1917,7 +1917,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.player.resetLastActionTime();
} else {
ServerGamePacketListenerImpl.LOGGER.warn("{} tried to set an invalid carried item", this.player.getName().getString());
@@ -316,7 +316,7 @@ index 24e3f3ee7f8af6ec9d61afd8e80e0909ee48c8f0..7f030cac8b3bc7d2d4b1c32ef5edc360
}
}
-@@ -1929,7 +1929,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1930,7 +1930,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
// CraftBukkit end
if (ServerGamePacketListenerImpl.isChatMessageIllegal(packet.message())) {
@@ -325,7 +325,7 @@ index 24e3f3ee7f8af6ec9d61afd8e80e0909ee48c8f0..7f030cac8b3bc7d2d4b1c32ef5edc360
} else {
Optional optional = this.tryHandleChat(packet.message(), packet.timeStamp(), packet.lastSeenMessages());
-@@ -1962,7 +1962,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1963,7 +1963,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@Override
public void handleChatCommand(ServerboundChatCommandPacket packet) {
if (ServerGamePacketListenerImpl.isChatMessageIllegal(packet.command())) {
@@ -334,7 +334,7 @@ index 24e3f3ee7f8af6ec9d61afd8e80e0909ee48c8f0..7f030cac8b3bc7d2d4b1c32ef5edc360
} else {
Optional optional = this.tryHandleChat(packet.command(), packet.timeStamp(), packet.lastSeenMessages());
-@@ -2017,7 +2017,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2018,7 +2018,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
private void handleMessageDecodeFailure(SignedMessageChain.DecodeException exception) {
if (exception.shouldDisconnect()) {
@@ -343,7 +343,7 @@ index 24e3f3ee7f8af6ec9d61afd8e80e0909ee48c8f0..7f030cac8b3bc7d2d4b1c32ef5edc360
} else {
this.player.sendSystemMessage(exception.getComponent().copy().withStyle(ChatFormatting.RED));
}
-@@ -2048,7 +2048,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2049,7 +2049,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
private Optional tryHandleChat(String message, Instant timestamp, LastSeenMessages.Update acknowledgment) {
if (!this.updateChatOrder(timestamp)) {
ServerGamePacketListenerImpl.LOGGER.warn("{} sent out-of-order chat: '{}'", this.player.getName().getString(), message);
@@ -352,7 +352,7 @@ index 24e3f3ee7f8af6ec9d61afd8e80e0909ee48c8f0..7f030cac8b3bc7d2d4b1c32ef5edc360
return Optional.empty();
} else {
Optional optional = this.unpackAndApplyLastSeen(acknowledgment);
-@@ -2071,7 +2071,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2072,7 +2072,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
if (optional.isEmpty()) {
ServerGamePacketListenerImpl.LOGGER.warn("Failed to validate message acknowledgements from {}", this.player.getName().getString());
@@ -361,7 +361,7 @@ index 24e3f3ee7f8af6ec9d61afd8e80e0909ee48c8f0..7f030cac8b3bc7d2d4b1c32ef5edc360
}
return optional;
-@@ -2267,7 +2267,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2268,7 +2268,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
// this.chatSpamTickCount += 20;
if (this.chatSpamTickCount.addAndGet(20) > 200 && !this.server.getPlayerList().isOp(this.player.getGameProfile())) {
// CraftBukkit end
@@ -370,7 +370,7 @@ index 24e3f3ee7f8af6ec9d61afd8e80e0909ee48c8f0..7f030cac8b3bc7d2d4b1c32ef5edc360
}
}
-@@ -2279,7 +2279,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2280,7 +2280,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
synchronized (this.lastSeenMessages) {
if (!this.lastSeenMessages.applyOffset(packet.offset())) {
ServerGamePacketListenerImpl.LOGGER.warn("Failed to validate message acknowledgements from {}", this.player.getName().getString());
@@ -379,7 +379,7 @@ index 24e3f3ee7f8af6ec9d61afd8e80e0909ee48c8f0..7f030cac8b3bc7d2d4b1c32ef5edc360
}
}
-@@ -2432,7 +2432,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2433,7 +2433,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
if (i > 4096) {
@@ -388,7 +388,7 @@ index 24e3f3ee7f8af6ec9d61afd8e80e0909ee48c8f0..7f030cac8b3bc7d2d4b1c32ef5edc360
}
}
-@@ -2489,7 +2489,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2490,7 +2490,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
// Spigot Start
if ( entity == this.player && !this.player.isSpectator() )
{
@@ -397,7 +397,7 @@ index 24e3f3ee7f8af6ec9d61afd8e80e0909ee48c8f0..7f030cac8b3bc7d2d4b1c32ef5edc360
return;
}
// Spigot End
-@@ -2588,7 +2588,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2589,7 +2589,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
// CraftBukkit end
}
} else {
@@ -406,7 +406,7 @@ index 24e3f3ee7f8af6ec9d61afd8e80e0909ee48c8f0..7f030cac8b3bc7d2d4b1c32ef5edc360
ServerGamePacketListenerImpl.LOGGER.warn("Player {} tried to attack an invalid entity", ServerGamePacketListenerImpl.this.player.getName().getString());
}
}
-@@ -2997,7 +2997,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2998,7 +2998,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
// Paper start
if (!org.bukkit.Bukkit.isPrimaryThread()) {
if (this.recipeSpamPackets.addAndGet(io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.recipeSpamIncrement) > io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.recipeSpamLimit) {
@@ -415,7 +415,7 @@ index 24e3f3ee7f8af6ec9d61afd8e80e0909ee48c8f0..7f030cac8b3bc7d2d4b1c32ef5edc360
return;
}
}
-@@ -3232,7 +3232,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -3233,7 +3233,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
if (!Objects.equals(profilepublickey_a, profilepublickey_a1)) {
if (profilepublickey_a != null && profilepublickey_a1.expiresAt().isBefore(profilepublickey_a.expiresAt())) {
@@ -424,7 +424,7 @@ index 24e3f3ee7f8af6ec9d61afd8e80e0909ee48c8f0..7f030cac8b3bc7d2d4b1c32ef5edc360
} else {
try {
SignatureValidator signaturevalidator = this.server.getProfileKeySignatureValidator();
-@@ -3245,7 +3245,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -3246,7 +3246,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.resetPlayerChatState(remotechatsession_a.validate(this.player.getGameProfile(), signaturevalidator));
} catch (ProfilePublicKey.ValidationException profilepublickey_b) {
ServerGamePacketListenerImpl.LOGGER.error("Failed to validate profile key: {}", profilepublickey_b.getMessage());
@@ -488,7 +488,7 @@ index 6724d0a1af13e97bc1d3bd94fd43fef742a0deab..20ba0a0c9eae28658888a77dd2170f62
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index ba6c3e838fd486a5b68a224c1c32ef38908e3125..34377bef2b359292d184ec89311f49dd234be53e 100644
+index 674084fa12cf1f7defd00e64a198e278855668d0..7b7afb768bbc75827cd0a03da568d2a82b16dca7 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -586,7 +586,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0625-Ensure-disconnect-for-book-edit-is-called-on-main.patch b/patches/server/0625-Ensure-disconnect-for-book-edit-is-called-on-main.patch
index 6d154d7e68..4774af5eee 100644
--- a/patches/server/0625-Ensure-disconnect-for-book-edit-is-called-on-main.patch
+++ b/patches/server/0625-Ensure-disconnect-for-book-edit-is-called-on-main.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Ensure disconnect for book edit is called on main
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 7f030cac8b3bc7d2d4b1c32ef5edc360473881f2..a1de622805f31e6de771b62cce94ad78dd8a526f 100644
+index ef1af985927b1291ccee1ff4f9dbd4fb556bdee6..dfd4e385e2aa3c0beabc956d46ce30b84e48ebcb 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -1095,7 +1095,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1096,7 +1096,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
// Paper end
// CraftBukkit start
if (this.lastBookTick + 20 > MinecraftServer.currentTick) {
diff --git a/patches/server/0629-Adds-PlayerArmSwingEvent.patch b/patches/server/0629-Adds-PlayerArmSwingEvent.patch
index 5aef5fc4e8..c31ebb50d3 100644
--- a/patches/server/0629-Adds-PlayerArmSwingEvent.patch
+++ b/patches/server/0629-Adds-PlayerArmSwingEvent.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Adds PlayerArmSwingEvent
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index a1de622805f31e6de771b62cce94ad78dd8a526f..c38d6ff1c4b22833ce8c99ec420741659becf4d2 100644
+index dfd4e385e2aa3c0beabc956d46ce30b84e48ebcb..cc099315b7ecd471d363679d39ca802692b8f962 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -2317,7 +2317,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2318,7 +2318,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
} // Paper end
// Arm swing animation
diff --git a/patches/server/0630-Fixes-kick-event-leave-message-not-being-sent.patch b/patches/server/0630-Fixes-kick-event-leave-message-not-being-sent.patch
index 160440f8ce..abfd6ed5e9 100644
--- a/patches/server/0630-Fixes-kick-event-leave-message-not-being-sent.patch
+++ b/patches/server/0630-Fixes-kick-event-leave-message-not-being-sent.patch
@@ -50,10 +50,10 @@ index a0328cfbe4184a2c1dc895e96fa3fefbdc52bf09..598f807f0d0caac98b81e0e2991f1bd4
MinecraftServer minecraftserver = this.server;
Connection networkmanager = this.connection;
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index c38d6ff1c4b22833ce8c99ec420741659becf4d2..eabdaf85e904224f936154d415d183ba65e4dbbf 100644
+index cc099315b7ecd471d363679d39ca802692b8f962..c885f3dea2ef128758da59acba42765887ae41ee 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -1855,6 +1855,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1856,6 +1856,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@Override
public void onDisconnect(Component reason) {
@@ -66,7 +66,7 @@ index c38d6ff1c4b22833ce8c99ec420741659becf4d2..eabdaf85e904224f936154d415d183ba
// CraftBukkit start - Rarely it would send a disconnect line twice
if (this.processedDisconnect) {
return;
-@@ -1863,11 +1869,17 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1864,11 +1870,17 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
// CraftBukkit end
ServerGamePacketListenerImpl.LOGGER.info("{} lost connection: {}", this.player.getName().getString(), reason.getString());
@@ -86,7 +86,7 @@ index c38d6ff1c4b22833ce8c99ec420741659becf4d2..eabdaf85e904224f936154d415d183ba
this.chatMessageChain.close();
// CraftBukkit start - Replace vanilla quit message handling with our own.
/*
-@@ -1877,7 +1889,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1878,7 +1890,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.player.disconnect();
// Paper start - Adventure
diff --git a/patches/server/0638-Add-System.out-err-catcher.patch b/patches/server/0638-Add-System.out-err-catcher.patch
index 6fd5f26dc3..2d4fef523b 100644
--- a/patches/server/0638-Add-System.out-err-catcher.patch
+++ b/patches/server/0638-Add-System.out-err-catcher.patch
@@ -105,10 +105,10 @@ index 0000000000000000000000000000000000000000..a8e813ca89b033f061e695288b3383bd
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 6a860029247e1575329975060fb9c2d7e8c9f033..675788beea6c9559d5764501e76d671abcba3f17 100644
+index 56c0677cab4ca77bbcf853a57d5bacc0042adb74..c47716b6136c4eaf55864ccc137652e82b620da4 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -305,6 +305,7 @@ public final class CraftServer implements Server {
+@@ -307,6 +307,7 @@ public final class CraftServer implements Server {
public int reloadCount;
private final io.papermc.paper.datapack.PaperDatapackManager datapackManager; // Paper
public static Exception excessiveVelEx; // Paper - Velocity warnings
diff --git a/patches/server/0662-Add-ItemFactory-getSpawnEgg-API.patch b/patches/server/0662-Add-ItemFactory-getSpawnEgg-API.patch
index 4fd7a361e7..2890a69389 100644
--- a/patches/server/0662-Add-ItemFactory-getSpawnEgg-API.patch
+++ b/patches/server/0662-Add-ItemFactory-getSpawnEgg-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add ItemFactory#getSpawnEgg API
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
-index aa90b0bc1ca3f79a38b39442bf87e376cd2d73ae..48a88dae70fdf2757537d4a90aa60046e6346323 100644
+index 2251c06ae08a846129b1cef4842c112708a6ecf4..50fa1f903b99edadaa3470c2a6e15a32ff23bc85 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
-@@ -528,4 +528,19 @@ public final class CraftItemFactory implements ItemFactory {
+@@ -567,4 +567,19 @@ public final class CraftItemFactory implements ItemFactory {
new net.md_5.bungee.api.chat.TextComponent(customName));
}
// Paper end - bungee hover events
diff --git a/patches/server/0663-Add-critical-damage-API.patch b/patches/server/0663-Add-critical-damage-API.patch
index 2485aabae6..b2d6f4c157 100644
--- a/patches/server/0663-Add-critical-damage-API.patch
+++ b/patches/server/0663-Add-critical-damage-API.patch
@@ -71,10 +71,10 @@ index 53de7f516aee20cb7b5db0648dea1c38d74e5d96..df7e044a585579534b3cad260abd74c9
int k = entity.getRemainingFireTicks();
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 47ebaf72a087387f9832cfd83f748c8ef3e9c410..98926c017b41226006b7bcd0e106d493c3fec3c1 100644
+index e09fe6cb64556820fe50e5a771c9f91eebdb8da4..b0062d414cec76c47ab6b30738706d1e9ed3646c 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -1044,7 +1044,7 @@ public class CraftEventFactory {
+@@ -1046,7 +1046,7 @@ public class CraftEventFactory {
} else {
damageCause = DamageCause.ENTITY_EXPLOSION;
}
@@ -83,7 +83,7 @@ index 47ebaf72a087387f9832cfd83f748c8ef3e9c410..98926c017b41226006b7bcd0e106d493
}
event.setCancelled(cancelled);
-@@ -1076,7 +1076,7 @@ public class CraftEventFactory {
+@@ -1078,7 +1078,7 @@ public class CraftEventFactory {
cause = DamageCause.SONIC_BOOM;
}
@@ -92,7 +92,7 @@ index 47ebaf72a087387f9832cfd83f748c8ef3e9c410..98926c017b41226006b7bcd0e106d493
} else if (source.is(DamageTypes.FELL_OUT_OF_WORLD)) {
EntityDamageEvent event = new EntityDamageByBlockEvent(null, entity.getBukkitEntity(), DamageCause.VOID, modifiers, modifierFunctions);
event.setCancelled(cancelled);
-@@ -1146,7 +1146,7 @@ public class CraftEventFactory {
+@@ -1148,7 +1148,7 @@ public class CraftEventFactory {
} else {
throw new IllegalStateException(String.format("Unhandled damage of %s by %s from %s", entity, damager.getHandle(), source.getMsgId()));
}
@@ -101,7 +101,7 @@ index 47ebaf72a087387f9832cfd83f748c8ef3e9c410..98926c017b41226006b7bcd0e106d493
event.setCancelled(cancelled);
CraftEventFactory.callEvent(event);
if (!event.isCancelled()) {
-@@ -1195,20 +1195,28 @@ public class CraftEventFactory {
+@@ -1197,20 +1197,28 @@ public class CraftEventFactory {
}
if (cause != null) {
diff --git a/patches/server/0672-Improve-and-expand-AsyncCatcher.patch b/patches/server/0672-Improve-and-expand-AsyncCatcher.patch
index 810a3aa123..23aaa03d81 100644
--- a/patches/server/0672-Improve-and-expand-AsyncCatcher.patch
+++ b/patches/server/0672-Improve-and-expand-AsyncCatcher.patch
@@ -17,10 +17,10 @@ Async catch modifications to critical entity state
Co-authored-by: Jake Potrebic
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 43e9f9ce338bd1cf803ad707d318cd2435231426..079c7ffa2b1ff8bbb5e51553ad94713d0339e9f4 100644
+index f9c9c3b2f9c6796e4799a829dffc86b90b62559f..e6251951d677e2ac71e738070914997e01086be0 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -1543,6 +1543,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1544,6 +1544,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
public void internalTeleport(double d0, double d1, double d2, float f, float f1, Set set) { // Paper
diff --git a/patches/server/0673-Add-paper-mobcaps-and-paper-playermobcaps.patch b/patches/server/0673-Add-paper-mobcaps-and-paper-playermobcaps.patch
index 3201888a6b..c74a59df71 100644
--- a/patches/server/0673-Add-paper-mobcaps-and-paper-playermobcaps.patch
+++ b/patches/server/0673-Add-paper-mobcaps-and-paper-playermobcaps.patch
@@ -278,10 +278,10 @@ index 9df761f5cf043e8d2dffa711c20ab32fe2992331..d08c7b0b52065980f1f13c5533ff6355
// Paper start - add parameters and int ret type
spawnCategoryForChunk(group, world, chunk, checker, runner, Integer.MAX_VALUE, null);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 675788beea6c9559d5764501e76d671abcba3f17..146b5bd0a081afa8aee0e268bfaf8eb4390eacee 100644
+index c47716b6136c4eaf55864ccc137652e82b620da4..3f83b3e54747c42a1321137bb668c6a457677d05 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2184,6 +2184,11 @@ public final class CraftServer implements Server {
+@@ -2247,6 +2247,11 @@ public final class CraftServer implements Server {
@Override
public int getSpawnLimit(SpawnCategory spawnCategory) {
diff --git a/patches/server/0697-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch b/patches/server/0697-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch
index 63f447f944..301d6807c0 100644
--- a/patches/server/0697-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch
+++ b/patches/server/0697-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Don't respond to ServerboundCommandSuggestionPacket when
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 079c7ffa2b1ff8bbb5e51553ad94713d0339e9f4..f1c0ff296b58aa020b00d6681ecf3cb4db09f561 100644
+index e6251951d677e2ac71e738070914997e01086be0..67d9e636b424a91ab1f1478b757016099ca915dc 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -734,6 +734,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -735,6 +735,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
// Paper end
// CraftBukkit end
diff --git a/patches/server/0718-Hide-unnecessary-itemmeta-from-clients.patch b/patches/server/0718-Hide-unnecessary-itemmeta-from-clients.patch
index 6553879c95..1bdad58ffc 100644
--- a/patches/server/0718-Hide-unnecessary-itemmeta-from-clients.patch
+++ b/patches/server/0718-Hide-unnecessary-itemmeta-from-clients.patch
@@ -18,10 +18,10 @@ index 8d2870c780c4c253f6570c7ef73f6e7c2ccc46ad..0cbb5dd17c5b37ad90ce11a31b644707
}
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index f1c0ff296b58aa020b00d6681ecf3cb4db09f561..88c543881c8e7453fffc08e1d5a3226505a8889e 100644
+index 67d9e636b424a91ab1f1478b757016099ca915dc..2898712d34dc5dd1f2e505746c515f773de2b0d8 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -2550,8 +2550,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2551,8 +2551,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
// Refresh the current entity metadata
entity.getEntityData().refresh(ServerGamePacketListenerImpl.this.player);
// SPIGOT-7136 - Allays
diff --git a/patches/server/0723-Allow-delegation-to-vanilla-chunk-gen.patch b/patches/server/0723-Allow-delegation-to-vanilla-chunk-gen.patch
index 4feabbc623..de93c2dcbb 100644
--- a/patches/server/0723-Allow-delegation-to-vanilla-chunk-gen.patch
+++ b/patches/server/0723-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/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 146b5bd0a081afa8aee0e268bfaf8eb4390eacee..2aacf05d0f79a5418f31a5411b0d06e034f8a0da 100644
+index 3f83b3e54747c42a1321137bb668c6a457677d05..eccfd44eaeb20db22d77fc85307d2a6caa80a587 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2364,6 +2364,88 @@ public final class CraftServer implements Server {
+@@ -2427,6 +2427,88 @@ public final class CraftServer implements Server {
return new OldCraftChunkData(world.getMinHeight(), world.getMaxHeight(), handle.registryAccess().registryOrThrow(Registries.BIOME), world); // Paper - Anti-Xray - Add parameters
}
diff --git a/patches/server/0725-Optimise-collision-checking-in-player-move-packet-ha.patch b/patches/server/0725-Optimise-collision-checking-in-player-move-packet-ha.patch
index 9e795d10e4..b3b8731f89 100644
--- a/patches/server/0725-Optimise-collision-checking-in-player-move-packet-ha.patch
+++ b/patches/server/0725-Optimise-collision-checking-in-player-move-packet-ha.patch
@@ -8,7 +8,7 @@ Move collision logic to just the hasNewCollision call instead of getCubes + hasN
CHECK ME
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 88c543881c8e7453fffc08e1d5a3226505a8889e..1a44358117e5f72789dd270ce4311f6c6a17bf6d 100644
+index 2898712d34dc5dd1f2e505746c515f773de2b0d8..5911fc7009a4bdf99f8016d440fbeb1ae9b44441 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -534,7 +534,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -90,7 +90,7 @@ index 88c543881c8e7453fffc08e1d5a3226505a8889e..1a44358117e5f72789dd270ce4311f6c
}
@Override
-@@ -1234,7 +1268,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1235,7 +1269,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
if (this.awaitingPositionFromClient != null) {
@@ -99,7 +99,7 @@ index 88c543881c8e7453fffc08e1d5a3226505a8889e..1a44358117e5f72789dd270ce4311f6c
this.awaitingTeleportTime = this.tickCount;
this.teleport(this.awaitingPositionFromClient.x, this.awaitingPositionFromClient.y, this.awaitingPositionFromClient.z, this.player.getYRot(), this.player.getXRot());
}
-@@ -1327,7 +1361,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1328,7 +1362,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
}
@@ -108,7 +108,7 @@ index 88c543881c8e7453fffc08e1d5a3226505a8889e..1a44358117e5f72789dd270ce4311f6c
d6 = d0 - this.lastGoodX; // Paper - diff on change, used for checking large move vectors above
d7 = d1 - this.lastGoodY; // Paper - diff on change, used for checking large move vectors above
-@@ -1369,6 +1403,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1370,6 +1404,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.player.move(MoverType.PLAYER, new Vec3(d6, d7, d8));
this.player.onGround = packet.isOnGround(); // CraftBukkit - SPIGOT-5810, SPIGOT-5835, SPIGOT-6828: reset by this.player.move
@@ -116,7 +116,7 @@ index 88c543881c8e7453fffc08e1d5a3226505a8889e..1a44358117e5f72789dd270ce4311f6c
// Paper start - prevent position desync
if (this.awaitingPositionFromClient != null) {
return; // ... thanks Mojang for letting move calls teleport across dimensions.
-@@ -1387,11 +1422,23 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1388,11 +1423,23 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
boolean flag2 = false;
if (!this.player.isChangingDimension() && d10 > org.spigotmc.SpigotConfig.movedWronglyThreshold && !this.player.isSleeping() && !this.player.gameMode.isCreative() && this.player.gameMode.getGameModeForPlayer() != GameType.SPECTATOR) { // Spigot
@@ -142,7 +142,7 @@ index 88c543881c8e7453fffc08e1d5a3226505a8889e..1a44358117e5f72789dd270ce4311f6c
this.internalTeleport(d3, d4, d5, f, f1, Collections.emptySet()); // CraftBukkit - SPIGOT-1807: Don't call teleport event, when the client thinks the player is falling, because the chunks are not loaded on the client yet.
this.player.doCheckFallDamage(this.player.getX() - d3, this.player.getY() - d4, this.player.getZ() - d5, packet.isOnGround());
} else {
-@@ -1477,6 +1524,33 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1478,6 +1525,33 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
}
diff --git a/patches/server/0743-Expose-vanilla-BiomeProvider-from-WorldInfo.patch b/patches/server/0743-Expose-vanilla-BiomeProvider-from-WorldInfo.patch
index 4ed71d8ecc..91ca72093c 100644
--- a/patches/server/0743-Expose-vanilla-BiomeProvider-from-WorldInfo.patch
+++ b/patches/server/0743-Expose-vanilla-BiomeProvider-from-WorldInfo.patch
@@ -18,10 +18,10 @@ index f7c1d07c95f7b67e32bd6679af88612aec74f54f..9d4c9368fcc3a44e452c1b71b5bdb43d
biomeProvider = gen.getDefaultBiomeProvider(worldInfo);
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 2aacf05d0f79a5418f31a5411b0d06e034f8a0da..c2ea7afae83b1cbecff86c519b9c6983c083d2a1 100644
+index eccfd44eaeb20db22d77fc85307d2a6caa80a587..1152e408dc13a9b54507707d7a34e9c63655f02c 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1223,7 +1223,7 @@ public final class CraftServer implements Server {
+@@ -1225,7 +1225,7 @@ public final class CraftServer implements Server {
List list = ImmutableList.of(new PhantomSpawner(), new PatrolSpawner(), new CatSpawner(), new VillageSiege(), new WanderingTraderSpawner(worlddata));
LevelStem worlddimension = iregistry.get(actualDimension);
diff --git a/patches/server/0751-Kick-on-main-for-illegal-chat.patch b/patches/server/0751-Kick-on-main-for-illegal-chat.patch
index 90fe5ee6ad..da30a2123a 100644
--- a/patches/server/0751-Kick-on-main-for-illegal-chat.patch
+++ b/patches/server/0751-Kick-on-main-for-illegal-chat.patch
@@ -7,10 +7,10 @@ Makes the PlayerKickEvent fire on the main thread for
illegal characters or chat out-of-order errors.
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 1a44358117e5f72789dd270ce4311f6c6a17bf6d..5dad35d1b38ef4e82d1480ccc04d306dcd6aa9c8 100644
+index 5911fc7009a4bdf99f8016d440fbeb1ae9b44441..69d72c411ad6d8f9ee35bd71307d088c17564aa0 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -2021,7 +2021,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2022,7 +2022,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
// CraftBukkit end
if (ServerGamePacketListenerImpl.isChatMessageIllegal(packet.message())) {
@@ -20,7 +20,7 @@ index 1a44358117e5f72789dd270ce4311f6c6a17bf6d..5dad35d1b38ef4e82d1480ccc04d306d
} else {
Optional optional = this.tryHandleChat(packet.message(), packet.timeStamp(), packet.lastSeenMessages());
-@@ -2054,7 +2056,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2055,7 +2057,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@Override
public void handleChatCommand(ServerboundChatCommandPacket packet) {
if (ServerGamePacketListenerImpl.isChatMessageIllegal(packet.command())) {
@@ -30,7 +30,7 @@ index 1a44358117e5f72789dd270ce4311f6c6a17bf6d..5dad35d1b38ef4e82d1480ccc04d306d
} else {
Optional optional = this.tryHandleChat(packet.command(), packet.timeStamp(), packet.lastSeenMessages());
-@@ -2140,7 +2144,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2141,7 +2145,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
private Optional tryHandleChat(String message, Instant timestamp, LastSeenMessages.Update acknowledgment) {
if (!this.updateChatOrder(timestamp)) {
ServerGamePacketListenerImpl.LOGGER.warn("{} sent out-of-order chat: '{}'", this.player.getName().getString(), message);
diff --git a/patches/server/0758-API-for-creating-command-sender-which-forwards-feedb.patch b/patches/server/0758-API-for-creating-command-sender-which-forwards-feedb.patch
index b92c1c2856..0abfde5122 100644
--- a/patches/server/0758-API-for-creating-command-sender-which-forwards-feedb.patch
+++ b/patches/server/0758-API-for-creating-command-sender-which-forwards-feedb.patch
@@ -122,10 +122,10 @@ index 0000000000000000000000000000000000000000..e3a5f1ec376319bdfda87fa27ae217bf
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index c2ea7afae83b1cbecff86c519b9c6983c083d2a1..0bca5e89bc8df486b44c0921e217d0546a490d4e 100644
+index 1152e408dc13a9b54507707d7a34e9c63655f02c..0710929b44d721c1996af57186ff2e66b2c305ab 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2015,6 +2015,13 @@ public final class CraftServer implements Server {
+@@ -2078,6 +2078,13 @@ public final class CraftServer implements Server {
return this.console.console;
}
diff --git a/patches/server/0762-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch b/patches/server/0762-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch
index 56af4853a3..f60a24d4c2 100644
--- a/patches/server/0762-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch
+++ b/patches/server/0762-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Add missing Validate calls to CraftServer#getSpawnLimit
Copies appropriate checks from CraftWorld#getSpawnLimit
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 0bca5e89bc8df486b44c0921e217d0546a490d4e..93b101b8435fed77950e508901f380e20f943b74 100644
+index 0710929b44d721c1996af57186ff2e66b2c305ab..51094b7bb864e92c5928008b2db520bf2816bd9a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2192,6 +2192,8 @@ public final class CraftServer implements Server {
+@@ -2255,6 +2255,8 @@ public final class CraftServer implements Server {
@Override
public int getSpawnLimit(SpawnCategory spawnCategory) {
// Paper start
diff --git a/patches/server/0763-Add-GameEvent-tags.patch b/patches/server/0763-Add-GameEvent-tags.patch
index 02e72d2282..ed4ed1ccb8 100644
--- a/patches/server/0763-Add-GameEvent-tags.patch
+++ b/patches/server/0763-Add-GameEvent-tags.patch
@@ -46,10 +46,10 @@ index 0000000000000000000000000000000000000000..e7d9fd2702a1ce96596580fff8f5ee4f
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 93b101b8435fed77950e508901f380e20f943b74..2fd1d5c15a5231b0f889832ff1c57156ef46816d 100644
+index 51094b7bb864e92c5928008b2db520bf2816bd9a..c934b7751c591ece8004f2a25668ddfcc4cd0bc7 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2613,6 +2613,15 @@ public final class CraftServer implements Server {
+@@ -2676,6 +2676,15 @@ public final class CraftServer implements Server {
return (org.bukkit.Tag) new CraftEntityTag(BuiltInRegistries.ENTITY_TYPE, entityTagKey);
}
}
@@ -65,7 +65,7 @@ index 93b101b8435fed77950e508901f380e20f943b74..2fd1d5c15a5231b0f889832ff1c57156
default -> throw new IllegalArgumentException();
}
-@@ -2645,6 +2654,13 @@ public final class CraftServer implements Server {
+@@ -2708,6 +2717,13 @@ public final class CraftServer implements Server {
net.minecraft.core.Registry> entityTags = BuiltInRegistries.ENTITY_TYPE;
return entityTags.getTags().map(pair -> (org.bukkit.Tag) new CraftEntityTag(entityTags, pair.getFirst())).collect(ImmutableList.toImmutableList());
}
diff --git a/patches/server/0769-Put-world-into-worldlist-before-initing-the-world.patch b/patches/server/0769-Put-world-into-worldlist-before-initing-the-world.patch
index 63add2e773..bfabb45ba3 100644
--- a/patches/server/0769-Put-world-into-worldlist-before-initing-the-world.patch
+++ b/patches/server/0769-Put-world-into-worldlist-before-initing-the-world.patch
@@ -23,10 +23,10 @@ index ebf31af53f26d33a745badbfc6fa4e7f84aea87d..9f56553b416df71ec60a3327a58d843b
if (worlddata.getCustomBossEvents() != null) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 2fd1d5c15a5231b0f889832ff1c57156ef46816d..06f8b950bad67e890086db46d3cb9ec9ecbb0a2c 100644
+index c934b7751c591ece8004f2a25668ddfcc4cd0bc7..ca84472f533f980f3ec83de5b0002712f6720581 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1253,10 +1253,11 @@ public final class CraftServer implements Server {
+@@ -1255,10 +1255,11 @@ public final class CraftServer implements Server {
return null;
}
diff --git a/patches/server/0771-Custom-Potion-Mixes.patch b/patches/server/0771-Custom-Potion-Mixes.patch
index bbfbea8133..6fff830011 100644
--- a/patches/server/0771-Custom-Potion-Mixes.patch
+++ b/patches/server/0771-Custom-Potion-Mixes.patch
@@ -172,10 +172,10 @@ index 424406d2692856cfd82b6f3b7b6228fa3bd20c2f..c57efcb9a79337ec791e4e8f6671612f
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 06f8b950bad67e890086db46d3cb9ec9ecbb0a2c..1ed5a16881cba8eb1c5c72177572b9ef6bb7b686 100644
+index ca84472f533f980f3ec83de5b0002712f6720581..9df3deb1f3b277f71f0efb692ed23392a1630dd9 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -306,6 +306,7 @@ public final class CraftServer implements Server {
+@@ -308,6 +308,7 @@ public final class CraftServer implements Server {
private final io.papermc.paper.datapack.PaperDatapackManager datapackManager; // Paper
public static Exception excessiveVelEx; // Paper - Velocity warnings
private final io.papermc.paper.logging.SysoutCatcher sysoutCatcher = new io.papermc.paper.logging.SysoutCatcher(); // Paper
@@ -183,7 +183,7 @@ index 06f8b950bad67e890086db46d3cb9ec9ecbb0a2c..1ed5a16881cba8eb1c5c72177572b9ef
static {
ConfigurationSerialization.registerClass(CraftOfflinePlayer.class);
-@@ -335,7 +336,7 @@ public final class CraftServer implements Server {
+@@ -337,7 +338,7 @@ public final class CraftServer implements Server {
Enchantments.SHARPNESS.getClass();
org.bukkit.enchantments.Enchantment.stopAcceptingRegistrations();
@@ -192,7 +192,7 @@ index 06f8b950bad67e890086db46d3cb9ec9ecbb0a2c..1ed5a16881cba8eb1c5c72177572b9ef
MobEffects.BLINDNESS.getClass();
PotionEffectType.stopAcceptingRegistrations();
// Ugly hack :(
-@@ -2977,5 +2978,10 @@ public final class CraftServer implements Server {
+@@ -3040,5 +3041,10 @@ public final class CraftServer implements Server {
return datapackManager;
}
diff --git a/patches/server/0776-More-Projectile-API.patch b/patches/server/0776-More-Projectile-API.patch
index d43871e79b..5cf60d9954 100644
--- a/patches/server/0776-More-Projectile-API.patch
+++ b/patches/server/0776-More-Projectile-API.patch
@@ -509,10 +509,10 @@ index c628594b981f276acae7b9337100d811f919631b..c8b65210d2416b5a293cb4bcc1b71f56
// Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 98926c017b41226006b7bcd0e106d493c3fec3c1..0d8a13fc70c139291fa26d6e8f9c38dbbc512e7d 100644
+index b0062d414cec76c47ab6b30738706d1e9ed3646c..f10d9922d5c6cf37ba64f520822a6668a86fd96d 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -832,19 +832,19 @@ public class CraftEventFactory {
+@@ -834,19 +834,19 @@ public class CraftEventFactory {
/**
* PotionSplashEvent
*/
@@ -535,7 +535,7 @@ index 98926c017b41226006b7bcd0e106d493c3fec3c1..0d8a13fc70c139291fa26d6e8f9c38db
hitEntity = ((EntityHitResult) position).getEntity().getBukkitEntity();
}
-@@ -853,20 +853,20 @@ public class CraftEventFactory {
+@@ -855,20 +855,20 @@ public class CraftEventFactory {
return event;
}
diff --git a/patches/server/0781-Implement-enchantWithLevels-API.patch b/patches/server/0781-Implement-enchantWithLevels-API.patch
index ab96d4c51c..03567d8a09 100644
--- a/patches/server/0781-Implement-enchantWithLevels-API.patch
+++ b/patches/server/0781-Implement-enchantWithLevels-API.patch
@@ -5,13 +5,25 @@ Subject: [PATCH] Implement enchantWithLevels API
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
-index 48a88dae70fdf2757537d4a90aa60046e6346323..6e91c7ccc36e088be60739dd71b287f0b922a055 100644
+index 50fa1f903b99edadaa3470c2a6e15a32ff23bc85..b72da22c626ff5c41e877209d9a5a2939526d18f 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
-@@ -458,6 +458,21 @@ public final class CraftItemFactory implements ItemFactory {
+@@ -492,8 +492,7 @@ public final class CraftItemFactory implements ItemFactory {
+ }
+
+ CraftItemStack craft = (CraftItemStack) itemStack;
+- EnchantmentHelper.enchantItem(source, craft.handle, level, allowTreasures);
+- return craft;
++ return EnchantmentHelper.enchantItem(source, craft.handle, level, allowTreasures).asBukkitCopy(); // Paper - fix broken implementation
}
// Paper start - Adventure
+@@ -582,4 +581,21 @@ public final class CraftItemFactory implements ItemFactory {
+ return eggItem == null ? null : new net.minecraft.world.item.ItemStack(eggItem).asBukkitMirror();
+ }
+ // Paper end
++
++ // Paper start - enchantWithLevels API
+ @Override
+ public ItemStack enchantWithLevels(ItemStack itemStack, int levels, boolean allowTreasure, java.util.Random random) {
+ Preconditions.checkArgument(itemStack != null, "Argument 'itemStack' must not be null");
@@ -26,7 +38,5 @@ index 48a88dae70fdf2757537d4a90aa60046e6346323..6e91c7ccc36e088be60739dd71b287f0
+ final net.minecraft.world.item.ItemStack enchanted = net.minecraft.world.item.enchantment.EnchantmentHelper.enchantItem(new org.bukkit.craftbukkit.util.RandomSourceWrapper(random), internalStack, levels, allowTreasure);
+ return CraftItemStack.asCraftMirror(enchanted);
+ }
-+
- @Override
- public net.kyori.adventure.text.event.HoverEvent asHoverEvent(final ItemStack item, final java.util.function.UnaryOperator op) {
- final net.minecraft.nbt.CompoundTag tag = CraftItemStack.asNMSCopy(item).getTag();
++ // Paper end - enchantWithLevels API
+ }
diff --git a/patches/server/0782-Fix-saving-in-unloadWorld.patch b/patches/server/0782-Fix-saving-in-unloadWorld.patch
index 727e9e5c96..8529b67172 100644
--- a/patches/server/0782-Fix-saving-in-unloadWorld.patch
+++ b/patches/server/0782-Fix-saving-in-unloadWorld.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Fix saving in unloadWorld
Change savingDisabled to false to ensure ServerLevel's saving logic gets called when unloadWorld is called with save = true
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 1ed5a16881cba8eb1c5c72177572b9ef6bb7b686..2a4b28e36858397b8be69c4375e205cffa91d35c 100644
+index 9df3deb1f3b277f71f0efb692ed23392a1630dd9..694cea63c676757aac083e9bd541b33e720529a5 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1301,7 +1301,7 @@ public final class CraftServer implements Server {
+@@ -1303,7 +1303,7 @@ public final class CraftServer implements Server {
try {
if (save) {
diff --git a/patches/server/0785-Fix-new-block-data-for-EntityChangeBlockEvent.patch b/patches/server/0785-Fix-new-block-data-for-EntityChangeBlockEvent.patch
index c99d407f99..13a94d9cac 100644
--- a/patches/server/0785-Fix-new-block-data-for-EntityChangeBlockEvent.patch
+++ b/patches/server/0785-Fix-new-block-data-for-EntityChangeBlockEvent.patch
@@ -196,10 +196,10 @@ index b13d89b1516130507402cd3b4bdb9f3c2a36e807..936644ec4a57e51a1c11a5bf4e8449ab
}
// CraftBukkit end
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 0d8a13fc70c139291fa26d6e8f9c38dbbc512e7d..8496bca5c104335ebdddd28193ff4d455313203f 100644
+index f10d9922d5c6cf37ba64f520822a6668a86fd96d..914fb155cbd79d0a1c4fbd5389ae3a15e76cad61 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -1411,11 +1411,11 @@ public class CraftEventFactory {
+@@ -1413,11 +1413,11 @@ public class CraftEventFactory {
return event;
}
diff --git a/patches/server/0793-Prevent-tile-entity-copies-loading-chunks.patch b/patches/server/0793-Prevent-tile-entity-copies-loading-chunks.patch
index e1d3f11682..30492bd5ff 100644
--- a/patches/server/0793-Prevent-tile-entity-copies-loading-chunks.patch
+++ b/patches/server/0793-Prevent-tile-entity-copies-loading-chunks.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Prevent tile entity copies loading chunks
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index fce18ec126c3019249d2630dce1d8efa9d8f326b..1a38e20ed90e2bb110a7ffbd9195b4b01650b17f 100644
+index df0aa82361cc7172c35f01c119912c5a936f19f9..17fe79afb31d58d8f444eca7285f77189bafa35d 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -3187,7 +3187,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -3188,7 +3188,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
BlockPos blockposition = BlockEntity.getPosFromTag(nbttagcompound);
if (this.player.level().isLoaded(blockposition)) {
diff --git a/patches/server/0796-Pass-ServerLevel-for-gamerule-callbacks.patch b/patches/server/0796-Pass-ServerLevel-for-gamerule-callbacks.patch
index a9456a58e4..bfb75d3a93 100644
--- a/patches/server/0796-Pass-ServerLevel-for-gamerule-callbacks.patch
+++ b/patches/server/0796-Pass-ServerLevel-for-gamerule-callbacks.patch
@@ -18,10 +18,10 @@ index 5a0a34ea500607b1370df3e5ee4c1ad64f252449..321675996b83fbe34d7e0d690eafe170
if (dedicatedserverproperties.enableQuery) {
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 1a38e20ed90e2bb110a7ffbd9195b4b01650b17f..b5a20f69f0df93e3786f9b27b17a2b0ab7c69a91 100644
+index 17fe79afb31d58d8f444eca7285f77189bafa35d..ab0a3fed682f6b2cd5e60224c3a0d2a55c69efe8 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -2751,7 +2751,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2752,7 +2752,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.player = this.server.getPlayerList().respawn(this.player, false, RespawnReason.DEATH);
if (this.server.isHardcore()) {
this.player.setGameMode(GameType.SPECTATOR, org.bukkit.event.player.PlayerGameModeChangeEvent.Cause.HARDCORE_DEATH, null); // Paper
diff --git a/patches/server/0798-WorldCreator-keepSpawnLoaded.patch b/patches/server/0798-WorldCreator-keepSpawnLoaded.patch
index d83f7422f1..a91c469099 100644
--- a/patches/server/0798-WorldCreator-keepSpawnLoaded.patch
+++ b/patches/server/0798-WorldCreator-keepSpawnLoaded.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] WorldCreator#keepSpawnLoaded
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 2a4b28e36858397b8be69c4375e205cffa91d35c..1665d99aa45f708939dfc21d17a7b02182c7aefb 100644
+index 694cea63c676757aac083e9bd541b33e720529a5..45f6828ce1d08ec2af4ce2879ea6c75632135f4f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1248,7 +1248,7 @@ public final class CraftServer implements Server {
+@@ -1250,7 +1250,7 @@ public final class CraftServer implements Server {
ServerLevel internal = (ServerLevel) new ServerLevel(this.console, this.console.executor, worldSession, worlddata, worldKey, worlddimension, this.getServer().progressListenerFactory.create(11),
worlddata.isDebugWorld(), j, creator.environment() == Environment.NORMAL ? list : ImmutableList.of(), true, this.console.overworld().getRandomSequences(), creator.environment(), generator, biomeProvider);
@@ -17,7 +17,7 @@ index 2a4b28e36858397b8be69c4375e205cffa91d35c..1665d99aa45f708939dfc21d17a7b021
if (!(this.worlds.containsKey(name.toLowerCase(java.util.Locale.ENGLISH)))) {
return null;
-@@ -1260,6 +1260,7 @@ public final class CraftServer implements Server {
+@@ -1262,6 +1262,7 @@ public final class CraftServer implements Server {
internal.setSpawnSettings(true, true);
// Paper - move up
diff --git a/patches/server/0807-Do-not-accept-invalid-client-settings.patch b/patches/server/0807-Do-not-accept-invalid-client-settings.patch
index 81f2f884ae..37641891a3 100644
--- a/patches/server/0807-Do-not-accept-invalid-client-settings.patch
+++ b/patches/server/0807-Do-not-accept-invalid-client-settings.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Do not accept invalid client settings
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index b5a20f69f0df93e3786f9b27b17a2b0ab7c69a91..3017a4509cf112578b96dce9bd517256313ebcb8 100644
+index ab0a3fed682f6b2cd5e60224c3a0d2a55c69efe8..ac87735ff07ee0833727cdf8b62f443ce16a3216 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -3311,6 +3311,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -3312,6 +3312,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@Override
public void handleClientInformation(ServerboundClientInformationPacket packet) {
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
diff --git a/patches/server/0814-Throw-exception-on-world-create-while-being-ticked.patch b/patches/server/0814-Throw-exception-on-world-create-while-being-ticked.patch
index cdc81374d4..3c32ef7d50 100644
--- a/patches/server/0814-Throw-exception-on-world-create-while-being-ticked.patch
+++ b/patches/server/0814-Throw-exception-on-world-create-while-being-ticked.patch
@@ -45,10 +45,10 @@ index 18041f137157ca95639c0511f225bbb58356fe2b..47c984495a66fdbb10dea6bab33da78f
this.profiler.popPush("connection");
MinecraftTimings.connectionTimer.startTiming(); // Spigot
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 1665d99aa45f708939dfc21d17a7b02182c7aefb..c1229e3ce355fb324a0fe0c37b4d39fbdc60c7a3 100644
+index 45f6828ce1d08ec2af4ce2879ea6c75632135f4f..7405101ee0f499e7d49bc723fcc5be55d0c3ff6f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -876,6 +876,11 @@ public final class CraftServer implements Server {
+@@ -878,6 +878,11 @@ public final class CraftServer implements Server {
return new ArrayList(this.worlds.values());
}
@@ -60,7 +60,7 @@ index 1665d99aa45f708939dfc21d17a7b02182c7aefb..c1229e3ce355fb324a0fe0c37b4d39fb
public DedicatedPlayerList getHandle() {
return this.playerList;
}
-@@ -1135,6 +1140,7 @@ public final class CraftServer implements Server {
+@@ -1137,6 +1142,7 @@ public final class CraftServer implements Server {
@Override
public World createWorld(WorldCreator creator) {
Preconditions.checkState(this.console.getAllLevels().iterator().hasNext(), "Cannot create additional worlds on STARTUP");
@@ -68,7 +68,7 @@ index 1665d99aa45f708939dfc21d17a7b02182c7aefb..c1229e3ce355fb324a0fe0c37b4d39fb
Preconditions.checkArgument(creator != null, "WorldCreator cannot be null");
String name = creator.name();
-@@ -1275,6 +1281,7 @@ public final class CraftServer implements Server {
+@@ -1277,6 +1283,7 @@ public final class CraftServer implements Server {
@Override
public boolean unloadWorld(World world, boolean save) {
diff --git a/patches/server/0821-Don-t-broadcast-messages-to-command-blocks.patch b/patches/server/0821-Don-t-broadcast-messages-to-command-blocks.patch
index d009bb5b66..0feaf1bbdd 100644
--- a/patches/server/0821-Don-t-broadcast-messages-to-command-blocks.patch
+++ b/patches/server/0821-Don-t-broadcast-messages-to-command-blocks.patch
@@ -20,10 +20,10 @@ index e05eb08a9c229b371887676da510df948b896a85..ceeedbd88c56c08ec8b047c9ca2f14cc
Date date = new Date();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index c1229e3ce355fb324a0fe0c37b4d39fbdc60c7a3..a148d03d746d4580777e1e193c07dad922a080e0 100644
+index 7405101ee0f499e7d49bc723fcc5be55d0c3ff6f..73442cb5ae468b0a342d5f8ffe3e5539172fb3e8 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1777,7 +1777,7 @@ public final class CraftServer implements Server {
+@@ -1840,7 +1840,7 @@ public final class CraftServer implements Server {
// Paper end
Set recipients = new HashSet<>();
for (Permissible permissible : this.getPluginManager().getPermissionSubscriptions(permission)) {
diff --git a/patches/server/0827-Add-some-minimal-debug-information-to-chat-packet-er.patch b/patches/server/0827-Add-some-minimal-debug-information-to-chat-packet-er.patch
index 1305d58c28..7ae9ebbdd4 100644
--- a/patches/server/0827-Add-some-minimal-debug-information-to-chat-packet-er.patch
+++ b/patches/server/0827-Add-some-minimal-debug-information-to-chat-packet-er.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Add some minimal debug information to chat packet errors
TODO: potentially add some kick leeway
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 3017a4509cf112578b96dce9bd517256313ebcb8..96882c99ad0f3dfb58d4e7a38a17929e252033c1 100644
+index ac87735ff07ee0833727cdf8b62f443ce16a3216..c518f78af7612f59af7f02fcf2ba5ef274f9694d 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -2148,7 +2148,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2149,7 +2149,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
private Optional tryHandleChat(String message, Instant timestamp, LastSeenMessages.Update acknowledgment) {
if (!this.updateChatOrder(timestamp)) {
diff --git a/patches/server/0829-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch b/patches/server/0829-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch
index eb5f74ca9a..66722589c2 100644
--- a/patches/server/0829-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch
+++ b/patches/server/0829-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Fix Spigot Config not using commands.spam-exclusions
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 96882c99ad0f3dfb58d4e7a38a17929e252033c1..7e388fc82cb4f7a71b36a204c5af827509ab60f3 100644
+index c518f78af7612f59af7f02fcf2ba5ef274f9694d..10bb9364b6ebdd21c4a3602af5c3887871dc0548 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -2368,7 +2368,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2369,7 +2369,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
// Spigot end
// this.chatSpamTickCount += 20;
diff --git a/patches/server/0830-More-Teleport-API.patch b/patches/server/0830-More-Teleport-API.patch
index b6588baba2..21ce2075c1 100644
--- a/patches/server/0830-More-Teleport-API.patch
+++ b/patches/server/0830-More-Teleport-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] More Teleport API
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 7e388fc82cb4f7a71b36a204c5af827509ab60f3..331d8c69dc4464ff6b44b4b37ecf426ff3514fc3 100644
+index 10bb9364b6ebdd21c4a3602af5c3887871dc0548..ffc6b7e7349ea1088b9ed5e13686d7bd9483aa1c 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -1605,11 +1605,17 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1606,11 +1606,17 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
return false; // CraftBukkit - Return event status
}
@@ -29,7 +29,7 @@ index 7e388fc82cb4f7a71b36a204c5af827509ab60f3..331d8c69dc4464ff6b44b4b37ecf426f
d0 = to.getX();
d1 = to.getY();
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
-index b9c69703bb41f7d04f95bef27eb0614c5931c326..706eeebe3ebbecd431c42140e7f351d5f7faf032 100644
+index 28cda0cc2e179b3f03d4bee3ca6c24c3f831214a..e02c454ba75f440342d85b466426b9363992d923 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -566,15 +566,36 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@@ -72,7 +72,7 @@ index b9c69703bb41f7d04f95bef27eb0614c5931c326..706eeebe3ebbecd431c42140e7f351d5
// Let the server handle cross world teleports
if (location.getWorld() != null && !location.getWorld().equals(this.getWorld())) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 4dcc4ad66e7c6cd9cbf568d8763d707b5e2b3b8b..3f31fca8d1bbbcd62d72c3d8ce47237aff2a326d 100644
+index 8c09fbca374bed7707c400adb92e3120815bd508..6005f08cc8423a93c2d209ba080eb0ca68af132e 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1200,13 +1200,101 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0833-Send-block-entities-after-destroy-prediction.patch b/patches/server/0833-Send-block-entities-after-destroy-prediction.patch
index 1ea3e81505..b6e9e352c8 100644
--- a/patches/server/0833-Send-block-entities-after-destroy-prediction.patch
+++ b/patches/server/0833-Send-block-entities-after-destroy-prediction.patch
@@ -57,10 +57,10 @@ index 3fe747fdc4500bd65029446f63e314031d71ed4a..19573bfb05d7f9641964c76e6670e4a7
}
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 331d8c69dc4464ff6b44b4b37ecf426ff3514fc3..bfa2e9919275a1eb5d83403c5ed88eee245e3194 100644
+index ffc6b7e7349ea1088b9ed5e13686d7bd9483aa1c..372015adb4f198c131d1a5f239e75f862ab5fdd7 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -1751,8 +1751,28 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1752,8 +1752,28 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
return;
}
// Paper end - Don't allow digging in unloaded chunks
diff --git a/patches/server/0840-Add-Velocity-IP-Forwarding-Support.patch b/patches/server/0840-Add-Velocity-IP-Forwarding-Support.patch
index 85a2ae83e6..6703fca5b1 100644
--- a/patches/server/0840-Add-Velocity-IP-Forwarding-Support.patch
+++ b/patches/server/0840-Add-Velocity-IP-Forwarding-Support.patch
@@ -215,10 +215,10 @@ index 5ff49a0f2f42b63d606c7d9205c0e63fe39e163f..aac84898d2563bfb45c7d0884d65be23
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index a148d03d746d4580777e1e193c07dad922a080e0..2384ad530ce9c8329e378e7488701df7c2f389fb 100644
+index 73442cb5ae468b0a342d5f8ffe3e5539172fb3e8..64c3eafd2b676938017b43bf46ea6a0e0f324fd6 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -805,7 +805,7 @@ public final class CraftServer implements Server {
+@@ -807,7 +807,7 @@ public final class CraftServer implements Server {
@Override
public long getConnectionThrottle() {
// Spigot Start - Automatically set connection throttle for bungee configurations
diff --git a/patches/server/0860-Correctly-handle-interactions-with-items-on-cooldown.patch b/patches/server/0860-Correctly-handle-interactions-with-items-on-cooldown.patch
index e49f829afc..a7f34f5272 100644
--- a/patches/server/0860-Correctly-handle-interactions-with-items-on-cooldown.patch
+++ b/patches/server/0860-Correctly-handle-interactions-with-items-on-cooldown.patch
@@ -30,10 +30,10 @@ index 25cbbc714e86c11dcf05329430a83bba2cd05364..4b1af7bba3ce10a1247bb61535456510
this.interactResult = event.useItemInHand() == Event.Result.DENY;
this.interactPosition = blockposition.immutable();
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 8496bca5c104335ebdddd28193ff4d455313203f..10169884ea37531a08d5a0ecb1fae95874332496 100644
+index 914fb155cbd79d0a1c4fbd5389ae3a15e76cad61..5f35eed82193e1868102cdfa931f1cb2c7662185 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -544,7 +544,13 @@ public class CraftEventFactory {
+@@ -546,7 +546,13 @@ public class CraftEventFactory {
return CraftEventFactory.callPlayerInteractEvent(who, action, position, direction, itemstack, false, hand, null);
}
@@ -47,7 +47,7 @@ index 8496bca5c104335ebdddd28193ff4d455313203f..10169884ea37531a08d5a0ecb1fae958
Player player = (who == null) ? null : (Player) who.getBukkitEntity();
CraftItemStack itemInHand = CraftItemStack.asCraftMirror(itemstack);
-@@ -579,6 +585,11 @@ public class CraftEventFactory {
+@@ -581,6 +587,11 @@ public class CraftEventFactory {
if (cancelledBlock) {
event.setUseInteractedBlock(Event.Result.DENY);
}
diff --git a/patches/server/0891-Properly-resend-entities.patch b/patches/server/0891-Properly-resend-entities.patch
index d727b5e226..89573864bd 100644
--- a/patches/server/0891-Properly-resend-entities.patch
+++ b/patches/server/0891-Properly-resend-entities.patch
@@ -85,10 +85,10 @@ index d088479d160dbd2fc90b48a30553be141db8eef2..ccb7d92b6c36b6225a2e640f8cea6c0d
public static class DataItem {
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index bfa2e9919275a1eb5d83403c5ed88eee245e3194..c4425cd7357049e74e825b824e30b9691ad93196 100644
+index 372015adb4f198c131d1a5f239e75f862ab5fdd7..d63451592c34429c1c827ff8e16989347e2efdaa 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -2648,7 +2648,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2649,7 +2649,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
// Entity in bucket - SPIGOT-4048 and SPIGOT-6859a
if ((entity instanceof Bucketable && entity instanceof LivingEntity && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) {
@@ -125,7 +125,7 @@ index 37596c7b65f280be00e8e59ae18bd1aceae21080..eca18540aeb0b0d4098477d73b14c78a
}
entity.playSound(((Bucketable) entity).getPickupSound(), 1.0F, 1.0F);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
-index 53bda7a59a3abf6f99a044df5f2c44bedf1af501..dc1cc4db2195d4f346bdc5f39e2e14dba454f13d 100644
+index 4199bc76c1f304e19fa7c3b7763d31b56a57221b..37b1eb5ba224e4de28c49c04d218c3951b1bbfd1 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -1258,7 +1258,11 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
diff --git a/patches/server/0898-Improve-logging-and-errors.patch b/patches/server/0898-Improve-logging-and-errors.patch
index 8689ac7c75..00c1b3d1ad 100644
--- a/patches/server/0898-Improve-logging-and-errors.patch
+++ b/patches/server/0898-Improve-logging-and-errors.patch
@@ -19,10 +19,10 @@ index 938fe76677139e7e99698b61691bfcadf70dbd87..8aa7439d9f3c071f88c84c6c75b7a65e
if (advancement.parent() == null) {
this.roots.remove(advancement);
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index c4425cd7357049e74e825b824e30b9691ad93196..0cd46c761253c197e94b16a78f15110b35b12c12 100644
+index d63451592c34429c1c827ff8e16989347e2efdaa..e87e99569fe5d6d916faa385b1793db858ab39b7 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -3385,7 +3385,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -3386,7 +3386,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.resetPlayerChatState(remotechatsession_a.validate(this.player.getGameProfile(), signaturevalidator));
} catch (ProfilePublicKey.ValidationException profilepublickey_b) {
diff --git a/patches/server/0901-Add-missing-SpigotConfig-logCommands-check.patch b/patches/server/0901-Add-missing-SpigotConfig-logCommands-check.patch
index 6234450db8..6bdf638285 100644
--- a/patches/server/0901-Add-missing-SpigotConfig-logCommands-check.patch
+++ b/patches/server/0901-Add-missing-SpigotConfig-logCommands-check.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add missing SpigotConfig logCommands check
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 0cd46c761253c197e94b16a78f15110b35b12c12..a6630c0aefb31b4b07b62219e27ce724325d291c 100644
+index e87e99569fe5d6d916faa385b1793db858ab39b7..5654bc0390f3c205bca3ea1f225eba1a39216005 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -2112,7 +2112,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2113,7 +2113,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
private void performChatCommand(ServerboundChatCommandPacket packet, LastSeenMessages lastSeenMessages) {
// CraftBukkit start
String command = "/" + packet.command();
diff --git a/patches/server/0904-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch b/patches/server/0904-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch
index 39ca938316..3f33ed3a18 100644
--- a/patches/server/0904-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch
+++ b/patches/server/0904-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch
@@ -130,10 +130,10 @@ index e44cd3b8eef25a3e7eedbe8ae597d74585ecd627..e3b07d623cd64de9645f2372f1e08757
// See BlockStateFactory#createBlockState(World, BlockPosition, IBlockData, TileEntity)
private static CraftBlockState getBlockState(World world, BlockPos blockPosition, net.minecraft.world.level.block.state.BlockState blockData, BlockEntity tileEntity) {
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 10169884ea37531a08d5a0ecb1fae95874332496..73f12036dbbcecbd5848c8eda391fc34d04e9995 100644
+index 5f35eed82193e1868102cdfa931f1cb2c7662185..bd3893f3ad3d8150c1b23ad01ccce3b1dcb25b1b 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -1046,7 +1046,7 @@ public class CraftEventFactory {
+@@ -1048,7 +1048,7 @@ public class CraftEventFactory {
CraftEventFactory.entityDamage = null;
EntityDamageEvent event;
if (damager == null) {
diff --git a/patches/server/0907-Use-single-player-info-update-packet-on-join.patch b/patches/server/0907-Use-single-player-info-update-packet-on-join.patch
index 23d3f95cd6..42b8a145e8 100644
--- a/patches/server/0907-Use-single-player-info-update-packet-on-join.patch
+++ b/patches/server/0907-Use-single-player-info-update-packet-on-join.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Use single player info update packet on join
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index a6630c0aefb31b4b07b62219e27ce724325d291c..f53bb528e9682c554751fefe549fe823958a79dd 100644
+index 5654bc0390f3c205bca3ea1f225eba1a39216005..4fae5949e1fabb387595a1e0449b0c0ec368f74e 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -3415,7 +3415,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -3416,7 +3416,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.signedMessageDecoder = session.createMessageDecoder(this.player.getUUID());
this.chatMessageChain.append((executor) -> {
this.player.setChatSession(session);
diff --git a/patches/server/0915-Add-EntityFertilizeEggEvent.patch b/patches/server/0915-Add-EntityFertilizeEggEvent.patch
index ea181cda54..2e6f8c4c7b 100644
--- a/patches/server/0915-Add-EntityFertilizeEggEvent.patch
+++ b/patches/server/0915-Add-EntityFertilizeEggEvent.patch
@@ -69,10 +69,10 @@ index 36b3945832733b5ad66d25aa3a31335234d2acff..47a5125e44cea1ece84657cdb874807f
this.playSound(SoundEvents.SNIFFER_EGG_PLOP, 1.0F, (this.random.nextFloat() - this.random.nextFloat()) * 0.2F + 0.5F);
} // Paper
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 73f12036dbbcecbd5848c8eda391fc34d04e9995..4ad092c25a17cfb3eae26316260ddeeb66a59cfd 100644
+index bd3893f3ad3d8150c1b23ad01ccce3b1dcb25b1b..c6447735475075cad123428dbc6eece55a2a7d82 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -2089,4 +2089,29 @@ public class CraftEventFactory {
+@@ -2096,4 +2096,29 @@ public class CraftEventFactory {
return event.callEvent();
}
// Paper end
diff --git a/patches/server/0927-Treat-sequence-violations-like-they-should-be.patch b/patches/server/0927-Treat-sequence-violations-like-they-should-be.patch
index dda0696a1e..8dc7f3c4f3 100644
--- a/patches/server/0927-Treat-sequence-violations-like-they-should-be.patch
+++ b/patches/server/0927-Treat-sequence-violations-like-they-should-be.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Treat sequence violations like they should be
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index f53bb528e9682c554751fefe549fe823958a79dd..f06cbdef43e70cde315b0b4cb2d124efa1071618 100644
+index 4fae5949e1fabb387595a1e0449b0c0ec368f74e..bb0d66c30903ee0601bd3327e82744a2fb5aceb4 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -2011,6 +2011,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2012,6 +2012,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
public void ackBlockChangesUpTo(int sequence) {
if (sequence < 0) {
diff --git a/patches/server/0929-Prevent-causing-expired-keys-from-impacting-new-join.patch b/patches/server/0929-Prevent-causing-expired-keys-from-impacting-new-join.patch
index 920fe148a5..a5c7f14af4 100644
--- a/patches/server/0929-Prevent-causing-expired-keys-from-impacting-new-join.patch
+++ b/patches/server/0929-Prevent-causing-expired-keys-from-impacting-new-join.patch
@@ -24,7 +24,7 @@ index 40ac5cf19934207f06755fbea02d4626d7aa0511..32e3f347e2e025e2675e9410116386e4
UPDATE_GAME_MODE((serialized, buf) -> {
serialized.gameMode = GameType.byId(buf.readVarInt());
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index f06cbdef43e70cde315b0b4cb2d124efa1071618..ba257447048b9322defaecfd7424579f287ff483 100644
+index bb0d66c30903ee0601bd3327e82744a2fb5aceb4..dc50f0c4514cc239a4639a03e4edbda5c258b867 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -284,6 +284,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -49,7 +49,7 @@ index f06cbdef43e70cde315b0b4cb2d124efa1071618..ba257447048b9322defaecfd7424579f
}
public void resetPosition() {
-@@ -3413,6 +3421,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -3414,6 +3422,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
private void resetPlayerChatState(RemoteChatSession session) {
this.chatSession = session;
diff --git a/patches/server/0936-Fix-DamageCause-for-Falling-Blocks.patch b/patches/server/0936-Fix-DamageCause-for-Falling-Blocks.patch
index 7fe63b9f63..1c7d33b3e0 100644
--- a/patches/server/0936-Fix-DamageCause-for-Falling-Blocks.patch
+++ b/patches/server/0936-Fix-DamageCause-for-Falling-Blocks.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Fix DamageCause for Falling Blocks
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 4ad092c25a17cfb3eae26316260ddeeb66a59cfd..1d9efbde8ec52965bbed22d82a095aa73b8db3b8 100644
+index c6447735475075cad123428dbc6eece55a2a7d82..975e288911779f2acc943acf32eeecd306f10dde 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -1086,6 +1086,11 @@ public class CraftEventFactory {
+@@ -1088,6 +1088,11 @@ public class CraftEventFactory {
} else if (source.is(DamageTypes.SONIC_BOOM)) {
cause = DamageCause.SONIC_BOOM;
}
diff --git a/patches/server/0941-Expand-PlayerItemMendEvent.patch b/patches/server/0941-Expand-PlayerItemMendEvent.patch
index f3745282c6..a6ff7047b1 100644
--- a/patches/server/0941-Expand-PlayerItemMendEvent.patch
+++ b/patches/server/0941-Expand-PlayerItemMendEvent.patch
@@ -33,7 +33,7 @@ index 37cd883f4920d5e1e58900ebdcfd4495a0abd2ae..6dac7cd4c9abfbde299f5d279acc2739
return k > 0 ? this.repairPlayerItems(player, k) : 0;
} else {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index e55898d5237d4413dfa2ea81f7e5f4941901bc08..200f2a0a98e32fa722e50bf204d3ee886da58815 100644
+index 11f4e48f33d6feacdd961bd1f767dbea11412252..5ab142f17b794bf73dc26ee35b5c59797d13efd3 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1727,11 +1727,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -51,10 +51,10 @@ index e55898d5237d4413dfa2ea81f7e5f4941901bc08..200f2a0a98e32fa722e50bf204d3ee88
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 1d9efbde8ec52965bbed22d82a095aa73b8db3b8..c87849a4da75c5a0cbe56bb61a288252101a020f 100644
+index 975e288911779f2acc943acf32eeecd306f10dde..81066d1d4e7a5818018469d5659c15dc2d5a43bf 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -1322,10 +1322,10 @@ public class CraftEventFactory {
+@@ -1324,10 +1324,10 @@ public class CraftEventFactory {
return event;
}
diff --git a/patches/server/0948-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch b/patches/server/0948-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch
index efa2da58fc..8fc1d2b4f3 100644
--- a/patches/server/0948-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch
+++ b/patches/server/0948-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Don't enforce icanhasbukkit default if alias block exists
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 2384ad530ce9c8329e378e7488701df7c2f389fb..a2a2260f52032c50d57c2031b41d05f052394866 100644
+index 64c3eafd2b676938017b43bf46ea6a0e0f324fd6..9d86b54a9945d4644f7920e06e5d04faaaa2e8c8 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -359,7 +359,11 @@ public final class CraftServer implements Server {
+@@ -361,7 +361,11 @@ public final class CraftServer implements Server {
}
this.commandsConfiguration = YamlConfiguration.loadConfiguration(this.getCommandsConfigFile());
this.commandsConfiguration.options().copyDefaults(true);
diff --git a/patches/server/0954-Properly-Cancel-Usable-Items.patch b/patches/server/0954-Properly-Cancel-Usable-Items.patch
index ac735f5582..2a3482e820 100644
--- a/patches/server/0954-Properly-Cancel-Usable-Items.patch
+++ b/patches/server/0954-Properly-Cancel-Usable-Items.patch
@@ -34,10 +34,10 @@ index 4b1af7bba3ce10a1247bb61535456510e18da2d9..76cef8f2861af8fcb88b4dad294a8853
return enuminteractionresult;
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index ba257447048b9322defaecfd7424579f287ff483..bb74c271acc02d4f750daeb05bc05b1d6f61ffeb 100644
+index dc50f0c4514cc239a4639a03e4edbda5c258b867..8b0bcaa4239a0966cf7b7676525c1ab69c25f534 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -1923,6 +1923,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1924,6 +1924,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
if (cancelled) {
diff --git a/patches/server/0959-Call-missing-BlockDispenseEvent.patch b/patches/server/0959-Call-missing-BlockDispenseEvent.patch
index 2496dada5e..8c8cc75def 100644
--- a/patches/server/0959-Call-missing-BlockDispenseEvent.patch
+++ b/patches/server/0959-Call-missing-BlockDispenseEvent.patch
@@ -50,10 +50,10 @@ index c0baec6ae9bd90410f47aa04d7c7704233375d1a..e9b748a81ec223a701b56d2dc890c9eb
for (int k = 0; k < 5; ++k) {
worldserver.sendParticles(ParticleTypes.SPLASH, (double) blockposition.getX() + worldserver.random.nextDouble(), (double) (blockposition.getY() + 1), (double) blockposition.getZ() + worldserver.random.nextDouble(), 1, 0.0D, 0.0D, 0.0D, 1.0D);
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index c87849a4da75c5a0cbe56bb61a288252101a020f..8eaa16ef67cbbdc06ae74e1f3c9489d205092264 100644
+index 81066d1d4e7a5818018469d5659c15dc2d5a43bf..e51a54275aeab85158ee9685b2f6d0f5f3a0b58a 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -2095,6 +2095,32 @@ public class CraftEventFactory {
+@@ -2102,6 +2102,32 @@ public class CraftEventFactory {
}
// Paper end
diff --git a/patches/server/0964-fix-item-meta-for-tadpole-buckets.patch b/patches/server/0964-fix-item-meta-for-tadpole-buckets.patch
index c1d43316d3..b8d4f28c59 100644
--- a/patches/server/0964-fix-item-meta-for-tadpole-buckets.patch
+++ b/patches/server/0964-fix-item-meta-for-tadpole-buckets.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] fix item meta for tadpole buckets
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
-index 6e91c7ccc36e088be60739dd71b287f0b922a055..57f4cf40359fe9bb427eb0134660d00839a63c86 100644
+index b72da22c626ff5c41e877209d9a5a2939526d18f..9469b0d5d8a46ac17c3998a4b537a4feb1deb3b0 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
-@@ -348,6 +348,7 @@ public final class CraftItemFactory implements ItemFactory {
+@@ -355,6 +355,7 @@ public final class CraftItemFactory implements ItemFactory {
case COD_BUCKET:
case PUFFERFISH_BUCKET:
case SALMON_BUCKET:
diff --git a/patches/server/0970-ExperienceOrb-should-call-EntitySpawnEvent.patch b/patches/server/0970-ExperienceOrb-should-call-EntitySpawnEvent.patch
index 49b157ea07..fea6aa1a5f 100644
--- a/patches/server/0970-ExperienceOrb-should-call-EntitySpawnEvent.patch
+++ b/patches/server/0970-ExperienceOrb-should-call-EntitySpawnEvent.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] ExperienceOrb should call EntitySpawnEvent
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 8eaa16ef67cbbdc06ae74e1f3c9489d205092264..3ac67ef07f574eacc09d8dc966800cb94caea3c6 100644
+index e51a54275aeab85158ee9685b2f6d0f5f3a0b58a..df3feea9ed025bd7be39dfe1f1e1fdc4c1e77035 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -720,7 +720,10 @@ public class CraftEventFactory {
+@@ -722,7 +722,10 @@ public class CraftEventFactory {
} else if (entity instanceof net.minecraft.world.entity.ExperienceOrb) {
net.minecraft.world.entity.ExperienceOrb xp = (net.minecraft.world.entity.ExperienceOrb) entity;
double radius = world.spigotConfig.expMerge;
diff --git a/patches/server/0974-Implement-PlayerFailMoveEvent.patch b/patches/server/0974-Implement-PlayerFailMoveEvent.patch
index 9feef646bd..05065fe7c6 100644
--- a/patches/server/0974-Implement-PlayerFailMoveEvent.patch
+++ b/patches/server/0974-Implement-PlayerFailMoveEvent.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Implement PlayerFailMoveEvent
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index bb74c271acc02d4f750daeb05bc05b1d6f61ffeb..a51ba56ff7072a0fcaf7115486a61c2ea955e6c1 100644
+index 8b0bcaa4239a0966cf7b7676525c1ab69c25f534..2553942e143e5acd0dc6158434d160000a98ea8c 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -1291,8 +1291,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1292,8 +1292,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
double d0 = ServerGamePacketListenerImpl.clampHorizontal(packet.getX(this.player.getX())); final double toX = d0; // Paper - OBFHELPER
double d1 = ServerGamePacketListenerImpl.clampVertical(packet.getY(this.player.getY())); final double toY = d1;
double d2 = ServerGamePacketListenerImpl.clampHorizontal(packet.getZ(this.player.getZ())); final double toZ = d2; // Paper - OBFHELPER
@@ -19,7 +19,7 @@ index bb74c271acc02d4f750daeb05bc05b1d6f61ffeb..a51ba56ff7072a0fcaf7115486a61c2e
if (this.player.isPassenger()) {
this.player.absMoveTo(this.player.getX(), this.player.getY(), this.player.getZ(), f, f1);
-@@ -1358,8 +1358,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1359,8 +1359,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
// Paper start - Prevent moving into unloaded chunks
if (this.player.level().paperConfig().chunks.preventMovingIntoUnloadedChunks && (this.player.getX() != toX || this.player.getZ() != toZ) && !worldserver.areChunksLoadedForMove(this.player.getBoundingBox().expandTowards(new Vec3(toX, toY, toZ).subtract(this.player.position())))) {
@@ -34,7 +34,7 @@ index bb74c271acc02d4f750daeb05bc05b1d6f61ffeb..a51ba56ff7072a0fcaf7115486a61c2e
}
// Paper end
-@@ -1368,9 +1374,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1369,9 +1375,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
if (d10 - d9 > Math.max(f2, Math.pow((double) (org.spigotmc.SpigotConfig.movedTooQuicklyMultiplier * (float) i * speed), 2)) && !this.isSingleplayerOwner()) {
// CraftBukkit end
@@ -51,7 +51,7 @@ index bb74c271acc02d4f750daeb05bc05b1d6f61ffeb..a51ba56ff7072a0fcaf7115486a61c2e
}
}
-@@ -1435,8 +1448,15 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1436,8 +1449,15 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
boolean flag2 = false;
if (!this.player.isChangingDimension() && d10 > org.spigotmc.SpigotConfig.movedWronglyThreshold && !this.player.isSleeping() && !this.player.gameMode.isCreative() && this.player.gameMode.getGameModeForPlayer() != GameType.SPECTATOR) { // Spigot
@@ -67,7 +67,7 @@ index bb74c271acc02d4f750daeb05bc05b1d6f61ffeb..a51ba56ff7072a0fcaf7115486a61c2e
}
// Paper start - optimise out extra getCubes
-@@ -1449,6 +1469,15 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1450,6 +1470,15 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
if (didCollide || !axisalignedbb.equals(newBox)) {
// note: only call after setLocation, or else getBoundingBox is wrong
teleportBack = this.hasNewCollision(worldserver, this.player, axisalignedbb, newBox);
@@ -83,7 +83,7 @@ index bb74c271acc02d4f750daeb05bc05b1d6f61ffeb..a51ba56ff7072a0fcaf7115486a61c2e
} // else: no collision at all detected, why do we care?
}
if (!this.player.noPhysics && !this.player.isSleeping() && teleportBack) { // Paper end - optimise out extra getCubes
-@@ -1537,6 +1566,18 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1538,6 +1567,18 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
}
diff --git a/patches/server/0975-Folia-scheduler-and-owned-region-API.patch b/patches/server/0975-Folia-scheduler-and-owned-region-API.patch
index 8ad6f6d87c..e06d6a5751 100644
--- a/patches/server/0975-Folia-scheduler-and-owned-region-API.patch
+++ b/patches/server/0975-Folia-scheduler-and-owned-region-API.patch
@@ -1158,7 +1158,7 @@ index 12bb0c619762ca9fc080ae884ce29de477dbcdc2..80919d247a9204ebf8d0e55df7fc6a24
this.players.remove(entityplayer);
this.playersByName.remove(entityplayer.getScoreboardName().toLowerCase(java.util.Locale.ROOT)); // Spigot
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index b28ee70aa98d6a8f3913e11084d0b4a9b09b5e26..80882abd35199f95610af16698aeb0fe61f8f455 100644
+index bf77b0dae2ca25437df7386d2196da24d681e2ed..4516991a4d1299d7e93019a4b9bc227b4844e9ef 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -246,11 +246,23 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -1224,10 +1224,10 @@ index b28ee70aa98d6a8f3913e11084d0b4a9b09b5e26..80882abd35199f95610af16698aeb0fe
public void setLevelCallback(EntityInLevelCallback changeListener) {
this.levelCallback = changeListener;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index a2a2260f52032c50d57c2031b41d05f052394866..e3f776c909c2d4ea4311ea98dad8476b7da1f44e 100644
+index 9d86b54a9945d4644f7920e06e5d04faaaa2e8c8..16906e8ba7d05275561d465a08b792137d284c4e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -308,6 +308,76 @@ public final class CraftServer implements Server {
+@@ -310,6 +310,76 @@ public final class CraftServer implements Server {
private final io.papermc.paper.logging.SysoutCatcher sysoutCatcher = new io.papermc.paper.logging.SysoutCatcher(); // Paper
private final CraftPotionBrewer potionBrewer = new CraftPotionBrewer(); // Paper
@@ -1305,7 +1305,7 @@ index a2a2260f52032c50d57c2031b41d05f052394866..e3f776c909c2d4ea4311ea98dad8476b
ConfigurationSerialization.registerClass(CraftOfflinePlayer.class);
ConfigurationSerialization.registerClass(CraftPlayerProfile.class);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
-index 9bd6d3be29b2f50bc91fa02382e34213f51337f5..8472b566bac933d2982683b01dac7eb5e3172192 100644
+index f02b6803e1fe9f3a18e47cd7b5e6776eb6fe183a..acdac5b9b9990b1f8c25effe6b8882746284d9d9 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -207,6 +207,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
diff --git a/patches/server/0977-API-for-updating-recipes-on-clients.patch b/patches/server/0977-API-for-updating-recipes-on-clients.patch
index aed3faf1ef..b900631d71 100644
--- a/patches/server/0977-API-for-updating-recipes-on-clients.patch
+++ b/patches/server/0977-API-for-updating-recipes-on-clients.patch
@@ -39,10 +39,10 @@ index 80919d247a9204ebf8d0e55df7fc6a2443ed91aa..3a70b7e1319c3ecab9eb720f8a1a34c0
Iterator iterator1 = this.players.iterator();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index e3f776c909c2d4ea4311ea98dad8476b7da1f44e..7b8f4eac4b7361415695170beae50465d6605a22 100644
+index 16906e8ba7d05275561d465a08b792137d284c4e..6a8f954f38007f47139da348a611e4eb2bc09289 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1131,6 +1131,18 @@ public final class CraftServer implements Server {
+@@ -1133,6 +1133,18 @@ public final class CraftServer implements Server {
ReloadCommand.reload(this.console);
}
@@ -61,7 +61,7 @@ index e3f776c909c2d4ea4311ea98dad8476b7da1f44e..7b8f4eac4b7361415695170beae50465
private void loadIcon() {
this.icon = new CraftIconCache(null);
try {
-@@ -1474,6 +1486,13 @@ public final class CraftServer implements Server {
+@@ -1476,6 +1488,13 @@ public final class CraftServer implements Server {
@Override
public boolean addRecipe(Recipe recipe) {
@@ -75,7 +75,7 @@ index e3f776c909c2d4ea4311ea98dad8476b7da1f44e..7b8f4eac4b7361415695170beae50465
CraftRecipe toAdd;
if (recipe instanceof CraftRecipe) {
toAdd = (CraftRecipe) recipe;
-@@ -1503,6 +1522,11 @@ public final class CraftServer implements Server {
+@@ -1505,6 +1524,11 @@ public final class CraftServer implements Server {
}
}
toAdd.addToCraftingManager();
@@ -87,7 +87,7 @@ index e3f776c909c2d4ea4311ea98dad8476b7da1f44e..7b8f4eac4b7361415695170beae50465
return true;
}
-@@ -1622,10 +1646,23 @@ public final class CraftServer implements Server {
+@@ -1685,10 +1709,23 @@ public final class CraftServer implements Server {
@Override
public boolean removeRecipe(NamespacedKey recipeKey) {
diff --git a/patches/server/0982-Use-correct-seed-on-api-world-load.patch b/patches/server/0982-Use-correct-seed-on-api-world-load.patch
index 63fc9c60eb..4d50d8dc21 100644
--- a/patches/server/0982-Use-correct-seed-on-api-world-load.patch
+++ b/patches/server/0982-Use-correct-seed-on-api-world-load.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Use correct seed on api world load
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 7b8f4eac4b7361415695170beae50465d6605a22..60e67c271fa2e85271fbbadaa794eb41d608093f 100644
+index 6a8f954f38007f47139da348a611e4eb2bc09289..1cad49d031580a7d5a2c8085ce44a0b0b4a5383f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1312,7 +1312,7 @@ public final class CraftServer implements Server {
+@@ -1314,7 +1314,7 @@ public final class CraftServer implements Server {
// Paper - move down
diff --git a/patches/server/0990-Deprecate-and-replace-methods-with-old-StructureType.patch b/patches/server/0990-Deprecate-and-replace-methods-with-old-StructureType.patch
index e45e0c150b..bb2f52c01e 100644
--- a/patches/server/0990-Deprecate-and-replace-methods-with-old-StructureType.patch
+++ b/patches/server/0990-Deprecate-and-replace-methods-with-old-StructureType.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Deprecate and replace methods with old StructureType
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 60e67c271fa2e85271fbbadaa794eb41d608093f..5f33d18234c055393255c9c3234c6688af7a455d 100644
+index 1cad49d031580a7d5a2c8085ce44a0b0b4a5383f..770bfdc6ce75e85e2ec94f62e2545e1bc47244ef 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1855,6 +1855,11 @@ public final class CraftServer implements Server {
+@@ -1918,6 +1918,11 @@ public final class CraftServer implements Server {
ServerLevel worldServer = ((CraftWorld) world).getHandle();
Location structureLocation = world.locateNearestStructure(location, structureType, radius, findUnexplored);
@@ -20,7 +20,7 @@ index 60e67c271fa2e85271fbbadaa794eb41d608093f..5f33d18234c055393255c9c3234c6688
BlockPos structurePosition = CraftLocation.toBlockPosition(structureLocation);
// Create map with trackPlayer = true, unlimitedTracking = true
-@@ -1865,6 +1870,31 @@ public final class CraftServer implements Server {
+@@ -1928,6 +1933,31 @@ public final class CraftServer implements Server {
return CraftItemStack.asBukkitCopy(stack);
}
diff --git a/patches/server/0991-Don-t-tab-complete-namespaced-commands-if-send-names.patch b/patches/server/0991-Don-t-tab-complete-namespaced-commands-if-send-names.patch
index a7e006f843..93fe609c51 100644
--- a/patches/server/0991-Don-t-tab-complete-namespaced-commands-if-send-names.patch
+++ b/patches/server/0991-Don-t-tab-complete-namespaced-commands-if-send-names.patch
@@ -11,10 +11,10 @@ This patch prevents server from sending namespaced commands when player
requests tab-complete only commands.
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index a51ba56ff7072a0fcaf7115486a61c2ea955e6c1..7afe0df01d5df4ed8025237d0aed220c32a3b7b2 100644
+index 2553942e143e5acd0dc6158434d160000a98ea8c..b016f84ed1e99286073daf148612896ae470d222 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -805,6 +805,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -806,6 +806,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
ParseResults parseresults = this.server.getCommands().getDispatcher().parse(stringreader, this.player.createCommandSourceStack());
this.server.getCommands().getDispatcher().getCompletionSuggestions(parseresults).thenAccept((suggestions) -> {
diff --git a/patches/server/0997-Expose-clicked-BlockFace-during-BlockDamageEvent.patch b/patches/server/0997-Expose-clicked-BlockFace-during-BlockDamageEvent.patch
index 4ab00d4010..1025d32935 100644
--- a/patches/server/0997-Expose-clicked-BlockFace-during-BlockDamageEvent.patch
+++ b/patches/server/0997-Expose-clicked-BlockFace-during-BlockDamageEvent.patch
@@ -18,10 +18,10 @@ index ee12ca53c7919d6d424c4306b90d25660eb14af6..cd57234a5f1131f48c9726f89262f253
if (blockEvent.isCancelled()) {
// Let the client know the block still exists
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 3ac67ef07f574eacc09d8dc966800cb94caea3c6..975f4fe01ce0c3f98c4467927242558a66bc19f3 100644
+index df3feea9ed025bd7be39dfe1f1e1fdc4c1e77035..f73588370d731b58fe7acd51dd9dd3a12b222add 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -650,13 +650,13 @@ public class CraftEventFactory {
+@@ -652,13 +652,13 @@ public class CraftEventFactory {
/**
* BlockDamageEvent
*/
diff --git a/patches/server/1002-Add-PlayerPickItemEvent.patch b/patches/server/1002-Add-PlayerPickItemEvent.patch
index e27b097e29..2a800c9ef9 100644
--- a/patches/server/1002-Add-PlayerPickItemEvent.patch
+++ b/patches/server/1002-Add-PlayerPickItemEvent.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add PlayerPickItemEvent
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 7afe0df01d5df4ed8025237d0aed220c32a3b7b2..8bca5ba75977c0a61197eb47c94f0456d66b29a4 100644
+index b016f84ed1e99286073daf148612896ae470d222..236ab643cdd65b3572860aedf1f5ac18ff96139a 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -942,7 +942,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -943,7 +943,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.disconnect("Invalid hotbar selection (Hacking?)", org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION); // Paper - kick event cause
return;
}
diff --git a/patches/server/1009-Add-titleOverride-to-InventoryOpenEvent.patch b/patches/server/1009-Add-titleOverride-to-InventoryOpenEvent.patch
index f9b2542b7c..c56b28040b 100644
--- a/patches/server/1009-Add-titleOverride-to-InventoryOpenEvent.patch
+++ b/patches/server/1009-Add-titleOverride-to-InventoryOpenEvent.patch
@@ -79,10 +79,10 @@ index 8a6095850cece3203eeae474dbf32090f698a32e..aefb9879b2edadfb4b21d80135d713b9
if (!player.isImmobile()) player.connection.send(new ClientboundOpenScreenPacket(container.containerId, windowType, io.papermc.paper.adventure.PaperAdventure.asVanilla(adventure$title))); // Paper
player.containerMenu = container;
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 975f4fe01ce0c3f98c4467927242558a66bc19f3..249e3f703ef1b40b5401f167d4c30faafb69bb5b 100644
+index f73588370d731b58fe7acd51dd9dd3a12b222add..5dc160b743534665c6b3efb10b10f7c36e2da5ab 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -1441,10 +1441,21 @@ public class CraftEventFactory {
+@@ -1443,10 +1443,21 @@ public class CraftEventFactory {
}
public static AbstractContainerMenu callInventoryOpenEvent(ServerPlayer player, AbstractContainerMenu container) {
@@ -105,7 +105,7 @@ index 975f4fe01ce0c3f98c4467927242558a66bc19f3..249e3f703ef1b40b5401f167d4c30faa
if (player.containerMenu != player.inventoryMenu) { // fire INVENTORY_CLOSE if one already open
player.connection.handleContainerClose(new ServerboundContainerClosePacket(player.containerMenu.containerId), InventoryCloseEvent.Reason.OPEN_NEW); // Paper
}
-@@ -1459,10 +1470,10 @@ public class CraftEventFactory {
+@@ -1461,10 +1472,10 @@ public class CraftEventFactory {
if (event.isCancelled()) {
container.transferTo(player.containerMenu, craftPlayer);
diff --git a/patches/server/1013-Add-slot-sanity-checks-in-container-clicks.patch b/patches/server/1013-Add-slot-sanity-checks-in-container-clicks.patch
index c9eb55f978..eb79d542ce 100644
--- a/patches/server/1013-Add-slot-sanity-checks-in-container-clicks.patch
+++ b/patches/server/1013-Add-slot-sanity-checks-in-container-clicks.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add slot sanity checks in container clicks
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 8bca5ba75977c0a61197eb47c94f0456d66b29a4..33be0db006cca66f38f2105924466b0210139848 100644
+index 236ab643cdd65b3572860aedf1f5ac18ff96139a..65bb221993147a558995b36fb835f7b82e0eb4bd 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -2980,6 +2980,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2981,6 +2981,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
break;
case SWAP:
if ((packet.getButtonNum() >= 0 && packet.getButtonNum() < 9) || packet.getButtonNum() == 40) {
diff --git a/patches/server/1047-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch b/patches/server/1048-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch
similarity index 100%
rename from patches/server/1047-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch
rename to patches/server/1048-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch
diff --git a/work/Bukkit b/work/Bukkit
index 19830133bd..fde5602a24 160000
--- a/work/Bukkit
+++ b/work/Bukkit
@@ -1 +1 @@
-Subproject commit 19830133bd8e6eab082ebbc24ec58a23f16a6d1f
+Subproject commit fde5602a24e30d563009378e8c9b08f693b148e2
diff --git a/work/CraftBukkit b/work/CraftBukkit
index 5a72c3c040..c8feb06296 160000
--- a/work/CraftBukkit
+++ b/work/CraftBukkit
@@ -1 +1 @@
-Subproject commit 5a72c3c040c8570ba6cb2286f3bc2a5de60ee909
+Subproject commit c8feb062965f97a637d2a3aa1f597f82251fcbbb