diff --git a/patches/api/0005-Adventure.patch b/patches/api/0005-Adventure.patch
index 9d59905be5..8202f4d33b 100644
--- a/patches/api/0005-Adventure.patch
+++ b/patches/api/0005-Adventure.patch
@@ -467,7 +467,7 @@ index 0000000000000000000000000000000000000000..15ecb12fd2fefcac96edbaef7cdd487a
+ }
+}
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index e1cd74a2fb53e054f626641d781e4ac57ea0ea8f..49df3d538413b305acdea8076de5f234cd0b07b9 100644
+index c15861905d7af679c4f6ffc27719a900b0fe4284..d5fdc57ffcfac4eb18d7fbf44ce13257915b4afb 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -357,7 +357,9 @@ public final class Bukkit {
@@ -480,7 +480,7 @@ index e1cd74a2fb53e054f626641d781e4ac57ea0ea8f..49df3d538413b305acdea8076de5f234
public static int broadcastMessage(@NotNull String message) {
return server.broadcastMessage(message);
}
-@@ -1039,6 +1041,19 @@ public final class Bukkit {
+@@ -1051,6 +1053,19 @@ public final class Bukkit {
server.shutdown();
}
@@ -500,7 +500,7 @@ index e1cd74a2fb53e054f626641d781e4ac57ea0ea8f..49df3d538413b305acdea8076de5f234
/**
* Broadcasts the specified message to every user with the given
* permission name.
-@@ -1048,6 +1063,21 @@ public final class Bukkit {
+@@ -1060,6 +1075,21 @@ public final class Bukkit {
* permissibles} must have to receive the broadcast
* @return number of message recipients
*/
@@ -522,7 +522,7 @@ index e1cd74a2fb53e054f626641d781e4ac57ea0ea8f..49df3d538413b305acdea8076de5f234
public static int broadcast(@NotNull String message, @NotNull String permission) {
return server.broadcast(message, permission);
}
-@@ -1286,6 +1316,7 @@ public final class Bukkit {
+@@ -1298,6 +1328,7 @@ public final class Bukkit {
return server.createInventory(owner, type);
}
@@ -530,7 +530,7 @@ index e1cd74a2fb53e054f626641d781e4ac57ea0ea8f..49df3d538413b305acdea8076de5f234
/**
* 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;
-@@ -1311,6 +1342,38 @@ public final class Bukkit {
+@@ -1323,6 +1354,38 @@ public final class Bukkit {
* @see InventoryType#isCreatable()
*/
@NotNull
@@ -569,7 +569,7 @@ index e1cd74a2fb53e054f626641d781e4ac57ea0ea8f..49df3d538413b305acdea8076de5f234
public static Inventory createInventory(@Nullable InventoryHolder owner, @NotNull InventoryType type, @NotNull String title) {
return server.createInventory(owner, type, title);
}
-@@ -1329,6 +1392,7 @@ public final class Bukkit {
+@@ -1341,6 +1404,7 @@ public final class Bukkit {
return server.createInventory(owner, size);
}
@@ -577,7 +577,7 @@ index e1cd74a2fb53e054f626641d781e4ac57ea0ea8f..49df3d538413b305acdea8076de5f234
/**
* Creates an empty inventory of type {@link InventoryType#CHEST} with the
* specified size and title.
-@@ -1341,10 +1405,30 @@ public final class Bukkit {
+@@ -1353,10 +1417,30 @@ public final class Bukkit {
* @throws IllegalArgumentException if the size is not a multiple of 9
*/
@NotNull
@@ -608,7 +608,7 @@ index e1cd74a2fb53e054f626641d781e4ac57ea0ea8f..49df3d538413b305acdea8076de5f234
/**
* Creates an empty merchant.
*
-@@ -1352,7 +1436,20 @@ public final class Bukkit {
+@@ -1364,7 +1448,20 @@ public final class Bukkit {
* when the merchant inventory is viewed
* @return a new merchant
*/
@@ -629,7 +629,7 @@ index e1cd74a2fb53e054f626641d781e4ac57ea0ea8f..49df3d538413b305acdea8076de5f234
public static Merchant createMerchant(@Nullable String title) {
return server.createMerchant(title);
}
-@@ -1458,22 +1555,47 @@ public final class Bukkit {
+@@ -1470,22 +1567,47 @@ public final class Bukkit {
return server.isPrimaryThread();
}
@@ -802,7 +802,7 @@ index 803fa0019869127ee8c7e4fb1777a59c43e66f8a..c65f0d6569c130b4920a9e71ad24af64
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 96819d13fa837c7374c5a13bdcad864c6744f0b5..e9859112a6896c7a7cb14fce545d91827a0e7730 100644
+index cf53aead2eb5a52f1505ca694e95108fce28aa18..14b078e8fa4347dd0e186e5847693904e4ceb9df 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -58,13 +58,13 @@ import org.jetbrains.annotations.Nullable;
@@ -840,7 +840,7 @@ index 96819d13fa837c7374c5a13bdcad864c6744f0b5..e9859112a6896c7a7cb14fce545d9182
public int broadcastMessage(@NotNull String message);
/**
-@@ -881,8 +883,33 @@ public interface Server extends PluginMessageRecipient {
+@@ -894,8 +896,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
@@ -874,7 +874,7 @@ index 96819d13fa837c7374c5a13bdcad864c6744f0b5..e9859112a6896c7a7cb14fce545d9182
/**
* Gets the player by the given name, regardless if they are offline or
-@@ -1080,6 +1107,7 @@ public interface Server extends PluginMessageRecipient {
+@@ -1093,6 +1120,7 @@ public interface Server extends PluginMessageRecipient {
@NotNull
Inventory createInventory(@Nullable InventoryHolder owner, @NotNull InventoryType type);
@@ -882,7 +882,7 @@ index 96819d13fa837c7374c5a13bdcad864c6744f0b5..e9859112a6896c7a7cb14fce545d9182
/**
* 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;
-@@ -1105,6 +1133,36 @@ public interface Server extends PluginMessageRecipient {
+@@ -1118,6 +1146,36 @@ public interface Server extends PluginMessageRecipient {
* @see InventoryType#isCreatable()
*/
@NotNull
@@ -919,7 +919,7 @@ index 96819d13fa837c7374c5a13bdcad864c6744f0b5..e9859112a6896c7a7cb14fce545d9182
Inventory createInventory(@Nullable InventoryHolder owner, @NotNull InventoryType type, @NotNull String title);
/**
-@@ -1119,6 +1177,22 @@ public interface Server extends PluginMessageRecipient {
+@@ -1132,6 +1190,22 @@ public interface Server extends PluginMessageRecipient {
@NotNull
Inventory createInventory(@Nullable InventoryHolder owner, int size) throws IllegalArgumentException;
@@ -942,7 +942,7 @@ index 96819d13fa837c7374c5a13bdcad864c6744f0b5..e9859112a6896c7a7cb14fce545d9182
/**
* Creates an empty inventory of type {@link InventoryType#CHEST} with the
* specified size and title.
-@@ -1129,10 +1203,13 @@ public interface Server extends PluginMessageRecipient {
+@@ -1142,10 +1216,13 @@ public interface Server extends PluginMessageRecipient {
* viewed
* @return a new inventory
* @throws IllegalArgumentException if the size is not a multiple of 9
@@ -956,7 +956,7 @@ index 96819d13fa837c7374c5a13bdcad864c6744f0b5..e9859112a6896c7a7cb14fce545d9182
/**
* Creates an empty merchant.
*
-@@ -1140,7 +1217,18 @@ public interface Server extends PluginMessageRecipient {
+@@ -1153,7 +1230,18 @@ public interface Server extends PluginMessageRecipient {
* when the merchant inventory is viewed
* @return a new merchant
*/
@@ -975,7 +975,7 @@ index 96819d13fa837c7374c5a13bdcad864c6744f0b5..e9859112a6896c7a7cb14fce545d9182
Merchant createMerchant(@Nullable String title);
/**
-@@ -1227,20 +1315,41 @@ public interface Server extends PluginMessageRecipient {
+@@ -1240,20 +1328,41 @@ public interface Server extends PluginMessageRecipient {
*/
boolean isPrimaryThread();
@@ -1017,7 +1017,7 @@ index 96819d13fa837c7374c5a13bdcad864c6744f0b5..e9859112a6896c7a7cb14fce545d9182
String getShutdownMessage();
/**
-@@ -1597,7 +1706,9 @@ public interface Server extends PluginMessageRecipient {
+@@ -1610,7 +1719,9 @@ public interface Server extends PluginMessageRecipient {
* Sends the component to the player
*
* @param component the components to send
@@ -1027,7 +1027,7 @@ index 96819d13fa837c7374c5a13bdcad864c6744f0b5..e9859112a6896c7a7cb14fce545d9182
public void broadcast(@NotNull net.md_5.bungee.api.chat.BaseComponent component) {
throw new UnsupportedOperationException("Not supported yet.");
}
-@@ -1606,7 +1717,9 @@ public interface Server extends PluginMessageRecipient {
+@@ -1619,7 +1730,9 @@ public interface Server extends PluginMessageRecipient {
* Sends an array of components as a single message to the player
*
* @param components the components to send
@@ -1578,10 +1578,10 @@ index 922d33ff4fa9d901d3c5c0a9f8399ad8aef62c37..cd287978c34873c7122794e4f3e76291
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 5015386d4cd7209a598401932e276077861cea62..29ed72d84b4c4cfcbae5613467076872e0a6871a 100644
+index e0f9ba3da29261823d48042b74a33acb9f48d597..dc7e32a6f3be974a1d9c367d6b0f840ce98aed8b 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -35,7 +35,28 @@ import org.jetbrains.annotations.Nullable;
+@@ -37,7 +37,28 @@ import org.jetbrains.annotations.Nullable;
/**
* Represents a player, connected or not
*/
@@ -1611,7 +1611,7 @@ index 5015386d4cd7209a598401932e276077861cea62..29ed72d84b4c4cfcbae5613467076872
/**
* Gets the "friendly" name to display of this player. This may include
-@@ -45,7 +66,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -47,7 +68,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* places defined by plugins.
*
* @return the friendly name
@@ -1621,7 +1621,7 @@ index 5015386d4cd7209a598401932e276077861cea62..29ed72d84b4c4cfcbae5613467076872
@NotNull
public String getDisplayName();
-@@ -57,15 +80,50 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -59,15 +82,50 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* places defined by plugins.
*
* @param name The new display name.
@@ -1672,7 +1672,7 @@ index 5015386d4cd7209a598401932e276077861cea62..29ed72d84b4c4cfcbae5613467076872
public String getPlayerListName();
/**
-@@ -74,14 +132,18 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -76,14 +134,18 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* If the value is null, the name will be identical to {@link #getName()}.
*
* @param name new player list name
@@ -1691,7 +1691,7 @@ index 5015386d4cd7209a598401932e276077861cea62..29ed72d84b4c4cfcbae5613467076872
@Nullable
public String getPlayerListHeader();
-@@ -89,7 +151,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -91,7 +153,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* Gets the currently displayed player list footer for this player.
*
* @return player list header or null
@@ -1701,7 +1701,7 @@ index 5015386d4cd7209a598401932e276077861cea62..29ed72d84b4c4cfcbae5613467076872
@Nullable
public String getPlayerListFooter();
-@@ -97,14 +161,18 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -99,14 +163,18 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* Sets the currently displayed player list header for this player.
*
* @param header player list header, null for empty
@@ -1720,7 +1720,7 @@ index 5015386d4cd7209a598401932e276077861cea62..29ed72d84b4c4cfcbae5613467076872
public void setPlayerListFooter(@Nullable String footer);
/**
-@@ -113,7 +181,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -115,7 +183,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*
* @param header player list header, null for empty
* @param footer player list footer, null for empty
@@ -1730,7 +1730,7 @@ index 5015386d4cd7209a598401932e276077861cea62..29ed72d84b4c4cfcbae5613467076872
public void setPlayerListHeaderFooter(@Nullable String header, @Nullable String footer);
/**
-@@ -151,9 +221,20 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -153,9 +223,20 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* Kicks player with custom kick message.
*
* @param message kick message
@@ -1751,7 +1751,7 @@ index 5015386d4cd7209a598401932e276077861cea62..29ed72d84b4c4cfcbae5613467076872
/**
* Says a message (or runs a command).
*
-@@ -498,6 +579,90 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -500,6 +581,90 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public void sendEquipmentChange(@NotNull LivingEntity entity, @NotNull EquipmentSlot slot, @NotNull ItemStack item);
@@ -1842,7 +1842,7 @@ index 5015386d4cd7209a598401932e276077861cea62..29ed72d84b4c4cfcbae5613467076872
/**
* Send a sign change. This fakes a sign change packet for a user at
* a certain location. This will not actually change the world in any way.
-@@ -512,7 +677,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -514,7 +679,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param lines the new text on the sign or null to clear it
* @throws IllegalArgumentException if location is null
* @throws IllegalArgumentException if lines is non-null and has a length less than 4
@@ -1852,7 +1852,7 @@ index 5015386d4cd7209a598401932e276077861cea62..29ed72d84b4c4cfcbae5613467076872
public void sendSignChange(@NotNull Location loc, @Nullable String[] lines) throws IllegalArgumentException;
/**
-@@ -531,7 +698,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -533,7 +700,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @throws IllegalArgumentException if location is null
* @throws IllegalArgumentException if dyeColor is null
* @throws IllegalArgumentException if lines is non-null and has a length less than 4
@@ -1862,7 +1862,7 @@ index 5015386d4cd7209a598401932e276077861cea62..29ed72d84b4c4cfcbae5613467076872
public void sendSignChange(@NotNull Location loc, @Nullable String[] lines, @NotNull DyeColor dyeColor) throws IllegalArgumentException;
/**
-@@ -551,7 +720,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -553,7 +722,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @throws IllegalArgumentException if location is null
* @throws IllegalArgumentException if dyeColor is null
* @throws IllegalArgumentException if lines is non-null and has a length less than 4
@@ -1872,7 +1872,7 @@ index 5015386d4cd7209a598401932e276077861cea62..29ed72d84b4c4cfcbae5613467076872
public void sendSignChange(@NotNull Location loc, @Nullable String[] lines, @NotNull DyeColor dyeColor, boolean hasGlowingText) throws IllegalArgumentException;
/**
-@@ -1026,6 +1197,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1028,6 +1199,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* pack correctly.
*
*
@@ -1880,7 +1880,7 @@ index 5015386d4cd7209a598401932e276077861cea62..29ed72d84b4c4cfcbae5613467076872
* @param url The URL from which the client will download the resource
* pack. The string must contain only US-ASCII characters and should
* be encoded as per RFC 1738.
-@@ -1039,8 +1211,57 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1041,8 +1213,57 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @throws IllegalArgumentException Thrown if the hash is not 20 bytes
* long.
*/
@@ -1938,7 +1938,7 @@ index 5015386d4cd7209a598401932e276077861cea62..29ed72d84b4c4cfcbae5613467076872
/**
* Request that the player's client download and switch resource packs.
*
-@@ -1115,6 +1336,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1117,6 +1338,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* pack correctly.
*
*
@@ -1946,7 +1946,7 @@ index 5015386d4cd7209a598401932e276077861cea62..29ed72d84b4c4cfcbae5613467076872
* @param url The URL from which the client will download the resource
* pack. The string must contain only US-ASCII characters and should
* be encoded as per RFC 1738.
-@@ -1130,8 +1352,57 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1132,8 +1354,57 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @throws IllegalArgumentException Thrown if the hash is not 20 bytes
* long.
*/
@@ -2004,7 +2004,7 @@ index 5015386d4cd7209a598401932e276077861cea62..29ed72d84b4c4cfcbae5613467076872
/**
* Gets the Scoreboard displayed to this player
*
-@@ -1225,7 +1496,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1249,7 +1520,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*
* @param title Title text
* @param subtitle Subtitle text
@@ -2013,7 +2013,7 @@ index 5015386d4cd7209a598401932e276077861cea62..29ed72d84b4c4cfcbae5613467076872
*/
@Deprecated
public void sendTitle(@Nullable String title, @Nullable String subtitle);
-@@ -1244,7 +1515,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1268,7 +1539,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param fadeIn time in ticks for titles to fade in. Defaults to 10.
* @param stay time in ticks for titles to stay. Defaults to 70.
* @param fadeOut time in ticks for titles to fade out. Defaults to 20.
@@ -2023,7 +2023,7 @@ index 5015386d4cd7209a598401932e276077861cea62..29ed72d84b4c4cfcbae5613467076872
public void sendTitle(@Nullable String title, @Nullable String subtitle, int fadeIn, int stay, int fadeOut);
/**
-@@ -1471,6 +1744,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1495,6 +1768,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public int getClientViewDistance();
@@ -2038,7 +2038,7 @@ index 5015386d4cd7209a598401932e276077861cea62..29ed72d84b4c4cfcbae5613467076872
/**
* Gets the player's estimated ping in milliseconds.
*
-@@ -1496,8 +1777,10 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1520,8 +1801,10 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* they wish.
*
* @return the player's locale
@@ -2049,7 +2049,7 @@ index 5015386d4cd7209a598401932e276077861cea62..29ed72d84b4c4cfcbae5613467076872
public String getLocale();
/**
-@@ -1539,6 +1822,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1563,6 +1846,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public boolean isAllowingServerListings();
@@ -2064,7 +2064,7 @@ index 5015386d4cd7209a598401932e276077861cea62..29ed72d84b4c4cfcbae5613467076872
// Spigot start
public class Spigot extends Entity.Spigot {
-@@ -1593,11 +1884,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1617,11 +1908,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
throw new UnsupportedOperationException("Not supported yet.");
}
@@ -2078,7 +2078,7 @@ index 5015386d4cd7209a598401932e276077861cea62..29ed72d84b4c4cfcbae5613467076872
@Override
public void sendMessage(@NotNull net.md_5.bungee.api.chat.BaseComponent... components) {
throw new UnsupportedOperationException("Not supported yet.");
-@@ -1608,7 +1901,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1632,7 +1925,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*
* @param position the screen position
* @param component the components to send
@@ -2088,7 +2088,7 @@ index 5015386d4cd7209a598401932e276077861cea62..29ed72d84b4c4cfcbae5613467076872
public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @NotNull net.md_5.bungee.api.chat.BaseComponent component) {
throw new UnsupportedOperationException("Not supported yet.");
}
-@@ -1618,7 +1913,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1642,7 +1937,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*
* @param position the screen position
* @param components the components to send
@@ -2098,7 +2098,7 @@ index 5015386d4cd7209a598401932e276077861cea62..29ed72d84b4c4cfcbae5613467076872
public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @NotNull net.md_5.bungee.api.chat.BaseComponent... components) {
throw new UnsupportedOperationException("Not supported yet.");
}
-@@ -1629,7 +1926,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1653,7 +1950,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param position the screen position
* @param sender the sender of the message
* @param component the components to send
@@ -2108,7 +2108,7 @@ index 5015386d4cd7209a598401932e276077861cea62..29ed72d84b4c4cfcbae5613467076872
public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @Nullable UUID sender, @NotNull net.md_5.bungee.api.chat.BaseComponent component) {
throw new UnsupportedOperationException("Not supported yet.");
}
-@@ -1640,7 +1939,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1664,7 +1963,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param position the screen position
* @param sender the sender of the message
* @param components the components to send
@@ -3307,10 +3307,10 @@ index 14346d83bc99581b18e53d19af03708c0bf22cf7..664de64b020cf9090a2fbee0afe2bfaf
public abstract String getTitle();
}
diff --git a/src/main/java/org/bukkit/inventory/ItemFactory.java b/src/main/java/org/bukkit/inventory/ItemFactory.java
-index 4ff149fd98895dd8ba45939a37c223b1f8d7281f..6cc4bad2ecd19f44a680ff03cbfb99d48ea5c337 100644
+index f89d71b77d1200314df6ca23614d5ca6fb15ceb3..af4a7ce37eb10bab06eadb6583c7894b3ec55ae6 100644
--- a/src/main/java/org/bukkit/inventory/ItemFactory.java
+++ b/src/main/java/org/bukkit/inventory/ItemFactory.java
-@@ -141,4 +141,24 @@ public interface ItemFactory {
+@@ -159,4 +159,24 @@ public interface ItemFactory {
@Deprecated
@NotNull
Material updateMaterial(@NotNull final ItemMeta meta, @NotNull final Material material) throws IllegalArgumentException;
@@ -3626,7 +3626,7 @@ index 94852d50e88d0594b84b581cd627174043629995..36bcbb3f3acedf7ebecbf6f6b358cf64
throw new UnsupportedOperationException("Not supported yet.");
}
diff --git a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
-index f2e9f2753ec92aa4a3e3f06ca6053bd70b9091d7..1c362636c56db0e6c118171ba367c43c4f7cff33 100644
+index 91eee1470f0969e9eef0753c0c700ae5354f1acc..69f68ca2d62c2cfe07a193776054c14c352a5942 100644
--- a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
+++ b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
@@ -31,6 +31,24 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
diff --git a/patches/api/0007-Timings-v2.patch b/patches/api/0007-Timings-v2.patch
index 2f20e2da3f..0b5f71ee6c 100644
--- a/patches/api/0007-Timings-v2.patch
+++ b/patches/api/0007-Timings-v2.patch
@@ -2792,10 +2792,10 @@ index 0000000000000000000000000000000000000000..5989ee21297935651b0edd44b8239e65
+ }
+}
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 49df3d538413b305acdea8076de5f234cd0b07b9..b1d770a62e499d909de4352303409fcfdc5d58a9 100644
+index d5fdc57ffcfac4eb18d7fbf44ce13257915b4afb..35de49ea52b507dd925ed3c118518a335035a710 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -789,7 +789,6 @@ public final class Bukkit {
+@@ -801,7 +801,6 @@ public final class Bukkit {
*/
public static void reload() {
server.reload();
@@ -2804,10 +2804,10 @@ index 49df3d538413b305acdea8076de5f234cd0b07b9..b1d770a62e499d909de4352303409fcf
/**
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index e9859112a6896c7a7cb14fce545d91827a0e7730..465a7f5312a5d5b65f7366f476b7c42795f53105 100644
+index 14b078e8fa4347dd0e186e5847693904e4ceb9df..bbb4eb3c4e46ade7dd939c2b0e4436161d6f8a1e 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1702,6 +1702,26 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1715,6 +1715,26 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
throw new UnsupportedOperationException("Not supported yet.");
}
@@ -3393,10 +3393,10 @@ index 2a145d851ce30360aa39549745bd87590c034584..00000000000000000000000000000000
- // Spigot end
-}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 29ed72d84b4c4cfcbae5613467076872e0a6871a..ac7a076d92bfb1d9c6ce8836d08e11f52befabc3 100644
+index dc7e32a6f3be974a1d9c367d6b0f840ce98aed8b..71e696eadf7c9290791c8b50d666dc501621f24e 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1944,7 +1944,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1968,7 +1968,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@Deprecated // Paper
public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @Nullable UUID sender, @NotNull net.md_5.bungee.api.chat.BaseComponent... components) {
throw new UnsupportedOperationException("Not supported yet.");
diff --git a/patches/api/0009-Player-affects-spawning-API.patch b/patches/api/0009-Player-affects-spawning-API.patch
index 0f80cfd6ca..9e309395bb 100644
--- a/patches/api/0009-Player-affects-spawning-API.patch
+++ b/patches/api/0009-Player-affects-spawning-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Player affects spawning API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index ac7a076d92bfb1d9c6ce8836d08e11f52befabc3..fb071f098989c797e9766f2e6f9cf87a57265d31 100644
+index 71e696eadf7c9290791c8b50d666dc501621f24e..4b24f217742497c0674952eb4eb73f00a0ce4069 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1783,6 +1783,22 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1807,6 +1807,22 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@Deprecated // Paper
public String getLocale();
diff --git a/patches/api/0010-Add-getTPS-method.patch b/patches/api/0010-Add-getTPS-method.patch
index de1cff7f40..2ff7c792ea 100644
--- a/patches/api/0010-Add-getTPS-method.patch
+++ b/patches/api/0010-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 fc7d17fd3028f790ff9e034e8234bf0506f017c2..f5d697e759700b10237494f2587939eea365ab3a 100644
+index 5c6b7f5095a5bb7290e1edefb0c9e985123f80d8..595d368bc88b6217f1fb2e074de7fd5b07fa96df 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -1833,6 +1833,17 @@ public final class Bukkit {
+@@ -1845,6 +1845,17 @@ public final class Bukkit {
return server.getEntity(uuid);
}
@@ -27,10 +27,10 @@ index fc7d17fd3028f790ff9e034e8234bf0506f017c2..f5d697e759700b10237494f2587939ee
* 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 dd79325a8f52190c44b833870043d167641211a6..a4ec6dae0b6302b6486bb5105438ef8322b433be 100644
+index 1dedbea03e259679e101a8443b662b20375adfd0..5aa2040dc51f65ad57329a5a235a22c50c62f1b2 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1554,6 +1554,16 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1567,6 +1567,16 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@Nullable
Entity getEntity(@NotNull UUID uuid);
diff --git a/patches/api/0014-Add-view-distance-API.patch b/patches/api/0014-Add-view-distance-API.patch
index ffc907e16e..2d0fd34e74 100644
--- a/patches/api/0014-Add-view-distance-API.patch
+++ b/patches/api/0014-Add-view-distance-API.patch
@@ -75,10 +75,10 @@ index cf6fe1b5a1531e8d30c0386e36c023d003458b7e..ad342ecd8b86903276c62644624cff55
public class Spigot {
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index fb071f098989c797e9766f2e6f9cf87a57265d31..135a928dd24cebf8741e2961db1b7ca710d41b64 100644
+index 4b24f217742497c0674952eb4eb73f00a0ce4069..621ab05b0cecc8c21c5bcac8956082d138a006ae 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1797,6 +1797,78 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1821,6 +1821,78 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param affects Whether the player can affect mob spawning
*/
public void setAffectsSpawning(boolean affects);
diff --git a/patches/api/0018-Expose-server-CommandMap.patch b/patches/api/0018-Expose-server-CommandMap.patch
index 5008aee8ac..488de814da 100644
--- a/patches/api/0018-Expose-server-CommandMap.patch
+++ b/patches/api/0018-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 f5d697e759700b10237494f2587939eea365ab3a..b9bdd75beb5888bde6f6486a785d45cb61da4b8a 100644
+index 595d368bc88b6217f1fb2e074de7fd5b07fa96df..4486e8ddcfc3aa1403bbfce28c0356c174709a9b 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2017,6 +2017,19 @@ public final class Bukkit {
+@@ -2029,6 +2029,19 @@ public final class Bukkit {
return server.getUnsafe();
}
@@ -29,10 +29,10 @@ index f5d697e759700b10237494f2587939eea365ab3a..b9bdd75beb5888bde6f6486a785d45cb
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 a4ec6dae0b6302b6486bb5105438ef8322b433be..94f242adad348f8a33e7d319d1835d6eba584c2b 100644
+index 5aa2040dc51f65ad57329a5a235a22c50c62f1b2..96d6b49d609142fe93d5d07e65dd126adb5c2bde 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1564,6 +1564,15 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1577,6 +1577,15 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
public double[] getTPS();
// Paper end
diff --git a/patches/api/0019-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch b/patches/api/0019-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch
index e45bb551ba..4a12256c33 100644
--- a/patches/api/0019-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch
+++ b/patches/api/0019-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch
@@ -6,7 +6,7 @@ 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 b9bdd75beb5888bde6f6486a785d45cb61da4b8a..bd010258807bac5c495671052b143063ad784577 100644
+index 4486e8ddcfc3aa1403bbfce28c0356c174709a9b..1bd3780f8331074b24f9f4e2bbeeb2b37514aaa3 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -378,6 +378,30 @@ public final class Bukkit {
@@ -41,7 +41,7 @@ index b9bdd75beb5888bde6f6486a785d45cb61da4b8a..bd010258807bac5c495671052b143063
* 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 94f242adad348f8a33e7d319d1835d6eba584c2b..d75b565774948cb3ae89775b0e3e42ae9358004b 100644
+index 96d6b49d609142fe93d5d07e65dd126adb5c2bde..75bc4937f7a895c1bbf0a0800035ad8f7e0c5f46 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -311,6 +311,30 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -76,10 +76,10 @@ index 94f242adad348f8a33e7d319d1835d6eba584c2b..d75b565774948cb3ae89775b0e3e42ae
* 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/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 2d93f5ad7f9c0df08bcd099a813c1d8e9b8c16eb..365b2e806d9219d9dc2d2e85cc442b03af812b8d 100644
+index 621ab05b0cecc8c21c5bcac8956082d138a006ae..9d26a1ed696d78895df216b3f94d419963b4b1c6 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -733,6 +733,42 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -735,6 +735,42 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public void sendMap(@NotNull MapView map);
diff --git a/patches/api/0023-Player-Tab-List-and-Title-APIs.patch b/patches/api/0023-Player-Tab-List-and-Title-APIs.patch
index 10ffd8d4b5..1715fd62e1 100644
--- a/patches/api/0023-Player-Tab-List-and-Title-APIs.patch
+++ b/patches/api/0023-Player-Tab-List-and-Title-APIs.patch
@@ -432,7 +432,7 @@ index 0000000000000000000000000000000000000000..9e90c3df567a65b48a0b9341f784eb90
+ }
+}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 77a3bb82f90a7779f98246ceecc150d4417043e7..8c7c7ce6bf12d14300067cc64cbdeb9e7d984629 100644
+index 9d26a1ed696d78895df216b3f94d419963b4b1c6..f7acb33e31172eed213801acf54ce6e88042f70d 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -2,6 +2,7 @@ package org.bukkit.entity;
@@ -443,7 +443,7 @@ index 77a3bb82f90a7779f98246ceecc150d4417043e7..8c7c7ce6bf12d14300067cc64cbdeb9e
import org.bukkit.DyeColor;
import org.bukkit.Effect;
import org.bukkit.GameMode;
-@@ -767,6 +768,131 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -769,6 +770,131 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
public default void sendMessage(net.md_5.bungee.api.ChatMessageType position, net.md_5.bungee.api.chat.BaseComponent... components) {
spigot().sendMessage(position, components);
}
diff --git a/patches/api/0025-Complete-resource-pack-API.patch b/patches/api/0025-Complete-resource-pack-API.patch
index c96a1bae38..7a78908fcc 100644
--- a/patches/api/0025-Complete-resource-pack-API.patch
+++ b/patches/api/0025-Complete-resource-pack-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Complete resource pack API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 983070a0d83808cf710aa407a1912e94b52fbe5c..fd288cc72e048c6277d78c6fb1cc9b6284f67ee9 100644
+index f7acb33e31172eed213801acf54ce6e88042f70d..89ffcc20e94d166397f5794ee14515051c790dc4 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1284,7 +1284,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1286,7 +1286,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @throws IllegalArgumentException Thrown if the URL is null.
* @throws IllegalArgumentException Thrown if the URL is too long. The
* length restriction is an implementation specific arbitrary value.
@@ -18,7 +18,7 @@ index 983070a0d83808cf710aa407a1912e94b52fbe5c..fd288cc72e048c6277d78c6fb1cc9b62
public void setResourcePack(@NotNull String url);
/**
-@@ -2078,6 +2080,124 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2102,6 +2104,124 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
default net.kyori.adventure.text.event.HoverEvent asHoverEvent(final @NotNull java.util.function.UnaryOperator op) {
return net.kyori.adventure.text.event.HoverEvent.showEntity(op.apply(net.kyori.adventure.text.event.HoverEvent.ShowEntity.of(this.getType().getKey(), this.getUniqueId(), this.displayName())));
}
diff --git a/patches/api/0029-Add-command-to-reload-permissions.yml-and-require-co.patch b/patches/api/0029-Add-command-to-reload-permissions.yml-and-require-co.patch
index 68ff8c186f..acdf609209 100644
--- a/patches/api/0029-Add-command-to-reload-permissions.yml-and-require-co.patch
+++ b/patches/api/0029-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 bd010258807bac5c495671052b143063ad784577..8f0d38bb51be1ae0eda8b59ed2edb546f646b58b 100644
+index 1bd3780f8331074b24f9f4e2bbeeb2b37514aaa3..2b3ced048a48f660ca0859425583d342e7847744 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2052,6 +2052,13 @@ public final class Bukkit {
+@@ -2064,6 +2064,13 @@ public final class Bukkit {
public static org.bukkit.command.CommandMap getCommandMap() {
return server.getCommandMap();
}
@@ -24,10 +24,10 @@ index bd010258807bac5c495671052b143063ad784577..8f0d38bb51be1ae0eda8b59ed2edb546
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index d75b565774948cb3ae89775b0e3e42ae9358004b..51ee632dbc8efabeff9745945c2caed0f6f83f13 100644
+index 75bc4937f7a895c1bbf0a0800035ad8f7e0c5f46..be5f25a51a12082cb6732445c221d61246da89e9 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1810,4 +1810,6 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1823,4 +1823,6 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@NotNull
Spigot spigot();
// Spigot end
diff --git a/patches/api/0042-Allow-Reloading-of-Command-Aliases.patch b/patches/api/0042-Allow-Reloading-of-Command-Aliases.patch
index 554afcb063..13b14fe769 100644
--- a/patches/api/0042-Allow-Reloading-of-Command-Aliases.patch
+++ b/patches/api/0042-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 8f0d38bb51be1ae0eda8b59ed2edb546f646b58b..33a76ef6a5e17ced24f421f4122f0565eca6274c 100644
+index 2b3ced048a48f660ca0859425583d342e7847744..012b656a43cc0cf33597b835d045f8b5f3d309dd 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2059,6 +2059,15 @@ public final class Bukkit {
+@@ -2071,6 +2071,15 @@ public final class Bukkit {
public static void reloadPermissions() {
server.reloadPermissions();
}
@@ -26,10 +26,10 @@ index 8f0d38bb51be1ae0eda8b59ed2edb546f646b58b..33a76ef6a5e17ced24f421f4122f0565
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 51ee632dbc8efabeff9745945c2caed0f6f83f13..a88574d8a0debbfc6c3999b5a7f968eb0b5da9ec 100644
+index be5f25a51a12082cb6732445c221d61246da89e9..9c1cd95e125b1d7677daea1575a466a1b955053a 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1812,4 +1812,6 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1825,4 +1825,6 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
// Spigot end
void reloadPermissions(); // Paper
diff --git a/patches/api/0045-Add-String-based-Action-Bar-API.patch b/patches/api/0045-Add-String-based-Action-Bar-API.patch
index 1e5f4f4d85..e4f0af1d23 100644
--- a/patches/api/0045-Add-String-based-Action-Bar-API.patch
+++ b/patches/api/0045-Add-String-based-Action-Bar-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add String based Action Bar API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index fd288cc72e048c6277d78c6fb1cc9b6284f67ee9..2a4cbda6cf881b850c293e54c142c3fe7a5165bd 100644
+index 89ffcc20e94d166397f5794ee14515051c790dc4..a8ace9646ebcb70a5247a7d25c411a0bcf2d9185 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -3,6 +3,7 @@ package org.bukkit.entity;
@@ -16,7 +16,7 @@ index fd288cc72e048c6277d78c6fb1cc9b6284f67ee9..2a4cbda6cf881b850c293e54c142c3fe
import org.bukkit.DyeColor;
import org.bukkit.Effect;
import org.bukkit.GameMode;
-@@ -735,6 +736,39 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -737,6 +738,39 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
public void sendMap(@NotNull MapView map);
// Paper start
@@ -56,7 +56,7 @@ index fd288cc72e048c6277d78c6fb1cc9b6284f67ee9..2a4cbda6cf881b850c293e54c142c3fe
/**
* Sends the component to the player
*
-@@ -762,9 +796,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -764,9 +798,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
/**
* Sends an array of components as a single message to the specified screen position of this player
*
@@ -68,7 +68,7 @@ index fd288cc72e048c6277d78c6fb1cc9b6284f67ee9..2a4cbda6cf881b850c293e54c142c3fe
public default void sendMessage(net.md_5.bungee.api.ChatMessageType position, net.md_5.bungee.api.chat.BaseComponent... components) {
spigot().sendMessage(position, components);
}
-@@ -2269,6 +2305,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2293,6 +2329,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
/**
* Sends the component to the specified screen position of this player
*
@@ -76,7 +76,7 @@ index fd288cc72e048c6277d78c6fb1cc9b6284f67ee9..2a4cbda6cf881b850c293e54c142c3fe
* @param position the screen position
* @param component the components to send
* @deprecated use {@code sendMessage} methods that accept {@link net.kyori.adventure.text.Component}
-@@ -2281,6 +2318,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2305,6 +2342,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
/**
* Sends an array of components as a single message to the specified screen position of this player
*
diff --git a/patches/api/0052-Expose-WorldBorder-isInBounds-Location-check.patch b/patches/api/0052-Expose-WorldBorder-isInBounds-Location-check.patch
index f700226be3..16c0232c1b 100644
--- a/patches/api/0052-Expose-WorldBorder-isInBounds-Location-check.patch
+++ b/patches/api/0052-Expose-WorldBorder-isInBounds-Location-check.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Expose WorldBorder#isInBounds(Location) check
diff --git a/src/main/java/org/bukkit/WorldBorder.java b/src/main/java/org/bukkit/WorldBorder.java
-index 7e8f5649ce0eb0090899514b1e228601eb644613..afb7b136b461202026290624836446cff9f9e45d 100644
+index 95bb16185514e0b894f407028997ce7d4504f8fb..238b9e2309d633623d35a1dbded6edadf20831f3 100644
--- a/src/main/java/org/bukkit/WorldBorder.java
+++ b/src/main/java/org/bukkit/WorldBorder.java
-@@ -117,4 +117,18 @@ public interface WorldBorder {
+@@ -127,4 +127,18 @@ public interface WorldBorder {
* @return if this location is inside the border or not
*/
public boolean isInside(@NotNull Location location);
diff --git a/patches/api/0053-Add-configuration-option-to-prevent-player-names-fro.patch b/patches/api/0053-Add-configuration-option-to-prevent-player-names-fro.patch
index 493d2e39ef..502ccafbb0 100644
--- a/patches/api/0053-Add-configuration-option-to-prevent-player-names-fro.patch
+++ b/patches/api/0053-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 33a76ef6a5e17ced24f421f4122f0565eca6274c..0da4b67ee4406995692ded99e0f0de51fd78ded2 100644
+index 012b656a43cc0cf33597b835d045f8b5f3d309dd..a5868c0bdee345195e279467b526d5d9ff7f64d2 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2068,6 +2068,16 @@ public final class Bukkit {
+@@ -2080,6 +2080,16 @@ public final class Bukkit {
public static boolean reloadCommandAliases() {
return server.reloadCommandAliases();
}
@@ -27,10 +27,10 @@ index 33a76ef6a5e17ced24f421f4122f0565eca6274c..0da4b67ee4406995692ded99e0f0de51
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index a88574d8a0debbfc6c3999b5a7f968eb0b5da9ec..481548001744493fe477ef0713acbef86ccf6718 100644
+index 9c1cd95e125b1d7677daea1575a466a1b955053a..acd69a5d946974e0b50439a98712750698768ce5 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1814,4 +1814,14 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1827,4 +1827,14 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
void reloadPermissions(); // Paper
boolean reloadCommandAliases(); // Paper
diff --git a/patches/api/0054-Fix-upstream-javadocs.patch b/patches/api/0054-Fix-upstream-javadocs.patch
index edc922b62a..a9c04377b3 100644
--- a/patches/api/0054-Fix-upstream-javadocs.patch
+++ b/patches/api/0054-Fix-upstream-javadocs.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Fix upstream javadocs
Upstream still refuses to use Java 8 with the API so they are likely unaware these are even issues.
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 0da4b67ee4406995692ded99e0f0de51fd78ded2..b175f07b99a07ba50c4721c38f9e6330f02942f8 100644
+index a5868c0bdee345195e279467b526d5d9ff7f64d2..ece84330d2700db8708d2ae2ab7badf4acb428a8 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -1299,6 +1299,8 @@ public final class Bukkit {
+@@ -1311,6 +1311,8 @@ public final class Bukkit {
/**
* Gets every player that has ever played on this server.
@@ -19,10 +19,10 @@ index 0da4b67ee4406995692ded99e0f0de51fd78ded2..b175f07b99a07ba50c4721c38f9e6330
* @return an array containing all previous players
*/
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 481548001744493fe477ef0713acbef86ccf6718..24e68d5cb4f713984b25ab19330cb77f1eddb5cf 100644
+index acd69a5d946974e0b50439a98712750698768ce5..3c987b2fb0f748ce92a87c4ee54a4e9722e1910e 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1097,6 +1097,8 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1110,6 +1110,8 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
/**
* Gets every player that has ever played on this server.
@@ -76,10 +76,10 @@ index be9334a8b5fba9181ad63c211697e798be63da25..0514a141cb93a650be38c63d4336d46e
* Instructs this Mob to set the specified LivingEntity as its target.
*
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 2a4cbda6cf881b850c293e54c142c3fe7a5165bd..9eb3903ec290cb43f129f44c6ef0cd99b5769b5f 100644
+index a8ace9646ebcb70a5247a7d25c411a0bcf2d9185..f32eaa35d9152564300455a24c811e15d3ab694f 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -753,7 +753,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -755,7 +755,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*
* Use supplied alternative character to the section symbol to represent legacy color codes.
*
diff --git a/patches/api/0058-Basic-PlayerProfile-API.patch b/patches/api/0058-Basic-PlayerProfile-API.patch
index f297192047..118997f906 100644
--- a/patches/api/0058-Basic-PlayerProfile-API.patch
+++ b/patches/api/0058-Basic-PlayerProfile-API.patch
@@ -289,10 +289,10 @@ index 0000000000000000000000000000000000000000..7b3b6ef533d32169fbeca389bd61cfc6
+ }
+}
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index b175f07b99a07ba50c4721c38f9e6330f02942f8..88720b2fa92f387714c11a11cba8c9bf0a25e797 100644
+index ece84330d2700db8708d2ae2ab7badf4acb428a8..621420d35378e0038c33892c185216894912f023 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2080,6 +2080,50 @@ public final class Bukkit {
+@@ -2092,6 +2092,50 @@ public final class Bukkit {
public static boolean suggestPlayerNamesWhenNullTabCompletions() {
return server.suggestPlayerNamesWhenNullTabCompletions();
}
@@ -344,10 +344,10 @@ index b175f07b99a07ba50c4721c38f9e6330f02942f8..88720b2fa92f387714c11a11cba8c9bf
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 24e68d5cb4f713984b25ab19330cb77f1eddb5cf..29886928ab33edf9965b93e89482a84bd82e4fd2 100644
+index 3c987b2fb0f748ce92a87c4ee54a4e9722e1910e..58c8e74b61dd4d952919a854a374ae7b4c3e02c0 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1825,5 +1825,43 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1838,5 +1838,43 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
* @return true if player names should be suggested
*/
boolean suggestPlayerNamesWhenNullTabCompletions();
diff --git a/patches/api/0064-Add-getI18NDisplayName-API.patch b/patches/api/0064-Add-getI18NDisplayName-API.patch
index 411737ce64..fb8ea0c1b3 100644
--- a/patches/api/0064-Add-getI18NDisplayName-API.patch
+++ b/patches/api/0064-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 6cc4bad2ecd19f44a680ff03cbfb99d48ea5c337..e301d477c4839c27854293998ae235b91c9c46e5 100644
+index af4a7ce37eb10bab06eadb6583c7894b3ec55ae6..159e5a908b35b84b7fabc36581e093d9aa4c4b67 100644
--- a/src/main/java/org/bukkit/inventory/ItemFactory.java
+++ b/src/main/java/org/bukkit/inventory/ItemFactory.java
-@@ -160,5 +160,19 @@ public interface ItemFactory {
+@@ -178,5 +178,19 @@ public interface ItemFactory {
*/
@NotNull
net.kyori.adventure.text.Component displayName(@NotNull ItemStack itemStack);
diff --git a/patches/api/0065-ensureServerConversions-API.patch b/patches/api/0065-ensureServerConversions-API.patch
index 9d91210ca6..1b98ab5bf3 100644
--- a/patches/api/0065-ensureServerConversions-API.patch
+++ b/patches/api/0065-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 28b410f4f68359281c9f9049639d97d38442f0ce..b0b43b3f42a11bb8fdb3d728f57b5fc462b0e9ab 100644
+index 159e5a908b35b84b7fabc36581e093d9aa4c4b67..66ffc658dba85942f179760dc6c50258e24ab903 100644
--- a/src/main/java/org/bukkit/inventory/ItemFactory.java
+++ b/src/main/java/org/bukkit/inventory/ItemFactory.java
-@@ -174,5 +174,17 @@ public interface ItemFactory {
+@@ -192,5 +192,17 @@ public interface ItemFactory {
@Nullable
@Deprecated
String getI18NDisplayName(@Nullable ItemStack item);
@@ -29,7 +29,7 @@ index 28b410f4f68359281c9f9049639d97d38442f0ce..b0b43b3f42a11bb8fdb3d728f57b5fc4
// Paper end
}
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
-index de5bcdb7b84acdd5e22500e367df292f35a86e19..e8783b0116f4efd5447a5f6f260506000983ffd2 100644
+index dfd16531926e639231e93cb295de3d802d17413d..2581117ded5d91070bc9416eee53383e915a1564 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
@@ -536,7 +536,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor
diff --git a/patches/api/0076-Expose-client-protocol-version-and-virtual-host.patch b/patches/api/0076-Expose-client-protocol-version-and-virtual-host.patch
index ccdebefb9f..59e686d430 100644
--- a/patches/api/0076-Expose-client-protocol-version-and-virtual-host.patch
+++ b/patches/api/0076-Expose-client-protocol-version-and-virtual-host.patch
@@ -57,10 +57,10 @@ index 0000000000000000000000000000000000000000..7b2af1bd72dfbcf4e962a982940fc49b
+
+}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 48b127cafe6fecb1849b176df43cbf26e5a1db79..b621f693379aedc23a90b03e724ba8a2ffeb283e 100644
+index f32eaa35d9152564300455a24c811e15d3ab694f..204c337558e84304de4f511473be8cccb2a8cd4f 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -37,7 +37,7 @@ import org.jetbrains.annotations.Nullable;
+@@ -39,7 +39,7 @@ import org.jetbrains.annotations.Nullable;
/**
* Represents a player, connected or not
*/
diff --git a/patches/api/0080-Ability-to-apply-mending-to-XP-API.patch b/patches/api/0080-Ability-to-apply-mending-to-XP-API.patch
index baf5abaf0d..23ea47a6dd 100644
--- a/patches/api/0080-Ability-to-apply-mending-to-XP-API.patch
+++ b/patches/api/0080-Ability-to-apply-mending-to-XP-API.patch
@@ -10,10 +10,10 @@ of giving the player experience points.
Both an API To standalone mend, and apply mending logic to .giveExp has been added.
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index d62f48e83e5e620d9dd9b82249e97f77509c0a0a..b68f2774e4f88e905cc195df6d1592d96103df7a 100644
+index 204c337558e84304de4f511473be8cccb2a8cd4f..cb7bce8072dfcccfc3aba8f85d7d722faf560a55 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1019,12 +1019,33 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1021,12 +1021,33 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public void resetPlayerWeather();
diff --git a/patches/api/0091-Player.setPlayerProfile-API.patch b/patches/api/0091-Player.setPlayerProfile-API.patch
index 11f8abec7d..fdbd2364a1 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 aae3eec8d28a0047bc590ecc55d87d11ee6d08f0..64cdb9d4e3007f67763f8decdd0c9645d6641597 100644
+index 621420d35378e0038c33892c185216894912f023..82387e0c8477f5baa6bd473505b0e0aad6e78268 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -1166,6 +1166,7 @@ public final class Bukkit {
+@@ -1178,6 +1178,7 @@ public final class Bukkit {
* null
and the name is null
or blank
*/
@NotNull
@@ -17,7 +17,7 @@ index aae3eec8d28a0047bc590ecc55d87d11ee6d08f0..64cdb9d4e3007f67763f8decdd0c9645
public static PlayerProfile createPlayerProfile(@Nullable UUID uniqueId, @Nullable String name) {
return server.createPlayerProfile(uniqueId, name);
}
-@@ -1178,6 +1179,7 @@ public final class Bukkit {
+@@ -1190,6 +1191,7 @@ public final class Bukkit {
* @throws IllegalArgumentException if the unique id is null
*/
@NotNull
@@ -25,7 +25,7 @@ index aae3eec8d28a0047bc590ecc55d87d11ee6d08f0..64cdb9d4e3007f67763f8decdd0c9645
public static PlayerProfile createPlayerProfile(@NotNull UUID uniqueId) {
return server.createPlayerProfile(uniqueId);
}
-@@ -1191,6 +1193,7 @@ public final class Bukkit {
+@@ -1203,6 +1205,7 @@ public final class Bukkit {
* blank
*/
@NotNull
@@ -34,10 +34,10 @@ index aae3eec8d28a0047bc590ecc55d87d11ee6d08f0..64cdb9d4e3007f67763f8decdd0c9645
return server.createPlayerProfile(name);
}
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 51c96a0b6645cf31f4ca051f6a8c75b5f188484c..80d474a979add473c99692ccde93439db3774537 100644
+index 58c8e74b61dd4d952919a854a374ae7b4c3e02c0..e196903e2e4d619603f445713cee36ea402fc55e 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -990,6 +990,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1003,6 +1003,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
* null
and the name is null
or blank
*/
@NotNull
@@ -45,7 +45,7 @@ index 51c96a0b6645cf31f4ca051f6a8c75b5f188484c..80d474a979add473c99692ccde93439d
PlayerProfile createPlayerProfile(@Nullable UUID uniqueId, @Nullable String name);
/**
-@@ -1000,6 +1001,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1013,6 +1014,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
* @throws IllegalArgumentException if the unique id is null
*/
@NotNull
@@ -53,7 +53,7 @@ index 51c96a0b6645cf31f4ca051f6a8c75b5f188484c..80d474a979add473c99692ccde93439d
PlayerProfile createPlayerProfile(@NotNull UUID uniqueId);
/**
-@@ -1011,6 +1013,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1024,6 +1026,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
* blank
*/
@NotNull
@@ -62,10 +62,10 @@ index 51c96a0b6645cf31f4ca051f6a8c75b5f188484c..80d474a979add473c99692ccde93439d
/**
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index a22519fdf3bad46ac5d96546a755f453e7503506..30813ac7fbfbefe221bec334cf257862da5b4e1c 100644
+index cb7bce8072dfcccfc3aba8f85d7d722faf560a55..3ec3b05acb30432b9e16d8a2028ae587850fec75 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -2255,6 +2255,20 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2279,6 +2279,20 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* was {@link org.bukkit.event.player.PlayerResourcePackStatusEvent.Status#SUCCESSFULLY_LOADED}
*/
boolean hasResourcePack();
diff --git a/patches/api/0094-Add-openSign-method-to-HumanEntity.patch b/patches/api/0094-Add-openSign-method-to-HumanEntity.patch
index a768663766..1b2ab81601 100644
--- a/patches/api/0094-Add-openSign-method-to-HumanEntity.patch
+++ b/patches/api/0094-Add-openSign-method-to-HumanEntity.patch
@@ -24,10 +24,10 @@ index 8a479c7dfd3825fab8bb057d8afa5ae0cb01b071..6ef0d7f3dcb779fb7dc5786e74332620
/**
* Make the entity drop the item in their hand.
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 30813ac7fbfbefe221bec334cf257862da5b4e1c..49c1cbef4f1b7e9e52a3a0c262c773caf79323ba 100644
+index 3ec3b05acb30432b9e16d8a2028ae587850fec75..18ce1833e8fa2c255b915755ef6d3d61e4d0007f 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -2110,7 +2110,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2134,7 +2134,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
/**
* Open a Sign for editing by the Player.
*
diff --git a/patches/api/0095-Add-Ban-Methods-to-Player-Objects.patch b/patches/api/0095-Add-Ban-Methods-to-Player-Objects.patch
index b32d7f9008..3f81085e8e 100644
--- a/patches/api/0095-Add-Ban-Methods-to-Player-Objects.patch
+++ b/patches/api/0095-Add-Ban-Methods-to-Player-Objects.patch
@@ -74,10 +74,10 @@ index 76e511e7f619960ab50d534c17489e2bc87ebf5a..9d774a10b9543e9293cb10ee9d7c9ade
/**
* Checks if this player is whitelisted or not
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index fd4613f702ebbd32ec22a81f993a1ea9d8dd896f..61e75620b205cfeda0aee433651c45235bf21181 100644
+index 18ce1833e8fa2c255b915755ef6d3d61e4d0007f..c0fed694f66acc623eaef2f3d53bcd32180b09af 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -736,6 +736,162 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -738,6 +738,162 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
public void sendMap(@NotNull MapView map);
// Paper start
diff --git a/patches/api/0148-Expose-attack-cooldown-methods-for-Player.patch b/patches/api/0148-Expose-attack-cooldown-methods-for-Player.patch
index d32930543a..364ae39720 100644
--- a/patches/api/0148-Expose-attack-cooldown-methods-for-Player.patch
+++ b/patches/api/0148-Expose-attack-cooldown-methods-for-Player.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Expose attack cooldown methods for Player
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 6119f8c5b1c14418e14eec3a7ec56beed8ed8df5..b1c1e4644154567beb5fdcac4540229fab0b4763 100644
+index c0fed694f66acc623eaef2f3d53bcd32180b09af..98b856d068c765a277d1e218a04e05588e18fdcb 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -2425,6 +2425,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2449,6 +2449,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param profile The new profile to use
*/
void setPlayerProfile(@NotNull com.destroystokyo.paper.profile.PlayerProfile profile);
diff --git a/patches/api/0151-Add-an-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch b/patches/api/0151-Add-an-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch
index c5b4ce2e41..53ea3ea9dc 100644
--- a/patches/api/0151-Add-an-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch
+++ b/patches/api/0151-Add-an-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch
@@ -226,10 +226,10 @@ index c65f0d6569c130b4920a9e71ad24af6427f1f030..01bcb3a1bdb5accdf844d0178cec3d25
return key;
}
diff --git a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
-index 1c362636c56db0e6c118171ba367c43c4f7cff33..01b462fccce71cef3398dd43944046f322b8e57e 100644
+index 69f68ca2d62c2cfe07a193776054c14c352a5942..45baebc97f0aec8abc9a894bc135e4767d7c9e35 100644
--- a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
+++ b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
-@@ -432,4 +432,87 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
+@@ -444,4 +444,87 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
@SuppressWarnings("javadoc")
@NotNull
ItemMeta clone();
diff --git a/patches/api/0163-Make-the-default-permission-message-configurable.patch b/patches/api/0163-Make-the-default-permission-message-configurable.patch
index 840f857a0b..0e948d7850 100644
--- a/patches/api/0163-Make-the-default-permission-message-configurable.patch
+++ b/patches/api/0163-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 d82d06894e3dd09fe57448fd5bc09fabbff08e62..52f5750e1cbce6000c72f5f1b4bde41b9fa66b23 100644
+index d09e87803b086df48301a0e7dafe58546e33e70e..c1e106a7af9acf3d84b9c3e377608fa0c3f7eb17 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2098,6 +2098,15 @@ public final class Bukkit {
+@@ -2110,6 +2110,15 @@ public final class Bukkit {
return server.suggestPlayerNamesWhenNullTabCompletions();
}
@@ -25,10 +25,10 @@ index d82d06894e3dd09fe57448fd5bc09fabbff08e62..52f5750e1cbce6000c72f5f1b4bde41b
* 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 9d5e22d1a4b87476a4c0d83dfdf42821131b30b1..ef10f62a00f19b6a2ca61c3984465f5cd9fa7479 100644
+index e3f0efd3cc65b26f62af84cbeb7e6767a4bf34a6..71b32c1ca960a58ae9757e470626fa3e16d3c28b 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1841,6 +1841,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1854,6 +1854,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*/
boolean suggestPlayerNamesWhenNullTabCompletions();
diff --git a/patches/api/0175-Fix-Spigot-annotation-mistakes.patch b/patches/api/0175-Fix-Spigot-annotation-mistakes.patch
index 17b24dd5d2..422f0880d8 100644
--- a/patches/api/0175-Fix-Spigot-annotation-mistakes.patch
+++ b/patches/api/0175-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 52f5750e1cbce6000c72f5f1b4bde41b9fa66b23..19771a9a7a212a71f4cad33981c3b72341d80093 100644
+index c1e106a7af9acf3d84b9c3e377608fa0c3f7eb17..c8580174d88674a8ab115976e93f225bb20b5854 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -1684,7 +1684,7 @@ public final class Bukkit {
+@@ -1696,7 +1696,7 @@ public final class Bukkit {
*
* @return the scoreboard manager or null if no worlds are loaded.
*/
@@ -21,7 +21,7 @@ index 52f5750e1cbce6000c72f5f1b4bde41b9fa66b23..19771a9a7a212a71f4cad33981c3b723
public static ScoreboardManager getScoreboardManager() {
return server.getScoreboardManager();
}
-@@ -1981,7 +1981,7 @@ public final class Bukkit {
+@@ -1993,7 +1993,7 @@ public final class Bukkit {
* @param clazz the class of the tag entries
* @return the tag or null
*/
@@ -80,10 +80,10 @@ index 53d1609e2a75c007cb7e5e8f963b0deb53bae5f7..a8561434d56f7db7e4f52283759b282e
return legacy;
}
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index ef10f62a00f19b6a2ca61c3984465f5cd9fa7479..790c09d8fc67dfe6325faff419be7d980415bad8 100644
+index 71b32c1ca960a58ae9757e470626fa3e16d3c28b..f673927df360702b07f1fd197a3de07bc47b60cd 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1429,7 +1429,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1442,7 +1442,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*
* @return the scoreboard manager or null if no worlds are loaded.
*/
@@ -199,23 +199,15 @@ index 9c6a5bdac8c3ab682bbfae04ff24b76a62bc2883..875c401153349b0f2468525e54cf10ca
/**
* Checks if the inventory contains any ItemStacks with the given
diff --git a/src/main/java/org/bukkit/inventory/ItemFactory.java b/src/main/java/org/bukkit/inventory/ItemFactory.java
-index 9750c52309b32b4b12ecd277300aa4f9998b8072..9ba084c0aefb8d8d654880268cdb7266b4237bbb 100644
+index 66ffc658dba85942f179760dc6c50258e24ab903..50fe28b48d885c782278bdb53a0bbae303f4a32d 100644
--- a/src/main/java/org/bukkit/inventory/ItemFactory.java
+++ b/src/main/java/org/bukkit/inventory/ItemFactory.java
-@@ -3,6 +3,7 @@ package org.bukkit.inventory;
- import org.bukkit.Color;
- import org.bukkit.Material;
- import org.bukkit.Server;
-+import org.bukkit.UndefinedNullability;
- import org.bukkit.inventory.meta.BookMeta;
- import org.bukkit.inventory.meta.ItemMeta;
- import org.bukkit.inventory.meta.SkullMeta;
-@@ -25,7 +26,7 @@ public interface ItemFactory {
+@@ -26,7 +26,7 @@ public interface ItemFactory {
* @return a new ItemMeta that could be applied to an item stack of the
* specified material
*/
- @Nullable
-+ @UndefinedNullability // Paper
++ @org.bukkit.UndefinedNullability // Paper
ItemMeta getItemMeta(@NotNull final Material material);
/**
@@ -285,7 +277,7 @@ index 62fbd7f6d8195bebcab7f704a0a485a1bbeca26c..8b5385e39f64c4df8e235a8832d91e55
/**
diff --git a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
-index 01b462fccce71cef3398dd43944046f322b8e57e..8c48a5c61b5afb5407ebf5d734858a0177e3ffa1 100644
+index 45baebc97f0aec8abc9a894bc135e4767d7c9e35..a761b8369e1f78b28146b0a4cce121e507d4a738 100644
--- a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
+++ b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
@@ -74,8 +74,10 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
diff --git a/patches/api/0183-Expose-the-internal-current-tick.patch b/patches/api/0183-Expose-the-internal-current-tick.patch
index e3d23fa09d..ecdeedced9 100644
--- a/patches/api/0183-Expose-the-internal-current-tick.patch
+++ b/patches/api/0183-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 19771a9a7a212a71f4cad33981c3b72341d80093..0f77744ac6ea1d41f3e8713236bb85ec182f4010 100644
+index c8580174d88674a8ab115976e93f225bb20b5854..af91f6cf87ad0f01370db31720fe318d84786ebd 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2150,6 +2150,10 @@ public final class Bukkit {
+@@ -2162,6 +2162,10 @@ public final class Bukkit {
public static com.destroystokyo.paper.profile.PlayerProfile createProfile(@Nullable UUID uuid, @Nullable String name) {
return server.createProfile(uuid, name);
}
@@ -20,10 +20,10 @@ index 19771a9a7a212a71f4cad33981c3b72341d80093..0f77744ac6ea1d41f3e8713236bb85ec
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 790c09d8fc67dfe6325faff419be7d980415bad8..fcc48b9a512c756f22075d58021cad23d1ac1091 100644
+index f673927df360702b07f1fd197a3de07bc47b60cd..dc119a58c02a6b4177d560b70f026db6d9e08c55 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1885,5 +1885,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1898,5 +1898,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*/
@NotNull
com.destroystokyo.paper.profile.PlayerProfile createProfile(@Nullable UUID uuid, @Nullable String name);
diff --git a/patches/api/0189-Add-tick-times-API.patch b/patches/api/0189-Add-tick-times-API.patch
index e7c6ae5106..1eb2f9e553 100644
--- a/patches/api/0189-Add-tick-times-API.patch
+++ b/patches/api/0189-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 61877d9d64840408a7aec7bcc2a54779a9e820d8..6971ecc8d285f81c476f1b3442159167102a5719 100644
+index af91f6cf87ad0f01370db31720fe318d84786ebd..a6808ead643db1833e1bb2a5f758f1e1d73059c1 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -1885,6 +1885,25 @@ public final class Bukkit {
+@@ -1897,6 +1897,25 @@ public final class Bukkit {
public static double[] getTPS() {
return server.getTPS();
}
@@ -35,10 +35,10 @@ index 61877d9d64840408a7aec7bcc2a54779a9e820d8..6971ecc8d285f81c476f1b3442159167
/**
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 73ec2a8541ae95e07e32327ad0fff3a30b091658..a543d5ec7df410cad15affb22058b60ec6a5c570 100644
+index dc119a58c02a6b4177d560b70f026db6d9e08c55..02139695e15ec52b09ccbdf6105fa2bc786cf9be 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1603,6 +1603,21 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1616,6 +1616,21 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*/
@NotNull
public double[] getTPS();
diff --git a/patches/api/0190-Expose-MinecraftServer-isRunning.patch b/patches/api/0190-Expose-MinecraftServer-isRunning.patch
index 968e92116c..005325eb98 100644
--- a/patches/api/0190-Expose-MinecraftServer-isRunning.patch
+++ b/patches/api/0190-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 3ed3d7eb10f601dcb32e5ca7b053afeb5b0db729..bc4c76eb8b5329b4eeefe62828fed45b8b1c5154 100644
+index a6808ead643db1833e1bb2a5f758f1e1d73059c1..61a60d02557ec83392dc9ce53ac83d8e4060d23b 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2173,6 +2173,15 @@ public final class Bukkit {
+@@ -2185,6 +2185,15 @@ public final class Bukkit {
public static int getCurrentTick() {
return server.getCurrentTick();
}
@@ -26,10 +26,10 @@ index 3ed3d7eb10f601dcb32e5ca7b053afeb5b0db729..bc4c76eb8b5329b4eeefe62828fed45b
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 84bcfb8f8220700c0336a378eec41be765db844a..9e459ea23dc480996ebea314e5bc98dd891c020a 100644
+index 02139695e15ec52b09ccbdf6105fa2bc786cf9be..fdf88c204505efdb8bd2a51e0f7e0ad1ca803e75 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1907,5 +1907,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1920,5 +1920,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
* @return Current tick
*/
int getCurrentTick();
diff --git a/patches/api/0194-Add-Player-Client-Options-API.patch b/patches/api/0194-Add-Player-Client-Options-API.patch
index da5dc79bf9..820af7452d 100644
--- a/patches/api/0194-Add-Player-Client-Options-API.patch
+++ b/patches/api/0194-Add-Player-Client-Options-API.patch
@@ -193,7 +193,7 @@ index 0000000000000000000000000000000000000000..f7f171c4ee0b8339b2f8fbe82442d65f
+ }
+}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index b1c1e4644154567beb5fdcac4540229fab0b4763..6176fde69072ca37df803109acfcc145528f583a 100644
+index 98b856d068c765a277d1e218a04e05588e18fdcb..5ec612d01f36099b5079b598ad484b78e2dda959 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -2,6 +2,7 @@ package org.bukkit.entity;
@@ -204,7 +204,7 @@ index b1c1e4644154567beb5fdcac4540229fab0b4763..6176fde69072ca37df803109acfcc145
import com.destroystokyo.paper.Title; // Paper
import net.kyori.adventure.text.Component;
import org.bukkit.DyeColor;
-@@ -2445,6 +2446,12 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2469,6 +2470,12 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* Reset the cooldown counter to 0, effectively starting the cooldown period.
*/
void resetCooldown();
diff --git a/patches/api/0198-Villager-Restocks-API.patch b/patches/api/0198-Villager-Restocks-API.patch
index 689bd35b3c..b456e877c6 100644
--- a/patches/api/0198-Villager-Restocks-API.patch
+++ b/patches/api/0198-Villager-Restocks-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Villager Restocks API
diff --git a/src/main/java/org/bukkit/entity/Villager.java b/src/main/java/org/bukkit/entity/Villager.java
-index 6545e568b74bd096e184b85e8da6f0d40acd3b36..ef8a81c4857bd06be19264580bf3a7e087118f5c 100644
+index 6bf3af3ed81b66f61e53105d3591165ea74dba0e..d8cf5e5921357ce9645f5dcb5a3bffcf3c10af7e 100644
--- a/src/main/java/org/bukkit/entity/Villager.java
+++ b/src/main/java/org/bukkit/entity/Villager.java
-@@ -77,6 +77,20 @@ public interface Villager extends AbstractVillager {
+@@ -78,6 +78,20 @@ public interface Villager extends AbstractVillager {
*/
public void setVillagerExperience(int experience);
diff --git a/patches/api/0200-Add-Mob-Goal-API.patch b/patches/api/0200-Add-Mob-Goal-API.patch
index 35f76cf040..92f1902063 100644
--- a/patches/api/0200-Add-Mob-Goal-API.patch
+++ b/patches/api/0200-Add-Mob-Goal-API.patch
@@ -523,10 +523,10 @@ index 0000000000000000000000000000000000000000..8fd399f791b45eb7fc62693ca954eea0
+ @Deprecated 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 b6707f205757eb3ab09d15a20f8f93d1ba5cfff8..640e4cb43b278a06416303d96c73e50e12f6a853 100644
+index e86d3a012f62e87af1894bf697d496bb82cc6c02..cd175830d73b6db5388d5fcf9c37399f4ccb72e0 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2194,6 +2194,16 @@ public final class Bukkit {
+@@ -2206,6 +2206,16 @@ public final class Bukkit {
public static boolean isStopping() {
return server.isStopping();
}
@@ -544,10 +544,10 @@ index b6707f205757eb3ab09d15a20f8f93d1ba5cfff8..640e4cb43b278a06416303d96c73e50e
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 35e3a1814ad3d4891d9e07be23a019ab650c31ff..e6c491c3c6246784f6741a99120b0e1f09f71232 100644
+index dda3eb79a9687f8a6fdc9e6bdce3ecdcdfddb5f4..0e7bb5c572aa46120f85e9202dd0fe5cc7943ff5 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1924,5 +1924,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1937,5 +1937,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/0201-Add-villager-reputation-API.patch b/patches/api/0201-Add-villager-reputation-API.patch
index 44b6a6f422..14c6a88c1c 100644
--- a/patches/api/0201-Add-villager-reputation-API.patch
+++ b/patches/api/0201-Add-villager-reputation-API.patch
@@ -107,10 +107,10 @@ index 0000000000000000000000000000000000000000..5600fcdc9795a9f49091db48d73bbd49
+ TRADING,
+}
diff --git a/src/main/java/org/bukkit/entity/Villager.java b/src/main/java/org/bukkit/entity/Villager.java
-index ef8a81c4857bd06be19264580bf3a7e087118f5c..511b96841f7342d0a6b38d7cff56252ea8ef9bfe 100644
+index d8cf5e5921357ce9645f5dcb5a3bffcf3c10af7e..c799ac46dbe257d470d3b236cf55b41240f5fda8 100644
--- a/src/main/java/org/bukkit/entity/Villager.java
+++ b/src/main/java/org/bukkit/entity/Villager.java
-@@ -1,10 +1,13 @@
+@@ -1,6 +1,8 @@
package org.bukkit.entity;
import java.util.Locale;
@@ -119,12 +119,7 @@ index ef8a81c4857bd06be19264580bf3a7e087118f5c..511b96841f7342d0a6b38d7cff56252e
import org.bukkit.Keyed;
import org.bukkit.Location;
import org.bukkit.NamespacedKey;
- import org.jetbrains.annotations.NotNull;
-+import org.jetbrains.annotations.Nullable; // Paper
-
- /**
- * Represents a villager NPC
-@@ -229,4 +232,50 @@ public interface Villager extends AbstractVillager {
+@@ -242,4 +244,50 @@ public interface Villager extends AbstractVillager {
return key;
}
}
diff --git a/patches/api/0218-Brand-support.patch b/patches/api/0218-Brand-support.patch
index 5b9abb6faf..e8bbb7e077 100644
--- a/patches/api/0218-Brand-support.patch
+++ b/patches/api/0218-Brand-support.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Brand support
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 6176fde69072ca37df803109acfcc145528f583a..201ac1cba11037e4baec5d059ac72077a70fe67f 100644
+index 5ec612d01f36099b5079b598ad484b78e2dda959..b992ad3eb087c27a407b22d54d5ce38ece7fe44a 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -2580,6 +2580,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2604,6 +2604,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
// Paper end
}
diff --git a/patches/api/0220-Add-methods-to-get-translation-keys.patch b/patches/api/0220-Add-methods-to-get-translation-keys.patch
index 3ab1110a52..7555ded284 100644
--- a/patches/api/0220-Add-methods-to-get-translation-keys.patch
+++ b/patches/api/0220-Add-methods-to-get-translation-keys.patch
@@ -112,7 +112,7 @@ index 442db40bc6ea2cfd2f724807544a080bb62bd8c5..d3365e44e64c2e72416d3a50be20ada7
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java
-index 53d1609e2a75c007cb7e5e8f963b0deb53bae5f7..82bd673f43f26d62f1f4bea3638fd89d9eef3887 100644
+index a8561434d56f7db7e4f52283759b282e9c2116a2..1d01bf9b193a031439343835bff07f2a0d26346f 100644
--- a/src/main/java/org/bukkit/Material.java
+++ b/src/main/java/org/bukkit/Material.java
@@ -104,7 +104,7 @@ import org.jetbrains.annotations.Nullable;
@@ -310,10 +310,10 @@ index 9be5371c7f398d0ec8241403661415ff40661067..d36d314383713bac3b11f18d95b0809d
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/entity/Villager.java b/src/main/java/org/bukkit/entity/Villager.java
-index 511b96841f7342d0a6b38d7cff56252ea8ef9bfe..02ecc87a90bbd81e7d21279fac701ba41c74fd9f 100644
+index c799ac46dbe257d470d3b236cf55b41240f5fda8..d61855b83da0776fe910dee8cde184c720571a71 100644
--- a/src/main/java/org/bukkit/entity/Villager.java
+++ b/src/main/java/org/bukkit/entity/Villager.java
-@@ -148,7 +148,7 @@ public interface Villager extends AbstractVillager {
+@@ -160,7 +160,7 @@ public interface Villager extends AbstractVillager {
* Represents the various different Villager professions there may be.
* Villagers have different trading options depending on their profession,
*/
@@ -322,7 +322,7 @@ index 511b96841f7342d0a6b38d7cff56252ea8ef9bfe..02ecc87a90bbd81e7d21279fac701ba4
NONE,
/**
* Armorer profession. Wears a black apron. Armorers primarily trade for
-@@ -231,6 +231,13 @@ public interface Villager extends AbstractVillager {
+@@ -243,6 +243,13 @@ public interface Villager extends AbstractVillager {
public NamespacedKey getKey() {
return key;
}
diff --git a/patches/api/0221-Create-HoverEvent-from-ItemStack-Entity.patch b/patches/api/0221-Create-HoverEvent-from-ItemStack-Entity.patch
index 8012e5d4e6..eaeeffb576 100644
--- a/patches/api/0221-Create-HoverEvent-from-ItemStack-Entity.patch
+++ b/patches/api/0221-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 9ba084c0aefb8d8d654880268cdb7266b4237bbb..96f9481ca2f79dca525e0720e41a716bcebe0baf 100644
+index 50fe28b48d885c782278bdb53a0bbae303f4a32d..34c13845f4916fb167fc9d83fe792975e5c52bdc 100644
--- a/src/main/java/org/bukkit/inventory/ItemFactory.java
+++ b/src/main/java/org/bukkit/inventory/ItemFactory.java
-@@ -187,5 +187,62 @@ public interface ItemFactory {
+@@ -204,5 +204,62 @@ public interface ItemFactory {
*/
@NotNull
ItemStack ensureServerConversions(@NotNull ItemStack item);
diff --git a/patches/api/0227-Player-elytra-boost-API.patch b/patches/api/0227-Player-elytra-boost-API.patch
index a07d68ffe3..0d9d7a0b3c 100644
--- a/patches/api/0227-Player-elytra-boost-API.patch
+++ b/patches/api/0227-Player-elytra-boost-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Player elytra boost API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 201ac1cba11037e4baec5d059ac72077a70fe67f..6fbc96e3641dd3ca127efe3dbd573e56ba0ffe54 100644
+index b992ad3eb087c27a407b22d54d5ce38ece7fe44a..02ef1d5dc98ea969bc7d65d22d86a64a6c9305d6 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -2452,6 +2452,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2476,6 +2476,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
@NotNull
T getClientOption(@NotNull ClientOption option);
diff --git a/patches/api/0228-Add-getOfflinePlayerIfCached-String.patch b/patches/api/0228-Add-getOfflinePlayerIfCached-String.patch
index 6efe13333f..63f2082e7a 100644
--- a/patches/api/0228-Add-getOfflinePlayerIfCached-String.patch
+++ b/patches/api/0228-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 cf453476006563d8f9c165809c89d73089a84acc..9549cfeadac8a45d27917ecdf05644cfff23eb0a 100644
+index a74ba449ea6e7ec812fdc7320cc47e8278180a41..26c512e24c7c0370dfe8529c447ba0dc3736c1c6 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -1178,6 +1178,27 @@ public final class Bukkit {
+@@ -1190,6 +1190,27 @@ public final class Bukkit {
return server.getOfflinePlayer(name);
}
@@ -37,10 +37,10 @@ index cf453476006563d8f9c165809c89d73089a84acc..9549cfeadac8a45d27917ecdf05644cf
* 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 8f6878d2b6a43ec90f5011df6530083bdf6166cb..50fbcb8867b0a7680ff491f7cf9af3069ba064c3 100644
+index 39231cb1e5c11297c100483a0036e70e7e0e5d4c..f8226ce49584a9086208037f2c8fe369ae7bfbf0 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -998,6 +998,25 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1011,6 +1011,25 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@NotNull
public OfflinePlayer getOfflinePlayer(@NotNull String name);
diff --git a/patches/api/0255-Add-sendOpLevel-API.patch b/patches/api/0255-Add-sendOpLevel-API.patch
index 1923f9332d..400f97ccd0 100644
--- a/patches/api/0255-Add-sendOpLevel-API.patch
+++ b/patches/api/0255-Add-sendOpLevel-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add sendOpLevel API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 6fbc96e3641dd3ca127efe3dbd573e56ba0ffe54..d881ae7fb0c17242998c0a495ccd81802611410a 100644
+index 02ef1d5dc98ea969bc7d65d22d86a64a6c9305d6..8b37b895b7de99a0be6b54c2aedfc0faddb06435 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -2465,6 +2465,17 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2489,6 +2489,17 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
@Nullable
Firework boostElytra(@NotNull ItemStack firework);
diff --git a/patches/api/0276-Implement-Keyed-on-World.patch b/patches/api/0276-Implement-Keyed-on-World.patch
index 5a0ec1711a..af3a7fbc74 100644
--- a/patches/api/0276-Implement-Keyed-on-World.patch
+++ b/patches/api/0276-Implement-Keyed-on-World.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Implement Keyed on World
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index e02ad513d0bc20f1f847d9cffe3f7dbf3269b530..8106fd5806fc47cb7138e01d9d5c458153afa3d5 100644
+index 26c512e24c7c0370dfe8529c447ba0dc3736c1c6..9f77415577a6ea3f6fda6c3077cdbf123ce47674 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -791,6 +791,18 @@ public final class Bukkit {
@@ -26,9 +26,9 @@ index e02ad513d0bc20f1f847d9cffe3f7dbf3269b530..8106fd5806fc47cb7138e01d9d5c4581
+ // Paper end
/**
- * Gets the map from the given item ID.
+ * Create a new virtual {@link WorldBorder}.
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 36fb8f14da0ed8192a91d509bcee94f99bea9354..d43f785471d3671bad6eb270a87a70b27f85adcb 100644
+index f8226ce49584a9086208037f2c8fe369ae7bfbf0..b0cfe2e72d404aca204a0a1a43e4ba4e0c44ac98 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -673,6 +673,17 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -47,8 +47,8 @@ index 36fb8f14da0ed8192a91d509bcee94f99bea9354..d43f785471d3671bad6eb270a87a70b2
+ // Paper end
+
/**
- * Gets the map from the given item ID.
- *
+ * Create a new virtual {@link WorldBorder}.
+ *
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index 513de620accbee93a04ef729dd386dadba566a8f..caa674ed1e4b3a940cee05a79d1af47b20e3badb 100644
--- a/src/main/java/org/bukkit/World.java
@@ -79,7 +79,7 @@ index 513de620accbee93a04ef729dd386dadba566a8f..caa674ed1e4b3a940cee05a79d1af47b
/**
diff --git a/src/main/java/org/bukkit/WorldCreator.java b/src/main/java/org/bukkit/WorldCreator.java
-index 60bed20c2845f9dc15ecbed81157a63d75a4c4f4..14986911b4d0099ea2c91ab2196a771b7dee4c50 100644
+index cbe6b3a1ba7b04826d97c3558e8eb4e5ba11f92f..9fab6eed92c27ec9dd123171f5c4e1e7cda723e4 100644
--- a/src/main/java/org/bukkit/WorldCreator.java
+++ b/src/main/java/org/bukkit/WorldCreator.java
@@ -12,6 +12,7 @@ import org.jetbrains.annotations.Nullable;
diff --git a/patches/api/0295-Add-basic-Datapack-API.patch b/patches/api/0295-Add-basic-Datapack-API.patch
index 6b93de88ee..c3580ba601 100644
--- a/patches/api/0295-Add-basic-Datapack-API.patch
+++ b/patches/api/0295-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 8106fd5806fc47cb7138e01d9d5c458153afa3d5..adc8ed72acbb1ca788d44fa9542d287dbbafc669 100644
+index 9f77415577a6ea3f6fda6c3077cdbf123ce47674..fd1ec52f2135914e50dcb9d61635ddab67e46f5a 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2248,6 +2248,14 @@ public final class Bukkit {
+@@ -2260,6 +2260,14 @@ public final class Bukkit {
public static com.destroystokyo.paper.entity.ai.MobGoals getMobGoals() {
return server.getMobGoals();
}
@@ -89,10 +89,10 @@ index 8106fd5806fc47cb7138e01d9d5c458153afa3d5..adc8ed72acbb1ca788d44fa9542d287d
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index d43f785471d3671bad6eb270a87a70b27f85adcb..1446fe0be113f5d0b98f34b1da19900acc7f015d 100644
+index b0cfe2e72d404aca204a0a1a43e4ba4e0c44ac98..da886acceb4cf7129cdc6fe1b4bea2f428597cb7 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1971,5 +1971,11 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1984,5 +1984,11 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*/
@NotNull
com.destroystokyo.paper.entity.ai.MobGoals getMobGoals();
diff --git a/patches/api/0306-Add-PlayerKickEvent-causes.patch b/patches/api/0306-Add-PlayerKickEvent-causes.patch
index 8977bbbb31..ab17bfb214 100644
--- a/patches/api/0306-Add-PlayerKickEvent-causes.patch
+++ b/patches/api/0306-Add-PlayerKickEvent-causes.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add PlayerKickEvent causes
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index d881ae7fb0c17242998c0a495ccd81802611410a..35be51b2b57acfc5dc165b22e16f499fac906e34 100644
+index 8b37b895b7de99a0be6b54c2aedfc0faddb06435..826faf48f9e2f7441a0cb5434dd1b3372cf12b33 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -236,6 +236,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -238,6 +238,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param message kick message
*/
void kick(final @Nullable net.kyori.adventure.text.Component message);
diff --git a/patches/api/0334-Add-ItemFactory-getMonsterEgg-API.patch b/patches/api/0334-Add-ItemFactory-getMonsterEgg-API.patch
index fcdc759ea7..972e376f18 100644
--- a/patches/api/0334-Add-ItemFactory-getMonsterEgg-API.patch
+++ b/patches/api/0334-Add-ItemFactory-getMonsterEgg-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add ItemFactory#getMonsterEgg API
diff --git a/src/main/java/org/bukkit/inventory/ItemFactory.java b/src/main/java/org/bukkit/inventory/ItemFactory.java
-index 96f9481ca2f79dca525e0720e41a716bcebe0baf..6a4c4161adabb8e131761c2af4bdf1f26b52434d 100644
+index 34c13845f4916fb167fc9d83fe792975e5c52bdc..2acafae468fcbb7213d6b6c30803a3924a3bbc30 100644
--- a/src/main/java/org/bukkit/inventory/ItemFactory.java
+++ b/src/main/java/org/bukkit/inventory/ItemFactory.java
-@@ -244,5 +244,14 @@ public interface ItemFactory {
+@@ -261,5 +261,14 @@ public interface ItemFactory {
@NotNull
@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);
diff --git a/patches/api/0342-Add-player-health-update-API.patch b/patches/api/0342-Add-player-health-update-API.patch
index 44fc6fdbf0..b92a5261fa 100644
--- a/patches/api/0342-Add-player-health-update-API.patch
+++ b/patches/api/0342-Add-player-health-update-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add player health update API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 35be51b2b57acfc5dc165b22e16f499fac906e34..3a96d1fe95952a1b0be0ef7b3cdf431e5bb8b54f 100644
+index 826faf48f9e2f7441a0cb5434dd1b3372cf12b33..9afd41a99d1d9fb5cde3ed9c64f91fac41753f69 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1853,6 +1853,31 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1877,6 +1877,31 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public double getHealthScale();
diff --git a/patches/api/0343-Allow-delegation-to-vanilla-chunk-gen.patch b/patches/api/0343-Allow-delegation-to-vanilla-chunk-gen.patch
index be873543de..4cb104cdc2 100644
--- a/patches/api/0343-Allow-delegation-to-vanilla-chunk-gen.patch
+++ b/patches/api/0343-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 2af2a948dc9c0d4ad28fccb1c9a2b28d5db99203..416d402b7e885ccc9b187a8e8111da2378197b45 100644
+index 09e91f823f01067150546cda2df50eb1b53618d5..b5e545f2122d1fc8f69e11b3d5e4da382382de94 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -1848,6 +1848,24 @@ public final class Bukkit {
+@@ -1860,6 +1860,24 @@ public final class Bukkit {
return server.createChunkData(world);
}
@@ -34,10 +34,10 @@ index 2af2a948dc9c0d4ad28fccb1c9a2b28d5db99203..416d402b7e885ccc9b187a8e8111da23
* 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 1d2970dc4d18122e95db8cc9830aa5c41a59e24b..d90026c9331321ca749f7090b76c21b4608b2ee8 100644
+index da886acceb4cf7129cdc6fe1b4bea2f428597cb7..ca9b5bcfbde3e8709a535134e5de0867d3d51b29 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1553,6 +1553,22 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1566,6 +1566,22 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@NotNull
public ChunkGenerator.ChunkData createChunkData(@NotNull World world);
diff --git a/patches/api/0358-Multi-Block-Change-API.patch b/patches/api/0358-Multi-Block-Change-API.patch
index 9589081363..9dfc9be2c1 100644
--- a/patches/api/0358-Multi-Block-Change-API.patch
+++ b/patches/api/0358-Multi-Block-Change-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Multi Block Change API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 3a96d1fe95952a1b0be0ef7b3cdf431e5bb8b54f..f954801f6a5d465b8545e75d7ff5af0352d6ec0d 100644
+index 9afd41a99d1d9fb5cde3ed9c64f91fac41753f69..8ca135d2e3682581855399e7c6d07a2d13244600 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -579,6 +579,27 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -581,6 +581,27 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public void sendBlockDamage(@NotNull Location loc, float progress);
diff --git a/patches/api/0364-API-for-creating-command-sender-which-forwards-feedb.patch b/patches/api/0364-API-for-creating-command-sender-which-forwards-feedb.patch
index 69107d315e..acb3d9f43f 100644
--- a/patches/api/0364-API-for-creating-command-sender-which-forwards-feedb.patch
+++ b/patches/api/0364-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 416d402b7e885ccc9b187a8e8111da2378197b45..795f8c0aa3929f6de4b4ea4b139bef8b672ab97a 100644
+index b5e545f2122d1fc8f69e11b3d5e4da382382de94..6a5b155b4fec18d9aa906cd6cea6394a98cfe1b5 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -1379,6 +1379,20 @@ public final class Bukkit {
+@@ -1391,6 +1391,20 @@ public final class Bukkit {
return server.getConsoleSender();
}
@@ -30,10 +30,10 @@ index 416d402b7e885ccc9b187a8e8111da2378197b45..795f8c0aa3929f6de4b4ea4b139bef8b
* 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 d90026c9331321ca749f7090b76c21b4608b2ee8..79120b42a3993beda1e3474fa4b722402e9d849f 100644
+index ca9b5bcfbde3e8709a535134e5de0867d3d51b29..24c3abf0fbc05c1aa22453543be94a2360c59f01 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1151,6 +1151,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1164,6 +1164,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@NotNull
public ConsoleCommandSender getConsoleSender();
diff --git a/patches/api/0371-Custom-Potion-Mixes.patch b/patches/api/0371-Custom-Potion-Mixes.patch
index 92ad6434f5..e7bec6fee4 100644
--- a/patches/api/0371-Custom-Potion-Mixes.patch
+++ b/patches/api/0371-Custom-Potion-Mixes.patch
@@ -102,10 +102,10 @@ index 0000000000000000000000000000000000000000..cb6d93526b637946aec311bef103ad30
+ }
+}
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 41be35164aa240ab1ea69bac96b667183960d9cd..c093ba024cfd951be1afc4100d899ed8f70ab003 100644
+index 6a5b155b4fec18d9aa906cd6cea6394a98cfe1b5..dcfd22862c79ae01ca7707d9abf0a71cc0d4ad9d 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2307,6 +2307,15 @@ public final class Bukkit {
+@@ -2319,6 +2319,15 @@ public final class Bukkit {
public static io.papermc.paper.datapack.DatapackManager getDatapackManager() {
return server.getDatapackManager();
}
@@ -122,10 +122,10 @@ index 41be35164aa240ab1ea69bac96b667183960d9cd..c093ba024cfd951be1afc4100d899ed8
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 25e5fa7b6ebebdf86070d95330e8ae272fc0c593..cb511df257b389e06a4f947b6e837cb5986b28db 100644
+index 24c3abf0fbc05c1aa22453543be94a2360c59f01..7a3a2ff605e06e42ba2a0263e2c50eed5c24f8e9 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -2005,5 +2005,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -2018,5 +2018,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*/
@NotNull
io.papermc.paper.datapack.DatapackManager getDatapackManager();
diff --git a/patches/api/0375-Add-enchantWithLevels-API.patch b/patches/api/0375-Add-enchantWithLevels-API.patch
index 45beef6a1a..c05d57b605 100644
--- a/patches/api/0375-Add-enchantWithLevels-API.patch
+++ b/patches/api/0375-Add-enchantWithLevels-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add enchantWithLevels API
diff --git a/src/main/java/org/bukkit/inventory/ItemFactory.java b/src/main/java/org/bukkit/inventory/ItemFactory.java
-index 6a4c4161adabb8e131761c2af4bdf1f26b52434d..3705ac93c9555a0288127bda917e0483056ae1af 100644
+index 2acafae468fcbb7213d6b6c30803a3924a3bbc30..40edff7c93b6bf75de81102326667135b9344666 100644
--- a/src/main/java/org/bukkit/inventory/ItemFactory.java
+++ b/src/main/java/org/bukkit/inventory/ItemFactory.java
-@@ -144,6 +144,22 @@ public interface ItemFactory {
+@@ -161,6 +161,22 @@ public interface ItemFactory {
Material updateMaterial(@NotNull final ItemMeta meta, @NotNull final Material material) throws IllegalArgumentException;
// Paper start
diff --git a/patches/server/0004-Paper-config-files.patch b/patches/server/0004-Paper-config-files.patch
index a63701ad3e..00aad839fc 100644
--- a/patches/server/0004-Paper-config-files.patch
+++ b/patches/server/0004-Paper-config-files.patch
@@ -714,10 +714,10 @@ index 3dce5044332ee4a8f685ab1cde02cd4c72a85b63..6ded806628f2f3fd5b357eed41990abd
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 05364e743e5000f1eff292b17bbd19dae58e3dac..e71bc0315f9e4559e2df6a83a3c11f1024d17de9 100644
+index 6657edb762d234ab388b0bf7dd52f910e0e0af8b..d29c6d0536619fab5a48fbb52115dac09e7d7ca3 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -865,6 +865,7 @@ public final class CraftServer implements Server {
+@@ -866,6 +866,7 @@ public final class CraftServer implements Server {
}
org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot
@@ -725,7 +725,7 @@ index 05364e743e5000f1eff292b17bbd19dae58e3dac..e71bc0315f9e4559e2df6a83a3c11f10
for (ServerLevel world : this.console.getAllLevels()) {
world.serverLevelData.setDifficulty(config.difficulty);
world.setSpawnSettings(config.spawnMonsters, config.spawnAnimals);
-@@ -880,12 +881,14 @@ public final class CraftServer implements Server {
+@@ -881,12 +882,14 @@ public final class CraftServer implements Server {
}
}
world.spigotConfig.init(); // Spigot
@@ -740,7 +740,7 @@ index 05364e743e5000f1eff292b17bbd19dae58e3dac..e71bc0315f9e4559e2df6a83a3c11f10
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
-@@ -2325,4 +2328,35 @@ public final class CraftServer implements Server {
+@@ -2331,4 +2334,35 @@ public final class CraftServer implements Server {
return this.spigot;
}
// Spigot end
diff --git a/patches/server/0007-MC-Utils.patch b/patches/server/0007-MC-Utils.patch
index 0928d4a02d..ae8ed875e6 100644
--- a/patches/server/0007-MC-Utils.patch
+++ b/patches/server/0007-MC-Utils.patch
@@ -6010,10 +6010,10 @@ index 1427b76110a02cee15865173e06e7b7bb4231ae7..de0f49f3e9134c068aa479067ee2986c
public ServerLevel(MinecraftServer minecraftserver, Executor executor, LevelStorageSource.LevelStorageAccess convertable_conversionsession, ServerLevelData iworlddataserver, ResourceKey resourcekey, Holder holder, ChunkProgressListener worldloadlistener, ChunkGenerator chunkgenerator, boolean flag, long i, List list, boolean flag1, org.bukkit.World.Environment env, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider) {
// Objects.requireNonNull(minecraftserver); // CraftBukkit - decompile error
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 8845ed9c2cf835d7c1deeb61bf10addbfe34041c..2eebeb696e853c2ba17a9a65ca8d0fd7dff9baa9 100644
+index 9a8c7693f53851675febc7c41f4bf3a809ea8f51..3700c14c8fe5a52ad6eb6d1ca58232beea16c2d7 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -233,6 +233,8 @@ public class ServerPlayer extends Player {
+@@ -234,6 +234,8 @@ public class ServerPlayer extends Player {
public String kickLeaveMessage = null; // SPIGOT-3034: Forward leave message to PlayerQuitEvent
// CraftBukkit end
@@ -6022,7 +6022,7 @@ index 8845ed9c2cf835d7c1deeb61bf10addbfe34041c..2eebeb696e853c2ba17a9a65ca8d0fd7
public ServerPlayer(MinecraftServer server, ServerLevel world, GameProfile profile) {
super(world, world.getSharedSpawnPos(), world.getSharedSpawnAngle(), profile);
this.chatVisibility = ChatVisiblity.FULL;
-@@ -296,6 +298,8 @@ public class ServerPlayer extends Player {
+@@ -297,6 +299,8 @@ public class ServerPlayer extends Player {
this.maxUpStep = 1.0F;
this.fudgeSpawnLocation(world);
diff --git a/patches/server/0008-Adventure.patch b/patches/server/0008-Adventure.patch
index 75873c7021..02a72c3a7a 100644
--- a/patches/server/0008-Adventure.patch
+++ b/patches/server/0008-Adventure.patch
@@ -1163,7 +1163,7 @@ index 762a9392ffac3042356709dddd15bb3516048bed..3544e2dc2522e9d6305d727d56e73490
buf.writeComponent(this.footer);
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 2eebeb696e853c2ba17a9a65ca8d0fd7dff9baa9..25bc0d6a09def9820106bd5889fdcca4aeeba19f 100644
+index 3700c14c8fe5a52ad6eb6d1ca58232beea16c2d7..a29450df13bc32d5bc700a944541793a696a94d2 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -145,6 +145,7 @@ import net.minecraft.world.scores.Score;
@@ -1174,7 +1174,7 @@ index 2eebeb696e853c2ba17a9a65ca8d0fd7dff9baa9..25bc0d6a09def9820106bd5889fdcca4
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.WeatherType;
-@@ -220,6 +221,7 @@ public class ServerPlayer extends Player {
+@@ -221,6 +222,7 @@ public class ServerPlayer extends Player {
// CraftBukkit start
public String displayName;
@@ -1182,7 +1182,7 @@ index 2eebeb696e853c2ba17a9a65ca8d0fd7dff9baa9..25bc0d6a09def9820106bd5889fdcca4
public Component listName;
public org.bukkit.Location compassTarget;
public int newExp = 0;
-@@ -302,6 +304,7 @@ public class ServerPlayer extends Player {
+@@ -303,6 +305,7 @@ public class ServerPlayer extends Player {
// CraftBukkit start
this.displayName = this.getScoreboardName();
@@ -1190,7 +1190,7 @@ index 2eebeb696e853c2ba17a9a65ca8d0fd7dff9baa9..25bc0d6a09def9820106bd5889fdcca4
this.bukkitPickUpLoot = true;
this.maxHealthCache = this.getMaxHealth();
}
-@@ -773,22 +776,17 @@ public class ServerPlayer extends Player {
+@@ -778,22 +781,17 @@ public class ServerPlayer extends Player {
String deathmessage = defaultMessage.getString();
this.keepLevel = keepInventory; // SPIGOT-2222: pre-set keepLevel
@@ -1217,7 +1217,7 @@ index 2eebeb696e853c2ba17a9a65ca8d0fd7dff9baa9..25bc0d6a09def9820106bd5889fdcca4
this.connection.send(new ClientboundPlayerCombatKillPacket(this.getCombatTracker(), ichatbasecomponent), (future) -> {
if (!future.isSuccess()) {
-@@ -1730,6 +1728,7 @@ public class ServerPlayer extends Player {
+@@ -1735,6 +1733,7 @@ public class ServerPlayer extends Player {
}
public String locale = "en_us"; // CraftBukkit - add, lowercase
@@ -1225,7 +1225,7 @@ index 2eebeb696e853c2ba17a9a65ca8d0fd7dff9baa9..25bc0d6a09def9820106bd5889fdcca4
public void updateOptions(ServerboundClientInformationPacket packet) {
// CraftBukkit start
if (getMainArm() != packet.mainHand()) {
-@@ -1741,6 +1740,10 @@ public class ServerPlayer extends Player {
+@@ -1746,6 +1745,10 @@ public class ServerPlayer extends Player {
this.server.server.getPluginManager().callEvent(event);
}
this.locale = packet.language;
@@ -1635,10 +1635,10 @@ index 595b56b2ab9a813ba71399d306117294fa90dc65..3527d40102d512d0e276edc969ea3c18
}
collection = icons;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index e71bc0315f9e4559e2df6a83a3c11f1024d17de9..586bfdc39840170b6bb43ef99a1e1f72ec84b062 100644
+index d29c6d0536619fab5a48fbb52115dac09e7d7ca3..75871f74a25ee34db89a431de584b9982ed07496 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -585,8 +585,10 @@ public final class CraftServer implements Server {
+@@ -586,8 +586,10 @@ public final class CraftServer implements Server {
}
@Override
@@ -1649,7 +1649,7 @@ index e71bc0315f9e4559e2df6a83a3c11f1024d17de9..586bfdc39840170b6bb43ef99a1e1f72
}
@Override
-@@ -1415,7 +1417,15 @@ public final class CraftServer implements Server {
+@@ -1421,7 +1423,15 @@ public final class CraftServer implements Server {
return this.configuration.getInt("settings.spawn-radius", -1);
}
@@ -1665,7 +1665,7 @@ index e71bc0315f9e4559e2df6a83a3c11f1024d17de9..586bfdc39840170b6bb43ef99a1e1f72
public String getShutdownMessage() {
return this.configuration.getString("settings.shutdown-message");
}
-@@ -1573,7 +1583,20 @@ public final class CraftServer implements Server {
+@@ -1579,7 +1589,20 @@ public final class CraftServer implements Server {
}
@Override
@@ -1686,7 +1686,7 @@ index e71bc0315f9e4559e2df6a83a3c11f1024d17de9..586bfdc39840170b6bb43ef99a1e1f72
Set recipients = new HashSet<>();
for (Permissible permissible : this.getPluginManager().getPermissionSubscriptions(permission)) {
if (permissible instanceof CommandSender && permissible.hasPermission(permission)) {
-@@ -1581,14 +1604,14 @@ public final class CraftServer implements Server {
+@@ -1587,14 +1610,14 @@ public final class CraftServer implements Server {
}
}
@@ -1703,7 +1703,7 @@ index e71bc0315f9e4559e2df6a83a3c11f1024d17de9..586bfdc39840170b6bb43ef99a1e1f72
for (CommandSender recipient : recipients) {
recipient.sendMessage(message);
-@@ -1839,6 +1862,14 @@ public final class CraftServer implements Server {
+@@ -1845,6 +1868,14 @@ public final class CraftServer implements Server {
return CraftInventoryCreator.INSTANCE.createInventory(owner, type);
}
@@ -1718,7 +1718,7 @@ index e71bc0315f9e4559e2df6a83a3c11f1024d17de9..586bfdc39840170b6bb43ef99a1e1f72
@Override
public Inventory createInventory(InventoryHolder owner, InventoryType type, String title) {
Validate.isTrue(type.isCreatable(), "Cannot open an inventory of type ", type);
-@@ -1851,13 +1882,28 @@ public final class CraftServer implements Server {
+@@ -1857,13 +1888,28 @@ public final class CraftServer implements Server {
return CraftInventoryCreator.INSTANCE.createInventory(owner, size);
}
@@ -1747,7 +1747,7 @@ index e71bc0315f9e4559e2df6a83a3c11f1024d17de9..586bfdc39840170b6bb43ef99a1e1f72
public Merchant createMerchant(String title) {
return new CraftMerchantCustom(title == null ? InventoryType.MERCHANT.getDefaultTitle() : title);
}
-@@ -1917,6 +1963,12 @@ public final class CraftServer implements Server {
+@@ -1923,6 +1969,12 @@ public final class CraftServer implements Server {
return Thread.currentThread().equals(console.serverThread) || this.console.hasStopped() || !org.spigotmc.AsyncCatcher.enabled; // All bets are off if we have shut down (e.g. due to watchdog)
}
@@ -1760,7 +1760,7 @@ index e71bc0315f9e4559e2df6a83a3c11f1024d17de9..586bfdc39840170b6bb43ef99a1e1f72
@Override
public String getMotd() {
return this.console.getMotd();
-@@ -2358,5 +2410,15 @@ public final class CraftServer implements Server {
+@@ -2364,5 +2416,15 @@ public final class CraftServer implements Server {
return null;
}
}
@@ -1777,7 +1777,7 @@ index e71bc0315f9e4559e2df6a83a3c11f1024d17de9..586bfdc39840170b6bb43ef99a1e1f72
// Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 794ed40db102370338ee227ffa4e1801fd741284..5963fa56e7dcd61336a14fa1035c6c14143989ad 100644
+index 0bc0bd2e6861772f32e24694ad733fa4813f3033..305d5cb3581764b4d89c1f2220acb5786eb8faef 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -142,6 +142,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -1808,7 +1808,7 @@ index 794ed40db102370338ee227ffa4e1801fd741284..5963fa56e7dcd61336a14fa1035c6c14
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
-index 7861f86a47597883a3813d32f462c514a76eb8ef..339ee79ec1da8a9c865fd5444dc00c206983fcd8 100644
+index fae37b7b353cb7b0f8d4a79407fcc219a3c45b64..aff3116c77277dcb4d3825d33f40a0b17258a0ba 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -19,6 +19,12 @@ public class Main {
@@ -2285,10 +2285,10 @@ index 446fdca49a5a6999626a7ee3a1d5c168b15a09dd..f9863e138994f6c7a7975a852f106faa
public boolean isOp() {
return true;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 76160b76d7d469fb75e733c24d3f1ddf4796485e..65c54d3f52cf5977cf2274d8d5867570082bd8c4 100644
+index 2577a135bb88adc9000ab67477846c6466d973e7..09f43730e40b4ab9f0a6c8d175cbcf7c9e069fac 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -262,14 +262,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -272,14 +272,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public String getDisplayName() {
@@ -2328,7 +2328,7 @@ index 76160b76d7d469fb75e733c24d3f1ddf4796485e..65c54d3f52cf5977cf2274d8d5867570
@Override
public String getPlayerListName() {
return this.getHandle().listName == null ? getName() : CraftChatMessage.fromComponent(this.getHandle().listName);
-@@ -288,42 +313,42 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -298,42 +323,42 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
}
@@ -2380,7 +2380,7 @@ index 76160b76d7d469fb75e733c24d3f1ddf4796485e..65c54d3f52cf5977cf2274d8d5867570
this.getHandle().connection.send(packet);
}
-@@ -355,6 +380,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -365,6 +390,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.getHandle().connection.disconnect(message == null ? "" : message);
}
@@ -2398,7 +2398,7 @@ index 76160b76d7d469fb75e733c24d3f1ddf4796485e..65c54d3f52cf5977cf2274d8d5867570
@Override
public void setCompassTarget(Location loc) {
if (this.getHandle().connection == null) return;
-@@ -610,6 +646,33 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -620,6 +656,33 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.getHandle().connection.send(packet);
}
@@ -2432,7 +2432,7 @@ index 76160b76d7d469fb75e733c24d3f1ddf4796485e..65c54d3f52cf5977cf2274d8d5867570
@Override
public void sendSignChange(Location loc, String[] lines) {
this.sendSignChange(loc, lines, DyeColor.BLACK);
-@@ -637,14 +700,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -647,14 +710,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
Component[] components = CraftSign.sanitizeLines(lines);
@@ -2450,7 +2450,7 @@ index 76160b76d7d469fb75e733c24d3f1ddf4796485e..65c54d3f52cf5977cf2274d8d5867570
}
@Override
-@@ -1339,7 +1403,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1425,7 +1489,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void setResourcePack(String url) {
@@ -2459,7 +2459,7 @@ index 76160b76d7d469fb75e733c24d3f1ddf4796485e..65c54d3f52cf5977cf2274d8d5867570
}
@Override
-@@ -1354,7 +1418,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1440,7 +1504,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void setResourcePack(String url, byte[] hash, boolean force) {
@@ -2468,7 +2468,7 @@ index 76160b76d7d469fb75e733c24d3f1ddf4796485e..65c54d3f52cf5977cf2274d8d5867570
}
@Override
-@@ -1370,6 +1434,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1456,6 +1520,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
}
@@ -2490,7 +2490,7 @@ index 76160b76d7d469fb75e733c24d3f1ddf4796485e..65c54d3f52cf5977cf2274d8d5867570
public void addChannel(String channel) {
Preconditions.checkState(this.channels.size() < 128, "Cannot register channel '%s'. Too many channels registered!", channel);
channel = StandardMessenger.validateAndCorrectChannel(channel);
-@@ -1774,6 +1853,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1860,6 +1939,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return (this.getHandle().clientViewDistance == null) ? Bukkit.getViewDistance() : this.getHandle().clientViewDistance;
}
@@ -2503,7 +2503,7 @@ index 76160b76d7d469fb75e733c24d3f1ddf4796485e..65c54d3f52cf5977cf2274d8d5867570
@Override
public int getPing() {
return this.getHandle().latency;
-@@ -1819,6 +1904,194 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1905,6 +1990,194 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.getHandle().allowsListing();
}
@@ -2846,10 +2846,10 @@ index 6a64fbb8b4937f39d5fdc2e2cbec26c83c74c486..7d6b5fdb00a5c1614849735634262a36
public String getTitle() {
return CraftChatMessage.fromComponent(this.container.getTitle());
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
-index ddcd4f2f1442d9e1b4d04c88f0f96841c4d5650d..69af359e0160480b77886ca35d8f8f3135f06455 100644
+index 2e1aff425b24e1cd2197305226119f9d84574154..f4e909ca1a8518d697acabca298c387b4bde7542 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
-@@ -344,4 +344,17 @@ public final class CraftItemFactory implements ItemFactory {
+@@ -368,4 +368,17 @@ public final class CraftItemFactory implements ItemFactory {
public Material updateMaterial(ItemMeta meta, Material material) throws IllegalArgumentException {
return ((CraftMetaItem) meta).updateMaterial(material);
}
@@ -3133,7 +3133,7 @@ index 00445fc7373c70f4cecc4114f9bcfb4b6f27c0e8..b132c151e4fb6c64b633a0712100c3ae
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-index 0057d6f91fd75555b59dfe25bc96a6fc21f948fa..911a732065a908545ac6a7c10262980a59bd157e 100644
+index 2ac6eb382ad22b9684d460745cecfa9333ccad53..b42527e0307811a3697f6e7b0afc9a10527acbaf 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -746,6 +746,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
diff --git a/patches/server/0011-Timings-v2.patch b/patches/server/0011-Timings-v2.patch
index a9998f7ab5..9da9207396 100644
--- a/patches/server/0011-Timings-v2.patch
+++ b/patches/server/0011-Timings-v2.patch
@@ -1706,10 +1706,10 @@ index 95abf42577725383a2b49242c28b81beef487ee5..4e5cfc508e356691a9a249013553f97e
};
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 586bfdc39840170b6bb43ef99a1e1f72ec84b062..fe5454f9e2507824c78cab3e31428608bf229ce1 100644
+index 75871f74a25ee34db89a431de584b9982ed07496..1bb8ce8e9de38a7a8342b6e8372f3e763b5d8373 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2349,12 +2349,31 @@ public final class CraftServer implements Server {
+@@ -2355,12 +2355,31 @@ public final class CraftServer implements Server {
private final org.bukkit.Server.Spigot spigot = new org.bukkit.Server.Spigot()
{
@@ -1911,10 +1911,10 @@ 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 65c54d3f52cf5977cf2274d8d5867570082bd8c4..3710423e2181533056bb87c40e129eb5d17a9afd 100644
+index 09f43730e40b4ab9f0a6c8d175cbcf7c9e069fac..6736fe98ddd475ab30d7c97ad334097671b25b92 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2188,6 +2188,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2274,6 +2274,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
packet.components = components;
CraftPlayer.this.getHandle().connection.send(packet);
}
diff --git a/patches/server/0012-Add-command-line-option-to-load-extra-plugin-jars-no.patch b/patches/server/0012-Add-command-line-option-to-load-extra-plugin-jars-no.patch
index e4c83f02f8..7057b50175 100644
--- a/patches/server/0012-Add-command-line-option-to-load-extra-plugin-jars-no.patch
+++ b/patches/server/0012-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 fe5454f9e2507824c78cab3e31428608bf229ce1..d2c5221f7d0ed3cb04f160a9e77d9aba6ec206a4 100644
+index 1bb8ce8e9de38a7a8342b6e8372f3e763b5d8373..70b10d1ff4433e3a487e618582577f5b39e2cec0 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -398,10 +398,15 @@ public final class CraftServer implements Server {
+@@ -399,10 +399,15 @@ public final class CraftServer implements Server {
public void loadPlugins() {
this.pluginManager.registerInterface(JavaPluginLoader.class);
@@ -29,7 +29,7 @@ index fe5454f9e2507824c78cab3e31428608bf229ce1..d2c5221f7d0ed3cb04f160a9e77d9aba
for (Plugin plugin : plugins) {
try {
String message = String.format("Loading %s", plugin.getDescription().getFullName());
-@@ -416,6 +421,35 @@ public final class CraftServer implements Server {
+@@ -417,6 +422,35 @@ public final class CraftServer implements Server {
}
}
diff --git a/patches/server/0020-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch b/patches/server/0020-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch
index bdc9370bf8..2bd7fa11d2 100644
--- a/patches/server/0020-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch
+++ b/patches/server/0020-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch
@@ -32,10 +32,10 @@ index f1c94ec44233ce0007a43922d1ca7ba5e71d68bd..eef07309b24e88820d35517dd868fff2
public SystemReport fillSystemReport(SystemReport details) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index d2c5221f7d0ed3cb04f160a9e77d9aba6ec206a4..bb304601b3795349dd45d94c53f082a3bcc17273 100644
+index 70b10d1ff4433e3a487e618582577f5b39e2cec0..8d60fc971875b3c9f8beb8b2a27e280a68166de9 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -245,7 +245,7 @@ import org.yaml.snakeyaml.error.MarkedYAMLException;
+@@ -246,7 +246,7 @@ import org.yaml.snakeyaml.error.MarkedYAMLException;
import net.md_5.bungee.api.chat.BaseComponent; // Spigot
public final class CraftServer implements Server {
diff --git a/patches/server/0023-Player-affects-spawning-API.patch b/patches/server/0023-Player-affects-spawning-API.patch
index 6c3ce7bc73..70e60cd946 100644
--- a/patches/server/0023-Player-affects-spawning-API.patch
+++ b/patches/server/0023-Player-affects-spawning-API.patch
@@ -117,10 +117,10 @@ index 1e420c4230a326da345b2e28442ece26b44f8259..41d20c16ea165cf166c6f3b228bc8261
for(Player player : this.players()) {
if (EntitySelector.NO_SPECTATORS.test(player) && EntitySelector.LIVING_ENTITY_STILL_ALIVE.test(player)) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 3710423e2181533056bb87c40e129eb5d17a9afd..19b0803242c7964db973473c4219db8f6e2171d3 100644
+index 6736fe98ddd475ab30d7c97ad334097671b25b92..6b8e0bdc49b240cc038e01154ba1cd563c795b90 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1867,8 +1867,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1953,8 +1953,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public String getLocale() {
return this.getHandle().locale;
diff --git a/patches/server/0024-Further-improve-server-tick-loop.patch b/patches/server/0024-Further-improve-server-tick-loop.patch
index 7ec5e96468..2c05bacc5d 100644
--- a/patches/server/0024-Further-improve-server-tick-loop.patch
+++ b/patches/server/0024-Further-improve-server-tick-loop.patch
@@ -144,10 +144,10 @@ index eef07309b24e88820d35517dd868fff25f777262..e26818bd6fb2216ab9b363affe99e4b6
this.startMetricsRecordingTick();
this.profiler.push("tick");
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index bb304601b3795349dd45d94c53f082a3bcc17273..3636921da74f5271a15d79d431c8a33a2c83cd96 100644
+index 8d60fc971875b3c9f8beb8b2a27e280a68166de9..6a47b5d48f178822bf49740b5cef03e237dfc056 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2379,6 +2379,17 @@ public final class CraftServer implements Server {
+@@ -2385,6 +2385,17 @@ public final class CraftServer implements Server {
return CraftMagicNumbers.INSTANCE;
}
diff --git a/patches/server/0025-Only-refresh-abilities-if-needed.patch b/patches/server/0025-Only-refresh-abilities-if-needed.patch
index f6c9cf0a88..ab813469bc 100644
--- a/patches/server/0025-Only-refresh-abilities-if-needed.patch
+++ b/patches/server/0025-Only-refresh-abilities-if-needed.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Only refresh abilities if needed
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 19b0803242c7964db973473c4219db8f6e2171d3..b3469e0ffd15656c8cc7a460cc4d42a6cf106982 100644
+index 6b8e0bdc49b240cc038e01154ba1cd563c795b90..06cdb4b572a456c1daabdd34d4ca1a2670bfd5fe 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1536,12 +1536,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1622,12 +1622,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void setFlying(boolean value) {
diff --git a/patches/server/0031-Configurable-end-credits.patch b/patches/server/0031-Configurable-end-credits.patch
index 80ca20a83d..af70937d19 100644
--- a/patches/server/0031-Configurable-end-credits.patch
+++ b/patches/server/0031-Configurable-end-credits.patch
@@ -20,10 +20,10 @@ index 1b090f2e38a8857ef74403e1f3db8c2ba7127297..bc35bdd9cbd544ae2ab27ad042d7d1b3
+ }
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 25bc0d6a09def9820106bd5889fdcca4aeeba19f..000ea770aeb9510c89d13e31bd9d769f7f884ceb 100644
+index a29450df13bc32d5bc700a944541793a696a94d2..58943b2c2cb416753c60ca5cd4445911ab98eeb6 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -975,6 +975,7 @@ public class ServerPlayer extends Player {
+@@ -980,6 +980,7 @@ public class ServerPlayer extends Player {
this.unRide();
this.getLevel().removePlayerImmediately(this, Entity.RemovalReason.CHANGED_DIMENSION);
if (!this.wonGame) {
diff --git a/patches/server/0038-Implement-PlayerLocaleChangeEvent.patch b/patches/server/0038-Implement-PlayerLocaleChangeEvent.patch
index 877893b0a4..42d2a0d241 100644
--- a/patches/server/0038-Implement-PlayerLocaleChangeEvent.patch
+++ b/patches/server/0038-Implement-PlayerLocaleChangeEvent.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Implement PlayerLocaleChangeEvent
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 000ea770aeb9510c89d13e31bd9d769f7f884ceb..bb2a788d3687977a0607b83150ad1bf1eb8803f2 100644
+index 58943b2c2cb416753c60ca5cd4445911ab98eeb6..1705a2bb3497546635a1b82dcd8d23cb87c21084 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -1728,7 +1728,7 @@ public class ServerPlayer extends Player {
+@@ -1733,7 +1733,7 @@ public class ServerPlayer extends Player {
return s;
}
@@ -17,7 +17,7 @@ index 000ea770aeb9510c89d13e31bd9d769f7f884ceb..bb2a788d3687977a0607b83150ad1bf1
public java.util.Locale adventure$locale = java.util.Locale.US; // Paper
public void updateOptions(ServerboundClientInformationPacket packet) {
// CraftBukkit start
-@@ -1736,9 +1736,10 @@ public class ServerPlayer extends Player {
+@@ -1741,9 +1741,10 @@ public class ServerPlayer extends Player {
PlayerChangedMainHandEvent event = new PlayerChangedMainHandEvent(this.getBukkitEntity(), getMainArm() == HumanoidArm.LEFT ? MainHand.LEFT : MainHand.RIGHT);
this.server.server.getPluginManager().callEvent(event);
}
@@ -30,10 +30,10 @@ index 000ea770aeb9510c89d13e31bd9d769f7f884ceb..bb2a788d3687977a0607b83150ad1bf1
this.locale = packet.language;
// Paper start
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index b3469e0ffd15656c8cc7a460cc4d42a6cf106982..9357440824bf8b125d08c6c785e71c9b1ac95ae4 100644
+index 06cdb4b572a456c1daabdd34d4ca1a2670bfd5fe..68e61e9509565474a800cce4e36112ea3a322591 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1867,8 +1867,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1953,8 +1953,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public String getLocale() {
diff --git a/patches/server/0039-Per-Player-View-Distance-API-placeholders.patch b/patches/server/0039-Per-Player-View-Distance-API-placeholders.patch
index 1091db72e3..59ddb885c9 100644
--- a/patches/server/0039-Per-Player-View-Distance-API-placeholders.patch
+++ b/patches/server/0039-Per-Player-View-Distance-API-placeholders.patch
@@ -7,10 +7,10 @@ I hope to look at this more in-depth soon. It appears doable.
However this should not block the update.
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index bb2a788d3687977a0607b83150ad1bf1eb8803f2..42e69a8e3e93e2da9f4ee576900795b8798b8022 100644
+index 1705a2bb3497546635a1b82dcd8d23cb87c21084..a2227d2b29f2f78d0b7fc8f0650f107b51ca97fc 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -2199,4 +2199,6 @@ public class ServerPlayer extends Player {
+@@ -2204,4 +2204,6 @@ public class ServerPlayer extends Player {
return (CraftPlayer) super.getBukkitEntity();
}
// CraftBukkit end
@@ -60,10 +60,10 @@ index 305d5cb3581764b4d89c1f2220acb5786eb8faef..1b16d5d4823086d41f00bf0ccba4e212
// 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 9357440824bf8b125d08c6c785e71c9b1ac95ae4..ea80d73cf2f5703579dba6f331d9a29d310570f2 100644
+index 68e61e9509565474a800cce4e36112ea3a322591..c5630c292dbcdd8b1c0fcf149df888707a550846 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -389,6 +389,46 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -399,6 +399,46 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
connection.disconnect(message == null ? net.kyori.adventure.text.Component.empty() : message);
}
}
diff --git a/patches/server/0041-Configurable-container-update-tick-rate.patch b/patches/server/0041-Configurable-container-update-tick-rate.patch
index 502a13e959..5711ea74a5 100644
--- a/patches/server/0041-Configurable-container-update-tick-rate.patch
+++ b/patches/server/0041-Configurable-container-update-tick-rate.patch
@@ -19,10 +19,10 @@ index e7b7f0a1a35f782a0da4627b4f02e673ca73693e..1b51f717ec2a0538d9037dd1d4328030
+ }
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 42e69a8e3e93e2da9f4ee576900795b8798b8022..75810e7c5bc554bed91774484ad70b35ab9913d4 100644
+index a2227d2b29f2f78d0b7fc8f0650f107b51ca97fc..948d42f77b7c284e53f9d90f8e51fbf2b906732a 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -218,6 +218,7 @@ public class ServerPlayer extends Player {
+@@ -219,6 +219,7 @@ public class ServerPlayer extends Player {
private int containerCounter;
public int latency;
public boolean wonGame;
@@ -30,7 +30,7 @@ index 42e69a8e3e93e2da9f4ee576900795b8798b8022..75810e7c5bc554bed91774484ad70b35
// CraftBukkit start
public String displayName;
-@@ -590,7 +591,12 @@ public class ServerPlayer extends Player {
+@@ -591,7 +592,12 @@ public class ServerPlayer extends Player {
--this.invulnerableTime;
}
diff --git a/patches/server/0046-Ensure-commands-are-not-ran-async.patch b/patches/server/0046-Ensure-commands-are-not-ran-async.patch
index 0b9d4e7beb..7cc0be9b0f 100644
--- a/patches/server/0046-Ensure-commands-are-not-ran-async.patch
+++ b/patches/server/0046-Ensure-commands-are-not-ran-async.patch
@@ -48,10 +48,10 @@ index 5a321df55ce16c20d7235bea630058b3aa390475..44039e85bbb53e7bf89f9572c29c21fb
} else if (this.player.getChatVisibility() == ChatVisiblity.SYSTEM) {
// Do nothing, this is coming from a plugin
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 3636921da74f5271a15d79d431c8a33a2c83cd96..8df959195e8d516d7f6d90d79c151e8ff5d8bff5 100644
+index 6a47b5d48f178822bf49740b5cef03e237dfc056..51e3c23a43309155730b6d19bc90943d666ca81e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -856,6 +856,28 @@ public final class CraftServer implements Server {
+@@ -857,6 +857,28 @@ public final class CraftServer implements Server {
Validate.notNull(commandLine, "CommandLine cannot be null");
org.spigotmc.AsyncCatcher.catchOp("command dispatch"); // Spigot
diff --git a/patches/server/0048-Expose-server-CommandMap.patch b/patches/server/0048-Expose-server-CommandMap.patch
index f346c727cf..240018b7a0 100644
--- a/patches/server/0048-Expose-server-CommandMap.patch
+++ b/patches/server/0048-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 8df959195e8d516d7f6d90d79c151e8ff5d8bff5..cf42b5e3f3353606410e7dea174927ea18cd2681 100644
+index 51e3c23a43309155730b6d19bc90943d666ca81e..304e532bfd1e9e9417e8a3171e4c29a289dbc3da 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1969,6 +1969,7 @@ public final class CraftServer implements Server {
+@@ -1975,6 +1975,7 @@ public final class CraftServer implements Server {
return this.helpMap;
}
diff --git a/patches/server/0051-Player-Tab-List-and-Title-APIs.patch b/patches/server/0051-Player-Tab-List-and-Title-APIs.patch
index b58b05d23e..174f8a7532 100644
--- a/patches/server/0051-Player-Tab-List-and-Title-APIs.patch
+++ b/patches/server/0051-Player-Tab-List-and-Title-APIs.patch
@@ -63,7 +63,7 @@ index bd808eb312ade7122973a47f4b96505829511da5..bf0f9cab7c66c089f35b851e799ba4a4
// Paper end
buf.writeComponent(this.text);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index ea80d73cf2f5703579dba6f331d9a29d310570f2..81b5c2c0df4944732c99aaee3b325f6c7052ad99 100644
+index c5630c292dbcdd8b1c0fcf149df888707a550846..69182e10af84315cae3cc842c26ca3ff0feb8794 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1,5 +1,6 @@
@@ -73,7 +73,7 @@ index ea80d73cf2f5703579dba6f331d9a29d310570f2..81b5c2c0df4944732c99aaee3b325f6c
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableSet;
import com.google.common.io.BaseEncoding;
-@@ -260,6 +261,100 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -270,6 +271,100 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
}
diff --git a/patches/server/0053-Add-velocity-warnings.patch b/patches/server/0053-Add-velocity-warnings.patch
index bf5f88935b..a2b3504290 100644
--- a/patches/server/0053-Add-velocity-warnings.patch
+++ b/patches/server/0053-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 cf42b5e3f3353606410e7dea174927ea18cd2681..a73d2ec4db6aff8a92c7d0322eaf999609d5ed33 100644
+index 304e532bfd1e9e9417e8a3171e4c29a289dbc3da..f3d0cf0f3d5458e587a3da724bee05acacf10594 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -278,6 +278,7 @@ public final class CraftServer implements Server {
+@@ -279,6 +279,7 @@ public final class CraftServer implements Server {
public boolean ignoreVanillaPermissions = false;
private final List playerView;
public int reloadCount;
diff --git a/patches/server/0054-Configurable-inter-world-teleportation-safety.patch b/patches/server/0054-Configurable-inter-world-teleportation-safety.patch
index 2323934be3..265a597fbe 100644
--- a/patches/server/0054-Configurable-inter-world-teleportation-safety.patch
+++ b/patches/server/0054-Configurable-inter-world-teleportation-safety.patch
@@ -30,10 +30,10 @@ index c248b66486044150c64eaddbef85fa6644494212..ada624b5f58381122e59568c2087cf38
+ }
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 81b5c2c0df4944732c99aaee3b325f6c7052ad99..44d732b3f17c4848f5ce99f3120f87dd9fe2b6c0 100644
+index 69182e10af84315cae3cc842c26ca3ff0feb8794..e91f20720d0f9ee4451164eb4a3d044507f7aec6 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -940,7 +940,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1026,7 +1026,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
if (fromWorld == toWorld) {
entity.connection.teleport(to);
} else {
diff --git a/patches/server/0060-Complete-resource-pack-API.patch b/patches/server/0060-Complete-resource-pack-API.patch
index ccab5d17c3..bb5aefb26c 100644
--- a/patches/server/0060-Complete-resource-pack-API.patch
+++ b/patches/server/0060-Complete-resource-pack-API.patch
@@ -23,10 +23,10 @@ index 44039e85bbb53e7bf89f9572c29c21fb4b147cc7..1ff86d507700ac39752efcbfbbc9b29d
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 44d732b3f17c4848f5ce99f3120f87dd9fe2b6c0..ccf555c97ee9364c965c5194939602f91d46043f 100644
+index e91f20720d0f9ee4451164eb4a3d044507f7aec6..f9e1850d00bcb3b5b5367278e5786ddbf41b7609 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -139,6 +139,7 @@ import org.bukkit.plugin.Plugin;
+@@ -147,6 +147,7 @@ import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.messaging.StandardMessenger;
import org.bukkit.profile.PlayerProfile;
import org.bukkit.scoreboard.Scoreboard;
@@ -34,10 +34,10 @@ index 44d732b3f17c4848f5ce99f3120f87dd9fe2b6c0..ccf555c97ee9364c965c5194939602f9
import net.md_5.bungee.api.chat.BaseComponent; // Spigot
-@@ -155,6 +156,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
- private double health = 20;
- private boolean scaledHealth = false;
+@@ -165,6 +166,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
private double healthScale = 20;
+ private CraftWorldBorder clientWorldBorder = null;
+ private BorderChangeListener clientWorldBorderListener = this.createWorldBorderListener();
+ // Paper start
+ private org.bukkit.event.player.PlayerResourcePackStatusEvent.Status resourcePackStatus;
+ private String resourcePackHash;
@@ -45,7 +45,7 @@ index 44d732b3f17c4848f5ce99f3120f87dd9fe2b6c0..ccf555c97ee9364c965c5194939602f9
public CraftPlayer(CraftServer server, ServerPlayer entity) {
super(server, entity);
-@@ -2017,6 +2022,45 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2103,6 +2108,45 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public boolean getAffectsSpawning() {
return this.getHandle().affectsSpawning;
}
diff --git a/patches/server/0061-Default-loading-permissions.yml-before-plugins.patch b/patches/server/0061-Default-loading-permissions.yml-before-plugins.patch
index 12d156a8bc..5ba4c19c83 100644
--- a/patches/server/0061-Default-loading-permissions.yml-before-plugins.patch
+++ b/patches/server/0061-Default-loading-permissions.yml-before-plugins.patch
@@ -30,10 +30,10 @@ index 11e703e8e78fb49a5f53bdbc20d62422b573ae55..364f9196fb89a6e1bb9cd892971b4862
+ }
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index a73d2ec4db6aff8a92c7d0322eaf999609d5ed33..b89ca165b7103b8a0d6a8e49e62657c70329890a 100644
+index f3d0cf0f3d5458e587a3da724bee05acacf10594..68ccd0b0797b77c1238aaa2cfed5823f08af9857 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -455,6 +455,7 @@ public final class CraftServer implements Server {
+@@ -456,6 +456,7 @@ public final class CraftServer implements Server {
if (type == PluginLoadOrder.STARTUP) {
this.helpMap.clear();
this.helpMap.initializeGeneralTopics();
@@ -41,7 +41,7 @@ index a73d2ec4db6aff8a92c7d0322eaf999609d5ed33..b89ca165b7103b8a0d6a8e49e62657c7
}
Plugin[] plugins = this.pluginManager.getPlugins();
-@@ -474,7 +475,7 @@ public final class CraftServer implements Server {
+@@ -475,7 +476,7 @@ public final class CraftServer implements Server {
this.commandMap.registerServerAliases();
DefaultPermissions.registerCorePermissions();
CraftDefaultPermissions.registerCorePermissions();
diff --git a/patches/server/0062-Allow-Reloading-of-Custom-Permissions.patch b/patches/server/0062-Allow-Reloading-of-Custom-Permissions.patch
index a2a7daf095..6234cbab6d 100644
--- a/patches/server/0062-Allow-Reloading-of-Custom-Permissions.patch
+++ b/patches/server/0062-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 b89ca165b7103b8a0d6a8e49e62657c70329890a..17fe7e47d9e11ca7c82bde34dc478c590328fb00 100644
+index 68ccd0b0797b77c1238aaa2cfed5823f08af9857..7b7669eea3e86cde007be324e8c567c292c1ebda 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2509,5 +2509,23 @@ public final class CraftServer implements Server {
+@@ -2515,5 +2515,23 @@ public final class CraftServer implements Server {
}
return this.adventure$audiences;
}
diff --git a/patches/server/0063-Remove-Metadata-on-reload.patch b/patches/server/0063-Remove-Metadata-on-reload.patch
index 38b992edfe..ec4b45e7db 100644
--- a/patches/server/0063-Remove-Metadata-on-reload.patch
+++ b/patches/server/0063-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 17fe7e47d9e11ca7c82bde34dc478c590328fb00..971652c0a9d5cc1dce05a97629c2ae30682d9cfc 100644
+index 7b7669eea3e86cde007be324e8c567c292c1ebda..d09b9dfdfea5848dcb60ad05d4399b5ed871a795 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -944,8 +944,16 @@ public final class CraftServer implements Server {
+@@ -945,8 +945,16 @@ public final class CraftServer implements Server {
world.paperConfig.init(); // Paper
}
diff --git a/patches/server/0064-Handle-Item-Meta-Inconsistencies.patch b/patches/server/0064-Handle-Item-Meta-Inconsistencies.patch
index d0cba7fd66..00d853415e 100644
--- a/patches/server/0064-Handle-Item-Meta-Inconsistencies.patch
+++ b/patches/server/0064-Handle-Item-Meta-Inconsistencies.patch
@@ -203,7 +203,7 @@ index e88df908377450964ae5b6ff97ee97bd2f09c05f..ba70ac49222c517a38e20e86cee1fd38
static Map getEnchantments(net.minecraft.world.item.ItemStack item) {
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-index 911a732065a908545ac6a7c10262980a59bd157e..3f34d3989df1fedf625dc2bd767794067d8a0c06 100644
+index b42527e0307811a3697f6e7b0afc9a10527acbaf..20d10e5b54edaf1c5212bbc33b8cd1aa426fa826 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -6,6 +6,7 @@ import com.google.common.collect.ImmutableList;
@@ -306,7 +306,7 @@ index 911a732065a908545ac6a7c10262980a59bd157e..3f34d3989df1fedf625dc2bd76779406
}
if (ignoreRestrictions || level >= ench.getStartLevel() && level <= ench.getMaxLevel()) {
-@@ -1216,7 +1219,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -1223,7 +1226,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
clone.customModelData = this.customModelData;
clone.blockData = this.blockData;
if (this.enchantments != null) {
@@ -315,7 +315,7 @@ index 911a732065a908545ac6a7c10262980a59bd157e..3f34d3989df1fedf625dc2bd76779406
}
if (this.hasAttributeModifiers()) {
clone.attributeModifiers = LinkedHashMultimap.create(this.attributeModifiers);
-@@ -1451,4 +1454,22 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -1458,4 +1461,22 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
return CraftMetaItem.HANDLED_TAGS;
}
}
diff --git a/patches/server/0068-handle-NaN-health-absorb-values-and-repair-bad-data.patch b/patches/server/0068-handle-NaN-health-absorb-values-and-repair-bad-data.patch
index fd9126bedf..e14f0df3d8 100644
--- a/patches/server/0068-handle-NaN-health-absorb-values-and-repair-bad-data.patch
+++ b/patches/server/0068-handle-NaN-health-absorb-values-and-repair-bad-data.patch
@@ -44,10 +44,10 @@ index f364978ff256aecb078cca2b6c3fd433d9a4820b..5f7a16651a0ca5497b20d8723e9c1705
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index ccf555c97ee9364c965c5194939602f91d46043f..af277ce2e2d2baff298dffd4b0f9d2ee146b3c9a 100644
+index f9e1850d00bcb3b5b5367278e5786ddbf41b7609..5bfa459e4182d27aa1424d93c872511897c8706d 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1822,6 +1822,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1908,6 +1908,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
public void setRealHealth(double health) {
diff --git a/patches/server/0101-Add-setting-for-proxy-online-mode-status.patch b/patches/server/0101-Add-setting-for-proxy-online-mode-status.patch
index afbb95213b..3869a04b49 100644
--- a/patches/server/0101-Add-setting-for-proxy-online-mode-status.patch
+++ b/patches/server/0101-Add-setting-for-proxy-online-mode-status.patch
@@ -67,10 +67,10 @@ index b7b98832be6178a2bca534bf974519ede977b282..aa3caccc58f1cec8d5f396813d7fc40b
} 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 971652c0a9d5cc1dce05a97629c2ae30682d9cfc..630ff9daa7bbe55e0e52f6127c496fdd10876c6e 100644
+index d09b9dfdfea5848dcb60ad05d4399b5ed871a795..265fbc13c571bcfb7d921445a75add522ec9de52 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1697,7 +1697,7 @@ public final class CraftServer implements Server {
+@@ -1703,7 +1703,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-Allow-Reloading-of-Command-Aliases.patch b/patches/server/0108-Allow-Reloading-of-Command-Aliases.patch
index 618217cda2..c66e8e41b3 100644
--- a/patches/server/0108-Allow-Reloading-of-Command-Aliases.patch
+++ b/patches/server/0108-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 630ff9daa7bbe55e0e52f6127c496fdd10876c6e..5ce9ce7169e346d0156559295ee1bae5c8d45870 100644
+index 265fbc13c571bcfb7d921445a75add522ec9de52..a93cf50004a68b0648f96d2f0ff2f9e4fd65ffc4 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2535,5 +2535,24 @@ public final class CraftServer implements Server {
+@@ -2541,5 +2541,24 @@ public final class CraftServer implements Server {
DefaultPermissions.registerCorePermissions();
CraftDefaultPermissions.registerCorePermissions();
}
diff --git a/patches/server/0113-Bound-Treasure-Maps-to-World-Border.patch b/patches/server/0113-Bound-Treasure-Maps-to-World-Border.patch
index 3985c7f8aa..8217544b69 100644
--- a/patches/server/0113-Bound-Treasure-Maps-to-World-Border.patch
+++ b/patches/server/0113-Bound-Treasure-Maps-to-World-Border.patch
@@ -34,10 +34,10 @@ index 6ec5a1525d0b8ced8fe78d3eab29c5eb82996844..2442c287a7f26cfee10a19e9015558cd
return (double) pos.getMaxBlockX() > this.getMinX() && (double) pos.getMinBlockX() < this.getMaxX() && (double) pos.getMaxBlockZ() > this.getMinZ() && (double) pos.getMinBlockZ() < this.getMaxZ();
}
diff --git a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
-index ebdf71c5dc31dc002c5bb222e954c39e69ac7449..f9fc2fc63080a60fe61ebb08ddd93c4f189df84d 100644
+index 30ee07433cfee7c7911dcea6d8bfc58eacf5833a..fff5c9d40a0bab8642376db3ec25cc1e8d666fa6 100644
--- a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
+++ b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
-@@ -432,6 +432,7 @@ public abstract class ChunkGenerator implements BiomeManager.NoiseBiomeSource {
+@@ -440,6 +440,7 @@ public abstract class ChunkGenerator implements BiomeManager.NoiseBiomeSource {
int l1 = i + i1 * j1;
int i2 = j + i1 * k1;
ChunkPos chunkcoordintpair = randomspreadstructureplacement.getPotentialFeatureChunk(l, l1, i2);
diff --git a/patches/server/0117-String-based-Action-Bar-API.patch b/patches/server/0117-String-based-Action-Bar-API.patch
index cc951dabf0..6fba7cf532 100644
--- a/patches/server/0117-String-based-Action-Bar-API.patch
+++ b/patches/server/0117-String-based-Action-Bar-API.patch
@@ -26,10 +26,10 @@ index 32ef3edebe94a2014168b7e438752a80b2687e5f..ab6c58eed6707ab7b0aa3e7549a871ad
// Paper end
buf.writeComponent(this.text);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index af277ce2e2d2baff298dffd4b0f9d2ee146b3c9a..6f912d77d8da7cb71de9cdb3dc42f61caa5272b5 100644
+index 5bfa459e4182d27aa1424d93c872511897c8706d..479f33c109258f5ddd781fc30e43ec1681095014 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -267,6 +267,26 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -277,6 +277,26 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
// Paper start
diff --git a/patches/server/0118-Properly-fix-item-duplication-bug.patch b/patches/server/0118-Properly-fix-item-duplication-bug.patch
index 4f0ca7cda0..b7d5d263d4 100644
--- a/patches/server/0118-Properly-fix-item-duplication-bug.patch
+++ b/patches/server/0118-Properly-fix-item-duplication-bug.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Properly fix item duplication bug
Credit to prplz for figuring out the real issue
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 75810e7c5bc554bed91774484ad70b35ab9913d4..eafc1fd7200ca93d0524801536669ea4f5ba1408 100644
+index 948d42f77b7c284e53f9d90f8e51fbf2b906732a..a6b600a9dd2cd4acb1a714d944a9ee682a7cc7a6 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -2157,7 +2157,7 @@ public class ServerPlayer extends Player {
+@@ -2162,7 +2162,7 @@ public class ServerPlayer extends Player {
@Override
public boolean isImmobile() {
diff --git a/patches/server/0131-Add-configuration-option-to-prevent-player-names-fro.patch b/patches/server/0131-Add-configuration-option-to-prevent-player-names-fro.patch
index fa031bddd0..32b9203ca1 100644
--- a/patches/server/0131-Add-configuration-option-to-prevent-player-names-fro.patch
+++ b/patches/server/0131-Add-configuration-option-to-prevent-player-names-fro.patch
@@ -20,10 +20,10 @@ index 6f36c7a233ec0335d713523e87a28ba9b5e46d88..bbf5dae44b52941452c65ce4d0820172
+ }
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 5ce9ce7169e346d0156559295ee1bae5c8d45870..57999f25a820cc9b395f6c3037e0fcce9bc4a80c 100644
+index a93cf50004a68b0648f96d2f0ff2f9e4fd65ffc4..984c62117372f9d8cb54ec430c456ec79c20e5bb 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2554,5 +2554,10 @@ public final class CraftServer implements Server {
+@@ -2560,5 +2560,10 @@ public final class CraftServer implements Server {
commandMap.registerServerAliases();
return true;
}
diff --git a/patches/server/0132-Use-TerminalConsoleAppender-for-console-improvements.patch b/patches/server/0132-Use-TerminalConsoleAppender-for-console-improvements.patch
index d65feb5a6a..51f883a862 100644
--- a/patches/server/0132-Use-TerminalConsoleAppender-for-console-improvements.patch
+++ b/patches/server/0132-Use-TerminalConsoleAppender-for-console-improvements.patch
@@ -236,7 +236,7 @@ index 5b1dcf148d24bbd61728d8c2af611b7c4f8dd166..03fc0bca0c1a11db43d315236ca05dfe
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 57999f25a820cc9b395f6c3037e0fcce9bc4a80c..044609ec67ea3fc6240437807a329e136c8e6633 100644
+index 984c62117372f9d8cb54ec430c456ec79c20e5bb..c7136bddf38583167f3944e56df6a26f4c56308f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -45,7 +45,6 @@ import java.util.logging.Level;
@@ -247,7 +247,7 @@ index 57999f25a820cc9b395f6c3037e0fcce9bc4a80c..044609ec67ea3fc6240437807a329e13
import net.minecraft.advancements.Advancement;
import net.minecraft.commands.CommandSourceStack;
import net.minecraft.commands.Commands;
-@@ -1282,9 +1281,13 @@ public final class CraftServer implements Server {
+@@ -1288,9 +1287,13 @@ public final class CraftServer implements Server {
return this.logger;
}
diff --git a/patches/server/0137-Add-UnknownCommandEvent.patch b/patches/server/0137-Add-UnknownCommandEvent.patch
index 22193ce524..9c7f76e216 100644
--- a/patches/server/0137-Add-UnknownCommandEvent.patch
+++ b/patches/server/0137-Add-UnknownCommandEvent.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add UnknownCommandEvent
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 044609ec67ea3fc6240437807a329e136c8e6633..179ba5ae2406d8babfdec386fc8125960043d586 100644
+index c7136bddf38583167f3944e56df6a26f4c56308f..6f1b1191426d864719e1b5cbd42bf5699e6193e3 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -885,7 +885,13 @@ public final class CraftServer implements Server {
+@@ -886,7 +886,13 @@ public final class CraftServer implements Server {
// Spigot start
if (!org.spigotmc.SpigotConfig.unknownCommandMessage.isEmpty()) {
diff --git a/patches/server/0138-Basic-PlayerProfile-API.patch b/patches/server/0138-Basic-PlayerProfile-API.patch
index c402705882..624a0a5794 100644
--- a/patches/server/0138-Basic-PlayerProfile-API.patch
+++ b/patches/server/0138-Basic-PlayerProfile-API.patch
@@ -621,10 +621,10 @@ index c4142568c3188c89142799cc4911dd7eae32a45f..f379e108ec3c762940bddea878a0a711
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 179ba5ae2406d8babfdec386fc8125960043d586..3ebb9ee5938d9cd14f352cba4cb8c74e6aa9c60f 100644
+index 6f1b1191426d864719e1b5cbd42bf5699e6193e3..59f3167c276d93c36b0b36ff0e36918cf498424b 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -243,6 +243,9 @@ import org.yaml.snakeyaml.error.MarkedYAMLException;
+@@ -244,6 +244,9 @@ import org.yaml.snakeyaml.error.MarkedYAMLException;
import net.md_5.bungee.api.chat.BaseComponent; // Spigot
@@ -634,7 +634,7 @@ index 179ba5ae2406d8babfdec386fc8125960043d586..3ebb9ee5938d9cd14f352cba4cb8c74e
public final class CraftServer implements Server {
private final String serverName = "Paper"; // Paper
private final String serverVersion;
-@@ -282,6 +285,7 @@ public final class CraftServer implements Server {
+@@ -283,6 +286,7 @@ public final class CraftServer implements Server {
static {
ConfigurationSerialization.registerClass(CraftOfflinePlayer.class);
ConfigurationSerialization.registerClass(CraftPlayerProfile.class);
@@ -642,7 +642,7 @@ index 179ba5ae2406d8babfdec386fc8125960043d586..3ebb9ee5938d9cd14f352cba4cb8c74e
CraftItemFactory.instance();
}
-@@ -2568,5 +2572,29 @@ public final class CraftServer implements Server {
+@@ -2574,5 +2578,29 @@ public final class CraftServer implements Server {
public boolean suggestPlayerNamesWhenNullTabCompletions() {
return com.destroystokyo.paper.PaperConfig.suggestPlayersWhenNullTabCompletions;
}
diff --git a/patches/server/0144-Implement-ensureServerConversions-API.patch b/patches/server/0144-Implement-ensureServerConversions-API.patch
index 94b99fef75..87c132bd17 100644
--- a/patches/server/0144-Implement-ensureServerConversions-API.patch
+++ b/patches/server/0144-Implement-ensureServerConversions-API.patch
@@ -7,10 +7,10 @@ This will take a Bukkit ItemStack and run it through any conversions a server pr
to ensure it meets latest minecraft expectations.
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
-index 69af359e0160480b77886ca35d8f8f3135f06455..73da393b26a7afd766b23716da454b0b68c26d5b 100644
+index f4e909ca1a8518d697acabca298c387b4bde7542..391ca897138f54cd86c16a797f17ca4324da9d50 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
-@@ -356,5 +356,11 @@ public final class CraftItemFactory implements ItemFactory {
+@@ -380,5 +380,11 @@ public final class CraftItemFactory implements ItemFactory {
public net.kyori.adventure.text.@org.jetbrains.annotations.NotNull Component displayName(@org.jetbrains.annotations.NotNull ItemStack itemStack) {
return io.papermc.paper.adventure.PaperAdventure.asAdventure(CraftItemStack.asNMSCopy(itemStack).getDisplayName());
}
diff --git a/patches/server/0145-Implement-getI18NDisplayName.patch b/patches/server/0145-Implement-getI18NDisplayName.patch
index d9dee100a5..9587ee50b2 100644
--- a/patches/server/0145-Implement-getI18NDisplayName.patch
+++ b/patches/server/0145-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 73da393b26a7afd766b23716da454b0b68c26d5b..3e23fb314ec8c89643b900816075a3542b8bb890 100644
+index 391ca897138f54cd86c16a797f17ca4324da9d50..0c210a527ef1b7efd1c80e2368203ab069047363 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
-@@ -362,5 +362,18 @@ public final class CraftItemFactory implements ItemFactory {
+@@ -386,5 +386,18 @@ public final class CraftItemFactory implements ItemFactory {
public ItemStack ensureServerConversions(ItemStack item) {
return CraftItemStack.asCraftMirror(CraftItemStack.asNMSCopy(item));
}
diff --git a/patches/server/0156-Expose-client-protocol-version-and-virtual-host.patch b/patches/server/0156-Expose-client-protocol-version-and-virtual-host.patch
index e3869466cc..40ad643082 100644
--- a/patches/server/0156-Expose-client-protocol-version-and-virtual-host.patch
+++ b/patches/server/0156-Expose-client-protocol-version-and-virtual-host.patch
@@ -90,10 +90,10 @@ index 63cc89c7769bfcc9d663a1827ad525e3ddd82fe5..a95b2ee0e80832f786bdb8f3d0bc00cb
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 6f912d77d8da7cb71de9cdb3dc42f61caa5272b5..750a436950d43ffc10761984faad246ebe01b06c 100644
+index 479f33c109258f5ddd781fc30e43ec1681095014..9f0f4d48b0b856379a90a49a58c912f29a47b883 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -211,6 +211,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -221,6 +221,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
}
diff --git a/patches/server/0164-AsyncTabCompleteEvent.patch b/patches/server/0164-AsyncTabCompleteEvent.patch
index 5fd131a836..c9196d8d84 100644
--- a/patches/server/0164-AsyncTabCompleteEvent.patch
+++ b/patches/server/0164-AsyncTabCompleteEvent.patch
@@ -72,10 +72,10 @@ index 205b8643df701fd4ee7f31e257ad7867afa10f73..586692eff023d9e6bb9c6ecaa051bd0c
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 3ebb9ee5938d9cd14f352cba4cb8c74e6aa9c60f..88740b58dbdde998aec9ac14364ca2d45dfd41c3 100644
+index 59f3167c276d93c36b0b36ff0e36918cf498424b..9278bc9a3e29cbdf268049c601d42d0b2b9aed11 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2072,7 +2072,7 @@ public final class CraftServer implements Server {
+@@ -2078,7 +2078,7 @@ public final class CraftServer implements Server {
offers = this.tabCompleteChat(player, message);
}
diff --git a/patches/server/0166-Ability-to-apply-mending-to-XP-API.patch b/patches/server/0166-Ability-to-apply-mending-to-XP-API.patch
index f1b17376b3..098a4a2a09 100644
--- a/patches/server/0166-Ability-to-apply-mending-to-XP-API.patch
+++ b/patches/server/0166-Ability-to-apply-mending-to-XP-API.patch
@@ -10,10 +10,10 @@ of giving the player experience points.
Both an API To standalone mend, and apply mending logic to .giveExp has been added.
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 750a436950d43ffc10761984faad246ebe01b06c..0cbfda7cb17580622d8f953ccd4dc0fe36fa05be 100644
+index 9f0f4d48b0b856379a90a49a58c912f29a47b883..5929ee9dc7ccfbaf51c49917dedfbaecb10d4091 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1255,7 +1255,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1341,7 +1341,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
@Override
diff --git a/patches/server/0167-PlayerNaturallySpawnCreaturesEvent.patch b/patches/server/0167-PlayerNaturallySpawnCreaturesEvent.patch
index 868886cb83..2cf123a9f9 100644
--- a/patches/server/0167-PlayerNaturallySpawnCreaturesEvent.patch
+++ b/patches/server/0167-PlayerNaturallySpawnCreaturesEvent.patch
@@ -60,7 +60,7 @@ index d198303d4d0cff34156c00176ec2f3f2ad42ada4..f2d92cd125cbc1bd6fdab774e7002d6b
while (iterator1.hasNext()) {
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index eafc1fd7200ca93d0524801536669ea4f5ba1408..5a37f139148531a51cb02b060739a4b7af183ba7 100644
+index a6b600a9dd2cd4acb1a714d944a9ee682a7cc7a6..824502e053ab975d4ffb3f69712577c94b18fa56 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1,5 +1,6 @@
@@ -70,7 +70,7 @@ index eafc1fd7200ca93d0524801536669ea4f5ba1408..5a37f139148531a51cb02b060739a4b7
import com.google.common.collect.Lists;
import com.mojang.authlib.GameProfile;
import com.mojang.datafixers.util.Either;
-@@ -235,6 +236,7 @@ public class ServerPlayer extends Player {
+@@ -236,6 +237,7 @@ public class ServerPlayer extends Player {
public Integer clientViewDistance;
public String kickLeaveMessage = null; // SPIGOT-3034: Forward leave message to PlayerQuitEvent
// CraftBukkit end
diff --git a/patches/server/0172-Add-ArmorStand-Item-Meta.patch b/patches/server/0172-Add-ArmorStand-Item-Meta.patch
index 4c74f73a6f..159aa8fb7e 100644
--- a/patches/server/0172-Add-ArmorStand-Item-Meta.patch
+++ b/patches/server/0172-Add-ArmorStand-Item-Meta.patch
@@ -255,10 +255,10 @@ index 1b8be8a7103e09065a405a22d427b9a747fc1a3e..2afedf24e485dd36e95988843c70af88
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-index 3f34d3989df1fedf625dc2bd767794067d8a0c06..ba8a8865e72faa826cb5abff3c428b5a2634bb27 100644
+index 20d10e5b54edaf1c5212bbc33b8cd1aa426fa826..d5df6fc244ab82b94196be9c436ba77020716df2 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-@@ -1445,6 +1445,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -1452,6 +1452,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
CraftMetaCrossbow.CHARGED.NBT,
CraftMetaCrossbow.CHARGED_PROJECTILES.NBT,
CraftMetaSuspiciousStew.EFFECTS.NBT,
diff --git a/patches/server/0179-Player.setPlayerProfile-API.patch b/patches/server/0179-Player.setPlayerProfile-API.patch
index 0341183857..056ab2a61a 100644
--- a/patches/server/0179-Player.setPlayerProfile-API.patch
+++ b/patches/server/0179-Player.setPlayerProfile-API.patch
@@ -24,18 +24,18 @@ index d3462cdc5eee37cedbff80f35d5b9c51e8dcd1da..5ebc450432805d52457b9f8ff1e2b198
playerName = gameProfile.getName();
uniqueId = gameProfile.getId();
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 0cbfda7cb17580622d8f953ccd4dc0fe36fa05be..c732d7c20fcce1e3a80fc23c266a147953dd3018 100644
+index 5929ee9dc7ccfbaf51c49917dedfbaecb10d4091..04d40c53ddce5fec704f3c1cc3e965276a0cec72 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -72,6 +72,7 @@ import net.minecraft.world.entity.ai.attributes.Attributes;
+@@ -77,6 +77,7 @@ import net.minecraft.world.entity.ai.attributes.Attributes;
import net.minecraft.world.inventory.AbstractContainerMenu;
import net.minecraft.world.level.GameType;
import net.minecraft.world.level.block.Blocks;
+import net.minecraft.world.level.biome.BiomeManager;
import net.minecraft.world.level.block.entity.SignBlockEntity;
+ import net.minecraft.world.level.border.BorderChangeListener;
import net.minecraft.world.level.saveddata.maps.MapDecoration;
- import net.minecraft.world.level.saveddata.maps.MapItemSavedData;
-@@ -194,11 +195,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -204,11 +205,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return server.getPlayer(getUniqueId()) != null;
}
@@ -47,7 +47,7 @@ index 0cbfda7cb17580622d8f953ccd4dc0fe36fa05be..c732d7c20fcce1e3a80fc23c266a1479
@Override
public InetSocketAddress getAddress() {
if (this.getHandle().connection == null) return null;
-@@ -1388,8 +1384,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1474,8 +1470,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.hiddenEntities.put(entity.getUniqueId(), hidingPlugins);
// Remove this entity from the hidden player's EntityTrackerEntry
@@ -64,7 +64,7 @@ index 0cbfda7cb17580622d8f953ccd4dc0fe36fa05be..c732d7c20fcce1e3a80fc23c266a1479
ChunkMap.TrackedEntity entry = tracker.entityMap.get(other.getId());
if (entry != null) {
entry.removePlayer(this.getHandle());
-@@ -1402,8 +1405,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1488,8 +1491,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.getHandle().connection.send(new ClientboundPlayerInfoPacket(ClientboundPlayerInfoPacket.Action.REMOVE_PLAYER, otherPlayer));
}
}
@@ -73,7 +73,7 @@ index 0cbfda7cb17580622d8f953ccd4dc0fe36fa05be..c732d7c20fcce1e3a80fc23c266a1479
}
@Override
-@@ -1440,8 +1441,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1526,8 +1527,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
this.hiddenEntities.remove(entity.getUniqueId());
@@ -90,7 +90,7 @@ index 0cbfda7cb17580622d8f953ccd4dc0fe36fa05be..c732d7c20fcce1e3a80fc23c266a1479
if (other instanceof ServerPlayer) {
ServerPlayer otherPlayer = (ServerPlayer) other;
-@@ -1452,9 +1460,51 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1538,9 +1546,51 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
if (entry != null && !entry.seenBy.contains(this.getHandle().connection)) {
entry.updatePlayer(this.getHandle());
}
diff --git a/patches/server/0180-getPlayerUniqueId-API.patch b/patches/server/0180-getPlayerUniqueId-API.patch
index e15ff60401..2723330d9f 100644
--- a/patches/server/0180-getPlayerUniqueId-API.patch
+++ b/patches/server/0180-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 88740b58dbdde998aec9ac14364ca2d45dfd41c3..8a7fcbfe18db14e5d0f7c9089c58dea18d12f133 100644
+index 9278bc9a3e29cbdf268049c601d42d0b2b9aed11..9ef4ba665c4f8abaf7ccefa254e15fa11e814fc9 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1699,6 +1699,25 @@ public final class CraftServer implements Server {
+@@ -1705,6 +1705,25 @@ public final class CraftServer implements Server {
return recipients.size();
}
diff --git a/patches/server/0185-Flag-to-disable-the-channel-limit.patch b/patches/server/0185-Flag-to-disable-the-channel-limit.patch
index bfabd5a348..136fc4020f 100644
--- a/patches/server/0185-Flag-to-disable-the-channel-limit.patch
+++ b/patches/server/0185-Flag-to-disable-the-channel-limit.patch
@@ -9,10 +9,10 @@ e.g. servers which allow and support the usage of mod packs.
provide an optional flag to disable this check, at your own risk.
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index c732d7c20fcce1e3a80fc23c266a147953dd3018..072de6ba71462eaca878a7c9cfdb683f93993382 100644
+index 04d40c53ddce5fec704f3c1cc3e965276a0cec72..3a80cec3ce56dc55eb85c37efe0898c4de0b0a16 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -160,6 +160,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -170,6 +170,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
// Paper start
private org.bukkit.event.player.PlayerResourcePackStatusEvent.Status resourcePackStatus;
private String resourcePackHash;
@@ -20,7 +20,7 @@ index c732d7c20fcce1e3a80fc23c266a147953dd3018..072de6ba71462eaca878a7c9cfdb683f
// Paper end
public CraftPlayer(CraftServer server, ServerPlayer entity) {
-@@ -1704,7 +1705,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1790,7 +1791,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
// Paper end
public void addChannel(String channel) {
diff --git a/patches/server/0214-InventoryCloseEvent-Reason-API.patch b/patches/server/0214-InventoryCloseEvent-Reason-API.patch
index 84333f4499..dedb6e6947 100644
--- a/patches/server/0214-InventoryCloseEvent-Reason-API.patch
+++ b/patches/server/0214-InventoryCloseEvent-Reason-API.patch
@@ -29,10 +29,10 @@ index 3cb4a84a08cbf76e39da5f25fea490c26c77a289..1d29f6c12d2c9de7918669ec03da7307
}
// Spigot End
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 5a37f139148531a51cb02b060739a4b7af183ba7..76dcc8dc647a57d3dce978a6d960bb8138bf691d 100644
+index 824502e053ab975d4ffb3f69712577c94b18fa56..1648c395354d193513a78f1227ba14b922623269 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -600,7 +600,7 @@ public class ServerPlayer extends Player {
+@@ -601,7 +601,7 @@ public class ServerPlayer extends Player {
}
// Paper end
if (!this.level.isClientSide && !this.containerMenu.stillValid(this)) {
@@ -41,7 +41,7 @@ index 5a37f139148531a51cb02b060739a4b7af183ba7..76dcc8dc647a57d3dce978a6d960bb81
this.containerMenu = this.inventoryMenu;
}
-@@ -788,7 +788,7 @@ public class ServerPlayer extends Player {
+@@ -793,7 +793,7 @@ public class ServerPlayer extends Player {
// SPIGOT-943 - only call if they have an inventory open
if (this.containerMenu != this.inventoryMenu) {
@@ -50,7 +50,7 @@ index 5a37f139148531a51cb02b060739a4b7af183ba7..76dcc8dc647a57d3dce978a6d960bb81
}
net.kyori.adventure.text.Component deathMessage = event.deathMessage() != null ? event.deathMessage() : net.kyori.adventure.text.Component.empty(); // Paper - Adventure
-@@ -1428,7 +1428,7 @@ public class ServerPlayer extends Player {
+@@ -1433,7 +1433,7 @@ public class ServerPlayer extends Player {
}
// CraftBukkit end
if (this.containerMenu != this.inventoryMenu) {
@@ -59,7 +59,7 @@ index 5a37f139148531a51cb02b060739a4b7af183ba7..76dcc8dc647a57d3dce978a6d960bb81
}
// this.nextContainerCounter(); // CraftBukkit - moved up
-@@ -1456,7 +1456,13 @@ public class ServerPlayer extends Player {
+@@ -1461,7 +1461,13 @@ public class ServerPlayer extends Player {
@Override
public void closeContainer() {
@@ -174,10 +174,10 @@ index c0ed3dd9ebcaf710d202ae8b38007e6a1f20b57e..adfbc156b4c4a8591609f385adaa6b04
@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 072de6ba71462eaca878a7c9cfdb683f93993382..1366dc333449dd6fe2607152db47d1a45028aeb0 100644
+index 3a80cec3ce56dc55eb85c37efe0898c4de0b0a16..8671a21a6a87de296e3dffb174e099f0cd29a40f 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -969,7 +969,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1055,7 +1055,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
// Close any foreign inventory
if (this.getHandle().containerMenu != this.getHandle().inventoryMenu) {
diff --git a/patches/server/0231-AnvilDamageEvent.patch b/patches/server/0231-AnvilDamageEvent.patch
index f2443baeff..3f534c2a7f 100644
--- a/patches/server/0231-AnvilDamageEvent.patch
+++ b/patches/server/0231-AnvilDamageEvent.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] AnvilDamageEvent
diff --git a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
-index 4348a2f7187b4751ceafe567381ebd9828983fef..21215d27e59d7e6ab4b9511340e642c710fb74da 100644
+index 61b33ba6f0c4770971b632e5adf36b294f9d5a5e..a91c26fcf33b39b81a077d42ac0183616e213292 100644
--- a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
+++ b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
-@@ -88,6 +88,16 @@ public class AnvilMenu extends ItemCombinerMenu {
+@@ -89,6 +89,16 @@ public class AnvilMenu extends ItemCombinerMenu {
if (!player.getAbilities().instabuild && iblockdata.is(BlockTags.ANVIL) && player.getRandom().nextFloat() < 0.12F) {
BlockState iblockdata1 = AnvilBlock.damage(iblockdata);
diff --git a/patches/server/0238-Add-Early-Warning-Feature-to-WatchDog.patch b/patches/server/0238-Add-Early-Warning-Feature-to-WatchDog.patch
index 8112c5a4c2..ddcea99d0d 100644
--- a/patches/server/0238-Add-Early-Warning-Feature-to-WatchDog.patch
+++ b/patches/server/0238-Add-Early-Warning-Feature-to-WatchDog.patch
@@ -48,10 +48,10 @@ index 4da9491425649b2b930b2304c4aa6692540ff4cb..d6e6bc73f9bbcae99126876a9abdd346
long start = System.nanoTime(), curTime, tickSection = start; // Paper - Further improve server tick loop
lastTick = start - TICK_TIME; // Paper
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 8a7fcbfe18db14e5d0f7c9089c58dea18d12f133..a804ec5036568f0bf932cd0c3d1a29958a456a74 100644
+index 9ef4ba665c4f8abaf7ccefa254e15fa11e814fc9..dd999bd389e66c8ea00ed5ef5b0d9bbe216aeb94 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -904,6 +904,7 @@ public final class CraftServer implements Server {
+@@ -905,6 +905,7 @@ public final class CraftServer implements Server {
@Override
public void reload() {
@@ -59,7 +59,7 @@ index 8a7fcbfe18db14e5d0f7c9089c58dea18d12f133..a804ec5036568f0bf932cd0c3d1a2995
this.reloadCount++;
this.configuration = YamlConfiguration.loadConfiguration(this.getConfigFile());
this.commandsConfiguration = YamlConfiguration.loadConfiguration(this.getCommandsConfigFile());
-@@ -993,6 +994,7 @@ public final class CraftServer implements Server {
+@@ -994,6 +995,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/0254-Expose-attack-cooldown-methods-for-Player.patch b/patches/server/0254-Expose-attack-cooldown-methods-for-Player.patch
index 18c72bb460..234c5cd5e2 100644
--- a/patches/server/0254-Expose-attack-cooldown-methods-for-Player.patch
+++ b/patches/server/0254-Expose-attack-cooldown-methods-for-Player.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Expose attack cooldown methods for Player
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 1366dc333449dd6fe2607152db47d1a45028aeb0..fe64837ce62277b24eba9dcb83c02f2c9d4cad0f 100644
+index 8671a21a6a87de296e3dffb174e099f0cd29a40f..8299a0a81e371d469ac8ff8fb5f23cc54705313a 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2401,6 +2401,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2487,6 +2487,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.adventure$pointers;
}
diff --git a/patches/server/0255-Improve-death-events.patch b/patches/server/0255-Improve-death-events.patch
index 1950b53668..f66dc52a3e 100644
--- a/patches/server/0255-Improve-death-events.patch
+++ b/patches/server/0255-Improve-death-events.patch
@@ -19,10 +19,10 @@ maybe more (please check patch overrides for drops for more):
- players, armor stands, foxes, chested donkeys/llamas
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 76dcc8dc647a57d3dce978a6d960bb8138bf691d..de0d38f045f4f21c1c7a290a74826483a4ec8471 100644
+index 1648c395354d193513a78f1227ba14b922623269..a24e3ecd41cb4930ec42c7838f869d83a8d0da36 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -220,6 +220,10 @@ public class ServerPlayer extends Player {
+@@ -221,6 +221,10 @@ public class ServerPlayer extends Player {
public int latency;
public boolean wonGame;
private int containerUpdateDelay; // Paper
@@ -33,7 +33,7 @@ index 76dcc8dc647a57d3dce978a6d960bb8138bf691d..de0d38f045f4f21c1c7a290a74826483
// CraftBukkit start
public String displayName;
-@@ -785,6 +789,15 @@ public class ServerPlayer extends Player {
+@@ -790,6 +794,15 @@ public class ServerPlayer extends Player {
String deathmessage = defaultMessage.getString();
this.keepLevel = keepInventory; // SPIGOT-2222: pre-set keepLevel
org.bukkit.event.entity.PlayerDeathEvent event = CraftEventFactory.callPlayerDeathEvent(this, loot, PaperAdventure.asAdventure(defaultMessage), defaultMessage.getString(), keepInventory); // Paper - Adventure
@@ -49,7 +49,7 @@ index 76dcc8dc647a57d3dce978a6d960bb8138bf691d..de0d38f045f4f21c1c7a290a74826483
// SPIGOT-943 - only call if they have an inventory open
if (this.containerMenu != this.inventoryMenu) {
-@@ -932,8 +945,17 @@ public class ServerPlayer extends Player {
+@@ -937,8 +950,17 @@ public class ServerPlayer extends Player {
}
}
}
@@ -308,10 +308,10 @@ index 91cf7728aee475cb36f2c02bbfb7e3d2e0d00576..a3a900d10440ed5ebe24370a77ccb6ca
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index fe64837ce62277b24eba9dcb83c02f2c9d4cad0f..df7821d72094bfe2c781d87bc2bc816569f22c2e 100644
+index 8299a0a81e371d469ac8ff8fb5f23cc54705313a..84fc7688e5d9a86499a88484530f5b9623e8dc22 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1964,7 +1964,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2050,7 +2050,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
public void sendHealthUpdate() {
diff --git a/patches/server/0258-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch b/patches/server/0258-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch
index 7273f35ce1..111c74cacf 100644
--- a/patches/server/0258-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch
+++ b/patches/server/0258-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Implement an API for CanPlaceOn and CanDestroy NBT values
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-index ba8a8865e72faa826cb5abff3c428b5a2634bb27..200d1cd53b5af8d7368b6c34b1cfb64463f3e782 100644
+index d5df6fc244ab82b94196be9c436ba77020716df2..ac779f3cedb7ddd74f39a18f08afbcdad8cd13b1 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -83,6 +83,12 @@ import org.bukkit.persistence.PersistentDataContainer;
@@ -181,7 +181,7 @@ index ba8a8865e72faa826cb5abff3c428b5a2634bb27..200d1cd53b5af8d7368b6c34b1cfb644
}
// Paper start
-@@ -1170,7 +1278,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -1177,7 +1285,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
&& (this.hideFlag == that.hideFlag)
&& (this.isUnbreakable() == that.isUnbreakable())
&& (this.hasDamage() ? that.hasDamage() && this.damage == that.damage : !that.hasDamage())
@@ -194,7 +194,7 @@ index ba8a8865e72faa826cb5abff3c428b5a2634bb27..200d1cd53b5af8d7368b6c34b1cfb644
}
/**
-@@ -1205,6 +1317,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -1212,6 +1324,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
hash = 61 * hash + (this.hasDamage() ? this.damage : 0);
hash = 61 * hash + (this.hasAttributeModifiers() ? this.attributeModifiers.hashCode() : 0);
hash = 61 * hash + this.version;
@@ -205,7 +205,7 @@ index ba8a8865e72faa826cb5abff3c428b5a2634bb27..200d1cd53b5af8d7368b6c34b1cfb644
return hash;
}
-@@ -1229,6 +1345,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -1236,6 +1352,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
clone.unbreakable = this.unbreakable;
clone.damage = this.damage;
clone.version = this.version;
@@ -220,7 +220,7 @@ index ba8a8865e72faa826cb5abff3c428b5a2634bb27..200d1cd53b5af8d7368b6c34b1cfb644
return clone;
} catch (CloneNotSupportedException e) {
throw new Error(e);
-@@ -1286,6 +1410,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -1293,6 +1417,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
builder.put(DAMAGE.BUKKIT, damage);
}
@@ -244,7 +244,7 @@ index ba8a8865e72faa826cb5abff3c428b5a2634bb27..200d1cd53b5af8d7368b6c34b1cfb644
final Map internalTags = new HashMap(this.unhandledTags);
this.serializeInternal(internalTags);
if (!internalTags.isEmpty()) {
-@@ -1452,6 +1593,8 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -1459,6 +1600,8 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
CraftMetaArmorStand.SHOW_ARMS.NBT,
CraftMetaArmorStand.SMALL.NBT,
CraftMetaArmorStand.MARKER.NBT,
@@ -253,7 +253,7 @@ index ba8a8865e72faa826cb5abff3c428b5a2634bb27..200d1cd53b5af8d7368b6c34b1cfb644
// Paper end
CraftMetaCompass.LODESTONE_DIMENSION.NBT,
CraftMetaCompass.LODESTONE_POS.NBT,
-@@ -1480,4 +1623,148 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -1487,4 +1630,148 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
}
// Paper end
diff --git a/patches/server/0271-Call-player-spectator-target-events-and-improve-impl.patch b/patches/server/0271-Call-player-spectator-target-events-and-improve-impl.patch
index 403f8a5460..70325b903d 100644
--- a/patches/server/0271-Call-player-spectator-target-events-and-improve-impl.patch
+++ b/patches/server/0271-Call-player-spectator-target-events-and-improve-impl.patch
@@ -19,10 +19,10 @@ spectate the target entity.
Co-authored-by: Spottedleaf
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index de0d38f045f4f21c1c7a290a74826483a4ec8471..618194bf17817f8dcb37b6d3725be1443b70f774 100644
+index a24e3ecd41cb4930ec42c7838f869d83a8d0da36..0a6617a8f428ddc52ec85209347bf35ce3651431 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -1849,14 +1849,58 @@ public class ServerPlayer extends Player {
+@@ -1854,14 +1854,58 @@ public class ServerPlayer extends Player {
}
public void setCamera(@Nullable Entity entity) {
diff --git a/patches/server/0273-Add-Velocity-IP-Forwarding-Support.patch b/patches/server/0273-Add-Velocity-IP-Forwarding-Support.patch
index e7522b616f..f3c87cf9cf 100644
--- a/patches/server/0273-Add-Velocity-IP-Forwarding-Support.patch
+++ b/patches/server/0273-Add-Velocity-IP-Forwarding-Support.patch
@@ -225,10 +225,10 @@ index 5ebc450432805d52457b9f8ff1e2b1981bdd78e6..4c06e62e967f28eb844d74237948834e
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index a804ec5036568f0bf932cd0c3d1a29958a456a74..7e6e5b4f0c87037e6a365e53959c18063d5af48a 100644
+index dd999bd389e66c8ea00ed5ef5b0d9bbe216aeb94..5bec8257d7f336837d03f7eed48bdeea6179bf1a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -759,7 +759,7 @@ public final class CraftServer implements Server {
+@@ -760,7 +760,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/0277-Reset-players-airTicks-on-respawn.patch b/patches/server/0277-Reset-players-airTicks-on-respawn.patch
index a334557deb..2735a25172 100644
--- a/patches/server/0277-Reset-players-airTicks-on-respawn.patch
+++ b/patches/server/0277-Reset-players-airTicks-on-respawn.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Reset players airTicks on respawn
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 618194bf17817f8dcb37b6d3725be1443b70f774..31e6fefae574e6c3b233425ed39dff428e856cbd 100644
+index 0a6617a8f428ddc52ec85209347bf35ce3651431..b36388f8a6081e3f2b7f6ac93b71ff40518b7b22 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -2251,6 +2251,7 @@ public class ServerPlayer extends Player {
+@@ -2256,6 +2256,7 @@ public class ServerPlayer extends Player {
this.setHealth(this.getMaxHealth());
this.stopUsingItem(); // CraftBukkit - SPIGOT-6682: Clear active item on reset
diff --git a/patches/server/0285-Make-the-default-permission-message-configurable.patch b/patches/server/0285-Make-the-default-permission-message-configurable.patch
index feaaf8cd01..ad68dc74e9 100644
--- a/patches/server/0285-Make-the-default-permission-message-configurable.patch
+++ b/patches/server/0285-Make-the-default-permission-message-configurable.patch
@@ -42,10 +42,10 @@ index c1fbff8ccfdb95aebc330e2621c4fc9c71ebfb9e..36719c689a24c63e7d9a5b40f8c262c1
Object val = config.get("settings.save-player-data");
if (val instanceof Boolean) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 7e6e5b4f0c87037e6a365e53959c18063d5af48a..334e43e0628724996b2bda4ec775a5d637239c5e 100644
+index 5bec8257d7f336837d03f7eed48bdeea6179bf1a..90cdaebe9b8b81b5f7d65e7b153daec7d0df0411 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2594,6 +2594,11 @@ public final class CraftServer implements Server {
+@@ -2600,6 +2600,11 @@ public final class CraftServer implements Server {
return com.destroystokyo.paper.PaperConfig.suggestPlayersWhenNullTabCompletions;
}
diff --git a/patches/server/0288-force-entity-dismount-during-teleportation.patch b/patches/server/0288-force-entity-dismount-during-teleportation.patch
index eb1b30999c..e7df0c3cbd 100644
--- a/patches/server/0288-force-entity-dismount-during-teleportation.patch
+++ b/patches/server/0288-force-entity-dismount-during-teleportation.patch
@@ -20,10 +20,10 @@ this is going to be the best soultion all around.
Improvements/suggestions welcome!
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 31e6fefae574e6c3b233425ed39dff428e856cbd..295f597fb1ecf9210287d14837c286ae173655f1 100644
+index b36388f8a6081e3f2b7f6ac93b71ff40518b7b22..8bd1e1e521a56065b928b5b76b5fcfe1d9634565 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -1322,11 +1322,13 @@ public class ServerPlayer extends Player {
+@@ -1327,11 +1327,13 @@ public class ServerPlayer extends Player {
}
}
diff --git a/patches/server/0293-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch b/patches/server/0293-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch
index 474924b34e..848d964ad9 100644
--- a/patches/server/0293-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch
+++ b/patches/server/0293-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch
@@ -16,10 +16,10 @@ intent to remove) and replace it with two new methods, clearly named and
documented as to their purpose.
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 295f597fb1ecf9210287d14837c286ae173655f1..7d9e65b073feb8ff473f23eaca88f20c0411d386 100644
+index 8bd1e1e521a56065b928b5b76b5fcfe1d9634565..78a37ed352f9ced438e576f09fb340bc5159ddec 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -220,6 +220,7 @@ public class ServerPlayer extends Player {
+@@ -221,6 +221,7 @@ public class ServerPlayer extends Player {
public int latency;
public boolean wonGame;
private int containerUpdateDelay; // Paper
@@ -106,10 +106,10 @@ index f6665825e62a0cd912e6b06df6d68795596486f0..1f2bc88d4570c6ef00e67a772b745e0b
public Location getBedSpawnLocation() {
CompoundTag data = this.getData();
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index df7821d72094bfe2c781d87bc2bc816569f22c2e..3b26461e993207206bfbfd07a9e5ff04ed4460b4 100644
+index 84fc7688e5d9a86499a88484530f5b9623e8dc22..b15876756bf677611f29acefd18b490d333c6291 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -161,6 +161,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -171,6 +171,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
private org.bukkit.event.player.PlayerResourcePackStatusEvent.Status resourcePackStatus;
private String resourcePackHash;
private static final boolean DISABLE_CHANNEL_LIMIT = System.getProperty("paper.disableChannelLimit") != null; // Paper - add a flag to disable the channel limit
@@ -117,7 +117,7 @@ index df7821d72094bfe2c781d87bc2bc816569f22c2e..3b26461e993207206bfbfd07a9e5ff04
// Paper end
public CraftPlayer(CraftServer server, ServerPlayer entity) {
-@@ -1576,6 +1577,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1662,6 +1663,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.firstPlayed = firstPlayed;
}
@@ -136,7 +136,7 @@ index df7821d72094bfe2c781d87bc2bc816569f22c2e..3b26461e993207206bfbfd07a9e5ff04
public void readExtraData(CompoundTag nbttagcompound) {
this.hasPlayedBefore = true;
if (nbttagcompound.contains("bukkit")) {
-@@ -1598,6 +1611,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1684,6 +1697,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
public void setExtraData(CompoundTag nbttagcompound) {
@@ -145,7 +145,7 @@ index df7821d72094bfe2c781d87bc2bc816569f22c2e..3b26461e993207206bfbfd07a9e5ff04
if (!nbttagcompound.contains("bukkit")) {
nbttagcompound.put("bukkit", new CompoundTag());
}
-@@ -1612,6 +1627,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1698,6 +1713,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
data.putLong("firstPlayed", this.getFirstPlayed());
data.putLong("lastPlayed", System.currentTimeMillis());
data.putString("lastKnownName", handle.getScoreboardName());
diff --git a/patches/server/0294-Workaround-for-vehicle-tracking-issue-on-disconnect.patch b/patches/server/0294-Workaround-for-vehicle-tracking-issue-on-disconnect.patch
index 8488c55e58..2610aa0267 100644
--- a/patches/server/0294-Workaround-for-vehicle-tracking-issue-on-disconnect.patch
+++ b/patches/server/0294-Workaround-for-vehicle-tracking-issue-on-disconnect.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Workaround for vehicle tracking issue on disconnect
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 7d9e65b073feb8ff473f23eaca88f20c0411d386..7a187691057a90b71c910dbdcaa6539d334b04ad 100644
+index 78a37ed352f9ced438e576f09fb340bc5159ddec..b4f29e8a3cf30043c4295ec6fa57ab8a184eacab 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -1564,6 +1564,13 @@ public class ServerPlayer extends Player {
+@@ -1569,6 +1569,13 @@ public class ServerPlayer extends Player {
public void disconnect() {
this.disconnected = true;
this.ejectPassengers();
diff --git a/patches/server/0295-Block-Entity-remove-from-being-called-on-Players.patch b/patches/server/0295-Block-Entity-remove-from-being-called-on-Players.patch
index bcccce1885..ea43868468 100644
--- a/patches/server/0295-Block-Entity-remove-from-being-called-on-Players.patch
+++ b/patches/server/0295-Block-Entity-remove-from-being-called-on-Players.patch
@@ -12,10 +12,10 @@ Player we will look at limiting the scope of this change. It appears to
be unintentional in the few cases we've seen so far.
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 3b26461e993207206bfbfd07a9e5ff04ed4460b4..3412f03fae9857243ae51905218818c4ad64beec 100644
+index b15876756bf677611f29acefd18b490d333c6291..4bfb6f50f5cdc8fa46a9062e09887baaa5c79701 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2448,6 +2448,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2534,6 +2534,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public void resetCooldown() {
getHandle().resetAttackStrengthTicker();
}
diff --git a/patches/server/0313-PlayerDeathEvent-getItemsToKeep.patch b/patches/server/0313-PlayerDeathEvent-getItemsToKeep.patch
index f66b348fe7..f7e8c85087 100644
--- a/patches/server/0313-PlayerDeathEvent-getItemsToKeep.patch
+++ b/patches/server/0313-PlayerDeathEvent-getItemsToKeep.patch
@@ -8,10 +8,10 @@ Exposes a mutable array on items a player should keep on death
Example Usage: https://gist.github.com/aikar/5bb202de6057a051a950ce1f29feb0b4
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 7a187691057a90b71c910dbdcaa6539d334b04ad..9441eae174c4441f7f4c9be69d39b415db01910c 100644
+index b4f29e8a3cf30043c4295ec6fa57ab8a184eacab..ecd52f47f70e26112a221ae62bd81d89bdefbfd0 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -761,6 +761,46 @@ public class ServerPlayer extends Player {
+@@ -766,6 +766,46 @@ public class ServerPlayer extends Player {
});
}
@@ -58,7 +58,7 @@ index 7a187691057a90b71c910dbdcaa6539d334b04ad..9441eae174c4441f7f4c9be69d39b415
@Override
public void die(DamageSource source) {
boolean flag = this.level.getGameRules().getBoolean(GameRules.RULE_SHOWDEATHMESSAGES);
-@@ -846,7 +886,12 @@ public class ServerPlayer extends Player {
+@@ -851,7 +891,12 @@ public class ServerPlayer extends Player {
this.dropExperience();
// we clean the player's inventory after the EntityDeathEvent is called so plugins can get the exact state of the inventory.
if (!event.getKeepInventory()) {
diff --git a/patches/server/0319-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch b/patches/server/0319-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch
index 38abe07480..44ccd38f58 100644
--- a/patches/server/0319-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch
+++ b/patches/server/0319-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch
@@ -29,10 +29,10 @@ index cdf6394401882cb0702be6ed962e9c0683d3f67a..5ce1fab4d1e68ad83bd46ae6269446b6
public boolean isDebugging() {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 334e43e0628724996b2bda4ec775a5d637239c5e..1efe81c2bec0920477d3062c0ea5829bd45ebc4d 100644
+index 90cdaebe9b8b81b5f7d65e7b153daec7d0df0411..a98a9a2eb9f19d37bfff412c1dcebecb07b60014 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2061,7 +2061,7 @@ public final class CraftServer implements Server {
+@@ -2067,7 +2067,7 @@ public final class CraftServer implements Server {
@Override
public boolean isPrimaryThread() {
diff --git a/patches/server/0326-Expose-the-internal-current-tick.patch b/patches/server/0326-Expose-the-internal-current-tick.patch
index eac6c57c45..7272ad4f21 100644
--- a/patches/server/0326-Expose-the-internal-current-tick.patch
+++ b/patches/server/0326-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 1efe81c2bec0920477d3062c0ea5829bd45ebc4d..66132ce8beb96c6880a72514d8e43438d962c547 100644
+index a98a9a2eb9f19d37bfff412c1dcebecb07b60014..ad8392124f12f54f4ed03887c805367403e51bb6 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2622,5 +2622,10 @@ public final class CraftServer implements Server {
+@@ -2628,5 +2628,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-PlayerDeathEvent-shouldDropExperience.patch b/patches/server/0342-PlayerDeathEvent-shouldDropExperience.patch
index bfd2b7c68a..7822bc1558 100644
--- a/patches/server/0342-PlayerDeathEvent-shouldDropExperience.patch
+++ b/patches/server/0342-PlayerDeathEvent-shouldDropExperience.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] PlayerDeathEvent#shouldDropExperience
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 9441eae174c4441f7f4c9be69d39b415db01910c..910991b0c153a74d35cf097e0ac5a02559729a2e 100644
+index ecd52f47f70e26112a221ae62bd81d89bdefbfd0..fb486997cf61bc155f8171c55369c6cba35591c0 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -883,7 +883,7 @@ public class ServerPlayer extends Player {
+@@ -888,7 +888,7 @@ public class ServerPlayer extends Player {
this.tellNeutralMobsThatIDied();
}
// SPIGOT-5478 must be called manually now
diff --git a/patches/server/0355-Anti-Xray.patch b/patches/server/0355-Anti-Xray.patch
index 7d35624bd0..5637925313 100644
--- a/patches/server/0355-Anti-Xray.patch
+++ b/patches/server/0355-Anti-Xray.patch
@@ -1180,7 +1180,7 @@ index 071d821094ce1c13ad5755a1ba76d9a8f27bba97..0fad7ad13be138cbc7c4b09f457adbde
List list = Lists.newArrayList();
List list1 = Lists.newArrayList();
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 75d91cb0f432fb9a2b5b9a796ad2a60f4c891060..8c91e1de2bd9a42259be32322eb36d4979684edc 100644
+index 12162ff2dc7c82f50f1d892bc807985ebcd44333..9e779490dfea57112ce088fd398892052b4d9d73 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -395,7 +395,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -1597,10 +1597,10 @@ index f3c67a815c570beb14136905cbf5aa4046ee8394..f8f44cb6e823a0150f3abdab133f8ae2
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 66132ce8beb96c6880a72514d8e43438d962c547..4793390fdeb5b1ba15135edb5576b1e4f3ebefbc 100644
+index ad8392124f12f54f4ed03887c805367403e51bb6..06bfac218c750e3eb8d8a0d52d36ab94ef35ccb1 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2216,7 +2216,7 @@ public final class CraftServer implements Server {
+@@ -2222,7 +2222,7 @@ public final class CraftServer implements Server {
public ChunkGenerator.ChunkData createChunkData(World world) {
Validate.notNull(world, "World cannot be null");
ServerLevel handle = ((CraftWorld) world).getHandle();
diff --git a/patches/server/0359-implement-optional-per-player-mob-spawns.patch b/patches/server/0359-implement-optional-per-player-mob-spawns.patch
index f5d814499d..23e0459aad 100644
--- a/patches/server/0359-implement-optional-per-player-mob-spawns.patch
+++ b/patches/server/0359-implement-optional-per-player-mob-spawns.patch
@@ -394,10 +394,10 @@ index 98f3b91605ecf81538659220354f78d4de9d203e..39b4ddbb87e6ec2e8103445625ff0d7d
this.lastSpawnState = spawnercreature_d;
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 910991b0c153a74d35cf097e0ac5a02559729a2e..9815bb19b8210493d549bed5b2baa95331d71469 100644
+index fb486997cf61bc155f8171c55369c6cba35591c0..84c3407961f0011f6579498084b11d92cd546170 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -225,6 +225,11 @@ public class ServerPlayer extends Player {
+@@ -226,6 +226,11 @@ public class ServerPlayer extends Player {
public boolean queueHealthUpdatePacket = false;
public net.minecraft.network.protocol.game.ClientboundSetHealthPacket queuedHealthUpdatePacket;
// Paper end
@@ -409,7 +409,7 @@ index 910991b0c153a74d35cf097e0ac5a02559729a2e..9815bb19b8210493d549bed5b2baa953
// CraftBukkit start
public String displayName;
-@@ -315,6 +320,7 @@ public class ServerPlayer extends Player {
+@@ -316,6 +321,7 @@ public class ServerPlayer extends Player {
this.adventure$displayName = net.kyori.adventure.text.Component.text(this.getScoreboardName()); // Paper
this.bukkitPickUpLoot = true;
this.maxHealthCache = this.getMaxHealth();
diff --git a/patches/server/0375-Add-tick-times-API-and-mspt-command.patch b/patches/server/0375-Add-tick-times-API-and-mspt-command.patch
index 69221d2124..ba28fc791d 100644
--- a/patches/server/0375-Add-tick-times-API-and-mspt-command.patch
+++ b/patches/server/0375-Add-tick-times-API-and-mspt-command.patch
@@ -146,10 +146,10 @@ index 287014feb99c67083a959f2c09213d49ad5f743d..2e08855085a547151140bcb05dce9bc4
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 4793390fdeb5b1ba15135edb5576b1e4f3ebefbc..827cc40bfba2c277a9329d63b8224e2aa6296fa4 100644
+index 06bfac218c750e3eb8d8a0d52d36ab94ef35ccb1..2d136e8cb25598f610ba114a4e7e1a9f80c08b58 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2455,6 +2455,16 @@ public final class CraftServer implements Server {
+@@ -2461,6 +2461,16 @@ public final class CraftServer implements Server {
net.minecraft.server.MinecraftServer.getServer().tps15.getAverage()
};
}
diff --git a/patches/server/0376-Expose-MinecraftServer-isRunning.patch b/patches/server/0376-Expose-MinecraftServer-isRunning.patch
index b64df530c3..a8a5ca4d2b 100644
--- a/patches/server/0376-Expose-MinecraftServer-isRunning.patch
+++ b/patches/server/0376-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/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 827cc40bfba2c277a9329d63b8224e2aa6296fa4..f1c435ef799b3f7db63c0c73474b9b35b21bba24 100644
+index 2d136e8cb25598f610ba114a4e7e1a9f80c08b58..b74e74d511849c1d94564cc508e832868c304ee9 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2637,5 +2637,10 @@ public final class CraftServer implements Server {
+@@ -2643,5 +2643,10 @@ public final class CraftServer implements Server {
public int getCurrentTick() {
return net.minecraft.server.MinecraftServer.currentTick;
}
diff --git a/patches/server/0378-Pillager-patrol-spawn-settings-and-per-player-option.patch b/patches/server/0378-Pillager-patrol-spawn-settings-and-per-player-option.patch
index 7fedd8c06a..07c5463208 100644
--- a/patches/server/0378-Pillager-patrol-spawn-settings-and-per-player-option.patch
+++ b/patches/server/0378-Pillager-patrol-spawn-settings-and-per-player-option.patch
@@ -33,10 +33,10 @@ index 3db1230c3abe8f4ba321146f8adbff7fadad9362..feadef47940a1eab3ea79236a40ffd3d
public boolean generateFlatBedrock = false;
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 9815bb19b8210493d549bed5b2baa95331d71469..c16203295915df53f4b332af8235db215dab181d 100644
+index 84c3407961f0011f6579498084b11d92cd546170..b63786439e6571a657e142d27f3a3e901212c301 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -221,6 +221,7 @@ public class ServerPlayer extends Player {
+@@ -222,6 +222,7 @@ public class ServerPlayer extends Player {
public boolean wonGame;
private int containerUpdateDelay; // Paper
public long loginTime; // Paper
diff --git a/patches/server/0382-Don-t-tick-dead-players.patch b/patches/server/0382-Don-t-tick-dead-players.patch
index 24260b2064..1689f835df 100644
--- a/patches/server/0382-Don-t-tick-dead-players.patch
+++ b/patches/server/0382-Don-t-tick-dead-players.patch
@@ -7,10 +7,10 @@ Causes sync chunk loads and who knows what all else.
This is safe because Spectators are skipped in unloaded chunks too in vanilla.
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index c16203295915df53f4b332af8235db215dab181d..078ac9596e1e6a3271a7e5e41bda317aadcf2ddf 100644
+index b63786439e6571a657e142d27f3a3e901212c301..b0d0b04984cb89312f49482b9de10362c4659120 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -642,7 +642,7 @@ public class ServerPlayer extends Player {
+@@ -643,7 +643,7 @@ public class ServerPlayer extends Player {
public void doTick() {
try {
diff --git a/patches/server/0385-Don-t-move-existing-players-to-world-spawn.patch b/patches/server/0385-Don-t-move-existing-players-to-world-spawn.patch
index bc64a88f1e..8ab1060ee8 100644
--- a/patches/server/0385-Don-t-move-existing-players-to-world-spawn.patch
+++ b/patches/server/0385-Don-t-move-existing-players-to-world-spawn.patch
@@ -10,10 +10,10 @@ larger than the keep loaded range.
By skipping this, we avoid potential for a large spike on server start.
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 078ac9596e1e6a3271a7e5e41bda317aadcf2ddf..65794caf8fec677037c283eec2802838a0c9ce43 100644
+index b0d0b04984cb89312f49482b9de10362c4659120..2671b27290a4897c2343e071557785f48375ced1 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -312,7 +312,7 @@ public class ServerPlayer extends Player {
+@@ -313,7 +313,7 @@ public class ServerPlayer extends Player {
this.stats = server.getPlayerList().getPlayerStats(this);
this.advancements = server.getPlayerList().getPlayerAdvancements(this);
this.maxUpStep = 1.0F;
@@ -22,7 +22,7 @@ index 078ac9596e1e6a3271a7e5e41bda317aadcf2ddf..65794caf8fec677037c283eec2802838
this.cachedSingleHashSet = new com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<>(this); // Paper
-@@ -530,7 +530,7 @@ public class ServerPlayer extends Player {
+@@ -531,7 +531,7 @@ public class ServerPlayer extends Player {
position = Vec3.atCenterOf(((ServerLevel) world).getSharedSpawnPos());
}
this.level = world;
diff --git a/patches/server/0387-Improved-Watchdog-Support.patch b/patches/server/0387-Improved-Watchdog-Support.patch
index 3a10aa67b4..85abc80077 100644
--- a/patches/server/0387-Improved-Watchdog-Support.patch
+++ b/patches/server/0387-Improved-Watchdog-Support.patch
@@ -323,10 +323,10 @@ index 6129ea877c95445d358baf5036be8c4eee1f2770..9d667be3fe04b7d86986bd1ecaf4fce8
final String msg = String.format("BlockEntity threw exception at %s:%s,%s,%s", LevelChunk.this.getLevel().getWorld().getName(), this.getPos().getX(), this.getPos().getY(), this.getPos().getZ());
net.minecraft.server.MinecraftServer.LOGGER.error(msg, throwable);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index f1c435ef799b3f7db63c0c73474b9b35b21bba24..8f5bd500a21715bc2da7c38f7f8123a2c0de0e96 100644
+index b74e74d511849c1d94564cc508e832868c304ee9..89db5ba958e7f68691507122227c2a331022f74b 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2061,7 +2061,7 @@ public final class CraftServer implements Server {
+@@ -2067,7 +2067,7 @@ public final class CraftServer implements Server {
@Override
public boolean isPrimaryThread() {
diff --git a/patches/server/0391-Prevent-opening-inventories-when-frozen.patch b/patches/server/0391-Prevent-opening-inventories-when-frozen.patch
index 4d220595e7..223a9d52d5 100644
--- a/patches/server/0391-Prevent-opening-inventories-when-frozen.patch
+++ b/patches/server/0391-Prevent-opening-inventories-when-frozen.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Prevent opening inventories when frozen
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 65794caf8fec677037c283eec2802838a0c9ce43..97d7237060f2a9a03180b5d15bcec54246b1645b 100644
+index 2671b27290a4897c2343e071557785f48375ced1..3f4129ba70dd93391189f85ebd5133d23213078b 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -611,7 +611,7 @@ public class ServerPlayer extends Player {
+@@ -612,7 +612,7 @@ public class ServerPlayer extends Player {
containerUpdateDelay = level.paperConfig.containerUpdateTickRate;
}
// Paper end
@@ -17,7 +17,7 @@ index 65794caf8fec677037c283eec2802838a0c9ce43..97d7237060f2a9a03180b5d15bcec542
this.closeContainer(org.bukkit.event.inventory.InventoryCloseEvent.Reason.CANT_USE); // Paper
this.containerMenu = this.inventoryMenu;
}
-@@ -1478,7 +1478,7 @@ public class ServerPlayer extends Player {
+@@ -1483,7 +1483,7 @@ public class ServerPlayer extends Player {
} else {
// CraftBukkit start
this.containerMenu = container;
diff --git a/patches/server/0394-Implement-Player-Client-Options-API.patch b/patches/server/0394-Implement-Player-Client-Options-API.patch
index cacacc1f29..c53eee07e2 100644
--- a/patches/server/0394-Implement-Player-Client-Options-API.patch
+++ b/patches/server/0394-Implement-Player-Client-Options-API.patch
@@ -85,10 +85,10 @@ index 0000000000000000000000000000000000000000..b6f4400df3d8ec7e06a996de54f8cabb
+ }
+}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 97d7237060f2a9a03180b5d15bcec54246b1645b..36753bedf0be050f0bdf2baf26bdeba833967323 100644
+index 3f4129ba70dd93391189f85ebd5133d23213078b..96932bc40d8a0fd865764ba0b77655ffb55c04f5 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -1829,6 +1829,7 @@ public class ServerPlayer extends Player {
+@@ -1834,6 +1834,7 @@ public class ServerPlayer extends Player {
public String locale = null; // CraftBukkit - add, lowercase // Paper - default to null
public java.util.Locale adventure$locale = java.util.Locale.US; // Paper
public void updateOptions(ServerboundClientInformationPacket packet) {
@@ -97,10 +97,10 @@ index 97d7237060f2a9a03180b5d15bcec54246b1645b..36753bedf0be050f0bdf2baf26bdeba8
if (getMainArm() != packet.mainHand()) {
PlayerChangedMainHandEvent event = new PlayerChangedMainHandEvent(this.getBukkitEntity(), getMainArm() == HumanoidArm.LEFT ? MainHand.LEFT : MainHand.RIGHT);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 3412f03fae9857243ae51905218818c4ad64beec..f4643f7ca1468bd7bd60637bf6096a828d1c0a40 100644
+index 4bfb6f50f5cdc8fa46a9062e09887baaa5c79701..1fc88fb5ef5fb0baadc80552de468d0cd6bc2c91 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -561,6 +561,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -571,6 +571,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public void setSendViewDistance(int viewDistance) {
throw new NotImplementedException("Per-Player View Distance APIs need further understanding to properly implement (There are per world view distances though!)"); // TODO
}
diff --git a/patches/server/0398-Fix-Longstanding-Broken-behavior-of-PlayerJoinEvent.patch b/patches/server/0398-Fix-Longstanding-Broken-behavior-of-PlayerJoinEvent.patch
index 380e85628b..c24ca8c5f1 100644
--- a/patches/server/0398-Fix-Longstanding-Broken-behavior-of-PlayerJoinEvent.patch
+++ b/patches/server/0398-Fix-Longstanding-Broken-behavior-of-PlayerJoinEvent.patch
@@ -40,10 +40,10 @@ index 43e5e148f1289ff5e42311981c597c66d98447aa..f4b14d77d5c256852677bd9bc6dbda2b
if (!(entity instanceof EnderDragonPart)) {
EntityType> entitytypes = entity.getType();
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 36753bedf0be050f0bdf2baf26bdeba833967323..d51c012f13664b33f2b2b9a25cb0dffc4b24a117 100644
+index 96932bc40d8a0fd865764ba0b77655ffb55c04f5..95ed3dba34539d07800bd7e34571471d6818e58e 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -244,6 +244,7 @@ public class ServerPlayer extends Player {
+@@ -245,6 +245,7 @@ public class ServerPlayer extends Player {
public double maxHealthCache;
public boolean joining = true;
public boolean sentListPacket = false;
diff --git a/patches/server/0399-Load-Chunks-for-Login-Asynchronously.patch b/patches/server/0399-Load-Chunks-for-Login-Asynchronously.patch
index 518fe13cc5..37b2298a49 100644
--- a/patches/server/0399-Load-Chunks-for-Login-Asynchronously.patch
+++ b/patches/server/0399-Load-Chunks-for-Login-Asynchronously.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Load Chunks for Login Asynchronously
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index d51c012f13664b33f2b2b9a25cb0dffc4b24a117..78dea901bf3a9fdf723be87b0156af2fba5dcdc4 100644
+index 95ed3dba34539d07800bd7e34571471d6818e58e..d00dfcb2005b07f50c3a7a8a8268c5bc8305f333 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -172,6 +172,7 @@ public class ServerPlayer extends Player {
+@@ -173,6 +173,7 @@ public class ServerPlayer extends Player {
private static final int NEUTRAL_MOB_DEATH_NOTIFICATION_RADII_XZ = 32;
private static final int NEUTRAL_MOB_DEATH_NOTIFICATION_RADII_Y = 10;
public ServerGamePacketListenerImpl connection;
@@ -16,7 +16,7 @@ index d51c012f13664b33f2b2b9a25cb0dffc4b24a117..78dea901bf3a9fdf723be87b0156af2f
public final MinecraftServer server;
public final ServerPlayerGameMode gameMode;
private final PlayerAdvancements advancements;
-@@ -245,6 +246,7 @@ public class ServerPlayer extends Player {
+@@ -246,6 +247,7 @@ public class ServerPlayer extends Player {
public boolean joining = true;
public boolean sentListPacket = false;
public boolean supressTrackerForLogin = false; // Paper
diff --git a/patches/server/0407-Expose-game-version.patch b/patches/server/0407-Expose-game-version.patch
index 03ce2e3e19..0d858e703d 100644
--- a/patches/server/0407-Expose-game-version.patch
+++ b/patches/server/0407-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 8f5bd500a21715bc2da7c38f7f8123a2c0de0e96..d04a63299d57ee7d3d4cd53db752562924a90df4 100644
+index 89db5ba958e7f68691507122227c2a331022f74b..0889a9a9eb78fb1030cb538f13a6c2526acbaa3f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -572,6 +572,13 @@ public final class CraftServer implements Server {
+@@ -573,6 +573,13 @@ public final class CraftServer implements Server {
return this.bukkitVersion;
}
diff --git a/patches/server/0410-misc-debugging-dumps.patch b/patches/server/0410-misc-debugging-dumps.patch
index 9da79af1a9..ef89bbd0c8 100644
--- a/patches/server/0410-misc-debugging-dumps.patch
+++ b/patches/server/0410-misc-debugging-dumps.patch
@@ -74,10 +74,10 @@ index 0af65f1698e4ee9d94724f19b0abd61c437f18f2..d21f45d983bf3047811d2d73f4a38deb
this.connection.send(new ClientboundDisconnectPacket(chatmessage));
this.connection.disconnect(chatmessage);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index d04a63299d57ee7d3d4cd53db752562924a90df4..0784e79d0c99a29ea3a04a9b4e360dc385bdfa3a 100644
+index 0889a9a9eb78fb1030cb538f13a6c2526acbaa3f..c7f43771616310e8404b033b3cd99fb0a0024d69 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -996,6 +996,7 @@ public final class CraftServer implements Server {
+@@ -997,6 +997,7 @@ public final class CraftServer implements Server {
plugin.getDescription().getFullName(),
"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/0413-Implement-Mob-Goal-API.patch b/patches/server/0413-Implement-Mob-Goal-API.patch
index 684cfc9fa7..5184774af1 100644
--- a/patches/server/0413-Implement-Mob-Goal-API.patch
+++ b/patches/server/0413-Implement-Mob-Goal-API.patch
@@ -785,10 +785,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 0784e79d0c99a29ea3a04a9b4e360dc385bdfa3a..6521ee7a5f84b72b90b022198d47854d27facc38 100644
+index c7f43771616310e8404b033b3cd99fb0a0024d69..a16cdce0d185d0b42cb266614729c7d6cf7a875d 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2650,5 +2650,11 @@ public final class CraftServer implements Server {
+@@ -2656,5 +2656,11 @@ public final class CraftServer implements Server {
public boolean isStopping() {
return net.minecraft.server.MinecraftServer.getServer().hasStopped();
}
diff --git a/patches/server/0414-Add-villager-reputation-API.patch b/patches/server/0414-Add-villager-reputation-API.patch
index e68e780e09..64d9cbce5c 100644
--- a/patches/server/0414-Add-villager-reputation-API.patch
+++ b/patches/server/0414-Add-villager-reputation-API.patch
@@ -62,12 +62,12 @@ index 22aa000ad7d44a86231fd8ad93083c972f14caa6..125d08fc4536f15604ef13636056c94f
static class GossipEntry {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java
-index 0cd83a20ab565c9a5a38f19eed016289237e72ab..dbc1ea96223675fbe03585598a9c7f51acc61d2e 100644
+index 420b3410fd9ba7930ac9156d52571844964b5403..6de6553e79c9729ef49e2a544730b1ac1020dff2 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java
-@@ -16,6 +16,13 @@ import org.bukkit.entity.Villager;
- import org.bukkit.entity.Villager.Profession;
- import org.bukkit.entity.Villager.Type;
+@@ -16,6 +16,13 @@ import org.bukkit.entity.EntityType;
+ import org.bukkit.entity.Villager;
+ import org.bukkit.entity.ZombieVillager;
+// Paper start
+import com.destroystokyo.paper.entity.villager.Reputation;
@@ -79,7 +79,7 @@ index 0cd83a20ab565c9a5a38f19eed016289237e72ab..dbc1ea96223675fbe03585598a9c7f51
public class CraftVillager extends CraftAbstractVillager implements Villager {
public CraftVillager(CraftServer server, net.minecraft.world.entity.npc.Villager entity) {
-@@ -139,4 +146,45 @@ public class CraftVillager extends CraftAbstractVillager implements Villager {
+@@ -145,4 +152,45 @@ public class CraftVillager extends CraftAbstractVillager implements Villager {
public static VillagerProfession bukkitToNmsProfession(Profession bukkit) {
return Registry.VILLAGER_PROFESSION.get(CraftNamespacedKey.toMinecraft(bukkit.getKey()));
}
diff --git a/patches/server/0420-Wait-for-Async-Tasks-during-shutdown.patch b/patches/server/0420-Wait-for-Async-Tasks-during-shutdown.patch
index a8fcd20144..152b635170 100644
--- a/patches/server/0420-Wait-for-Async-Tasks-during-shutdown.patch
+++ b/patches/server/0420-Wait-for-Async-Tasks-during-shutdown.patch
@@ -22,10 +22,10 @@ index 6d774f126e31e90d0845fc24b1ad7df5346c7cc9..ca228085e07254aa23937219c7ef2b33
// CraftBukkit end
if (this.getConnection() != null) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 6521ee7a5f84b72b90b022198d47854d27facc38..dd5c03a42ac3973334c9cad131fa1c895e45e948 100644
+index a16cdce0d185d0b42cb266614729c7d6cf7a875d..5953f2a15e150a5c0f7a0db9644d4f9f3388856f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1005,6 +1005,35 @@ public final class CraftServer implements Server {
+@@ -1006,6 +1006,35 @@ public final class CraftServer implements Server {
org.spigotmc.WatchdogThread.hasStarted = true; // Paper - Disable watchdog early timeout on reload
}
diff --git a/patches/server/0427-Optimize-anyPlayerCloseEnoughForSpawning-to-use-dist.patch b/patches/server/0427-Optimize-anyPlayerCloseEnoughForSpawning-to-use-dist.patch
index de647c189d..1dfe6c2f4d 100644
--- a/patches/server/0427-Optimize-anyPlayerCloseEnoughForSpawning-to-use-dist.patch
+++ b/patches/server/0427-Optimize-anyPlayerCloseEnoughForSpawning-to-use-dist.patch
@@ -357,10 +357,10 @@ index cf5a5d98420c3849621bfdfae7bda7d5cb4b2dc9..846e6f41fdb6413b10f908c6b3f5c199
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 78dea901bf3a9fdf723be87b0156af2fba5dcdc4..2f90a93224cbbd24d06eb25614e9a0a28300d639 100644
+index d00dfcb2005b07f50c3a7a8a8268c5bc8305f333..9413ef3398553d2c778bcda6f97d99c9570d3b3e 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -252,6 +252,7 @@ public class ServerPlayer extends Player {
+@@ -253,6 +253,7 @@ public class ServerPlayer extends Player {
// CraftBukkit end
public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper
diff --git a/patches/server/0445-Fix-Per-World-Difficulty-Remembering-Difficulty.patch b/patches/server/0445-Fix-Per-World-Difficulty-Remembering-Difficulty.patch
index ecab36dd4a..ef4f624afb 100644
--- a/patches/server/0445-Fix-Per-World-Difficulty-Remembering-Difficulty.patch
+++ b/patches/server/0445-Fix-Per-World-Difficulty-Remembering-Difficulty.patch
@@ -76,10 +76,10 @@ index cec0082718c2a729044d6f19d74b8e4425816725..8eca8825008713467a20f84d71ed0f32
@Override
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 2f90a93224cbbd24d06eb25614e9a0a28300d639..dda1bf2406f8899d73f26c642f6a4ec03dea0415 100644
+index 9413ef3398553d2c778bcda6f97d99c9570d3b3e..94fb29f8dbf4f60b59740efda68016411b3d74b0 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -1115,7 +1115,7 @@ public class ServerPlayer extends Player {
+@@ -1120,7 +1120,7 @@ public class ServerPlayer extends Player {
this.isChangingDimension = true; // CraftBukkit - Set teleport invulnerability only if player changing worlds
this.connection.send(new ClientboundRespawnPacket(worldserver.dimensionTypeRegistration(), worldserver.dimension(), BiomeManager.obfuscateSeed(worldserver.getSeed()), this.gameMode.getGameModeForPlayer(), this.gameMode.getPreviousGameModeForPlayer(), worldserver.isDebug(), worldserver.isFlat(), true));
@@ -102,10 +102,10 @@ index e2446434e0db09d303c4a831c8f60819ade18f9a..33c0db5e7dc0d824e10577fc73406134
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index dd5c03a42ac3973334c9cad131fa1c895e45e948..76a1805b9ff4d711cd88265e9bf152333167360e 100644
+index 5953f2a15e150a5c0f7a0db9644d4f9f3388856f..4756ae3b7e217e3849c6fedfcb6f5b601719735d 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -944,8 +944,8 @@ public final class CraftServer implements Server {
+@@ -945,8 +945,8 @@ public final class CraftServer implements Server {
org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot
com.destroystokyo.paper.PaperConfig.init((File) console.options.valueOf("paper-settings")); // Paper
for (ServerLevel world : this.console.getAllLevels()) {
diff --git a/patches/server/0450-Add-Plugin-Tickets-to-API-Chunk-Methods.patch b/patches/server/0450-Add-Plugin-Tickets-to-API-Chunk-Methods.patch
index 37de5fa939..6cec404f76 100644
--- a/patches/server/0450-Add-Plugin-Tickets-to-API-Chunk-Methods.patch
+++ b/patches/server/0450-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 76a1805b9ff4d711cd88265e9bf152333167360e..145170acf479f9ee8f43ec7b8a39778de182cdfc 100644
+index 4756ae3b7e217e3849c6fedfcb6f5b601719735d..8699b1c7d9085a07919cdb51391a189cf59e6623 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -358,7 +358,7 @@ public final class CraftServer implements Server {
+@@ -359,7 +359,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 76a1805b9ff4d711cd88265e9bf152333167360e..145170acf479f9ee8f43ec7b8a39778d
this.minimumAPI = this.configuration.getString("settings.minimum-api");
this.loadIcon();
}
-@@ -924,7 +924,7 @@ public final class CraftServer implements Server {
+@@ -925,7 +925,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/0451-incremental-chunk-and-player-saving.patch b/patches/server/0451-incremental-chunk-and-player-saving.patch
index 7dfa4660d8..f10e05562b 100644
--- a/patches/server/0451-incremental-chunk-and-player-saving.patch
+++ b/patches/server/0451-incremental-chunk-and-player-saving.patch
@@ -301,7 +301,7 @@ index 846e6f41fdb6413b10f908c6b3f5c199a9f5ef38..9079e469161098e1520f6b9fd963aded
public void close() throws IOException {
// CraftBukkit start
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 42d7802e787d1e2722bf94487f9bf8383aeef660..c77f464b772e72c23fe00e99bc0fee24d46fb16b 100644
+index 894186d25863a437e49ef0c10b2f2dab34af7ed0..38af4d10e2e09c0917ae8ff265e5a6c610fa4404 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1061,6 +1061,37 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -343,10 +343,10 @@ index 42d7802e787d1e2722bf94487f9bf8383aeef660..c77f464b772e72c23fe00e99bc0fee24
ServerChunkCache chunkproviderserver = this.getChunkSource();
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index dda1bf2406f8899d73f26c642f6a4ec03dea0415..b290262b4f765c85847f8846d26f4341f39a826a 100644
+index 94fb29f8dbf4f60b59740efda68016411b3d74b0..30e82817418ebe7e61eab3ed290ce938dde42297 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -169,6 +169,7 @@ import org.bukkit.inventory.MainHand;
+@@ -170,6 +170,7 @@ import org.bukkit.inventory.MainHand;
public class ServerPlayer extends Player {
private static final Logger LOGGER = LogUtils.getLogger();
diff --git a/patches/server/0458-Support-components-in-ItemMeta.patch b/patches/server/0458-Support-components-in-ItemMeta.patch
index 7d7d7af4d6..4fba0081f9 100644
--- a/patches/server/0458-Support-components-in-ItemMeta.patch
+++ b/patches/server/0458-Support-components-in-ItemMeta.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Support components in ItemMeta
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-index ab809278b01f08342821bd4883601e814a74a066..671ac759424eaf9b2573545c6fcbec1f3a0ef731 100644
+index 389a0af8562bf7de6b8e52015286da06aef2f428..24588933984cea75e983752ebd0c5643ff1e7846 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -874,11 +874,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
@@ -69,7 +69,7 @@ index ab809278b01f08342821bd4883601e814a74a066..671ac759424eaf9b2573545c6fcbec1f
@Override
public boolean hasCustomModelData() {
return this.customModelData != null;
-@@ -1495,6 +1530,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -1502,6 +1537,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
}
for (Object object : addFrom) {
diff --git a/patches/server/0463-Add-PrepareResultEvent.patch b/patches/server/0463-Add-PrepareResultEvent.patch
index f84d45cb4c..c989d1c21f 100644
--- a/patches/server/0463-Add-PrepareResultEvent.patch
+++ b/patches/server/0463-Add-PrepareResultEvent.patch
@@ -8,10 +8,10 @@ Adds a new event for all crafting stations that generate a result slot item
Anvil, Grindstone and Smithing now extend this event
diff --git a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
-index 21215d27e59d7e6ab4b9511340e642c710fb74da..aa8c101b29f7d9269f3766476ff7d552c2ab0c36 100644
+index a91c26fcf33b39b81a077d42ac0183616e213292..ec89526f1eabef4681fed57b74fc1bef5be4c0c1 100644
--- a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
+++ b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
-@@ -315,6 +315,7 @@ public class AnvilMenu extends ItemCombinerMenu {
+@@ -316,6 +316,7 @@ public class AnvilMenu extends ItemCombinerMenu {
}
this.createResult();
diff --git a/patches/server/0465-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch b/patches/server/0465-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch
index aa7d212d9e..6231c550be 100644
--- a/patches/server/0465-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch
+++ b/patches/server/0465-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch
@@ -796,10 +796,10 @@ index 9079e469161098e1520f6b9fd963adedd500024b..d0170f92335b331d6904e8c27e75f97e
boolean flag1 = this.chunkMap.promoteChunkMap();
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index b290262b4f765c85847f8846d26f4341f39a826a..2c5117c8e58c540d4f82aad16a13719853be7354 100644
+index 30e82817418ebe7e61eab3ed290ce938dde42297..1ab42e2b35014ad941d97ffef5706e380418bc8f 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -184,6 +184,7 @@ public class ServerPlayer extends Player {
+@@ -185,6 +185,7 @@ public class ServerPlayer extends Player {
private int lastRecordedArmor = Integer.MIN_VALUE;
private int lastRecordedLevel = Integer.MIN_VALUE;
private int lastRecordedExperience = Integer.MIN_VALUE;
@@ -807,7 +807,7 @@ index b290262b4f765c85847f8846d26f4341f39a826a..2c5117c8e58c540d4f82aad16a137198
private float lastSentHealth = -1.0E8F;
private int lastSentFood = -99999999;
private boolean lastFoodSaturationZero = true;
-@@ -328,6 +329,21 @@ public class ServerPlayer extends Player {
+@@ -329,6 +330,21 @@ public class ServerPlayer extends Player {
this.maxHealthCache = this.getMaxHealth();
this.cachedSingleMobDistanceMap = new com.destroystokyo.paper.util.PooledHashSets.PooledObjectLinkedOpenHashSet<>(this); // Paper
}
@@ -1194,10 +1194,10 @@ index 68f6ccacacad0e06f27d56b19b9f68b0691e747e..b61a53af941946a07f8bbd34f53191f3
net.minecraft.world.level.chunk.LevelChunk chunk = (net.minecraft.world.level.chunk.LevelChunk) either.left().orElse(null);
if (chunk != null) addTicket(x, z); // Paper
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index f4643f7ca1468bd7bd60637bf6096a828d1c0a40..7054a162b3899537821972cf8e53f579ee73f853 100644
+index 1fc88fb5ef5fb0baadc80552de468d0cd6bc2c91..581e882cc49a9a1f6cc324fea2646c17d72cdfb4 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -937,6 +937,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1023,6 +1023,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
throw new UnsupportedOperationException("Cannot set rotation of players. Consider teleporting instead.");
}
diff --git a/patches/server/0479-Brand-support.patch b/patches/server/0479-Brand-support.patch
index 156ecd740f..ef922d7e07 100644
--- a/patches/server/0479-Brand-support.patch
+++ b/patches/server/0479-Brand-support.patch
@@ -64,10 +64,10 @@ index 48e4ed91def1cfda0d7f10d00e13c415f74dbca2..82ef4b4f99216eee00c867565d55e133
return (!this.player.joining && !this.connection.isConnected()) || this.processedDisconnect; // Paper
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 7054a162b3899537821972cf8e53f579ee73f853..03a0d25305a2f8e744e11493bb1f469b89f48d84 100644
+index 581e882cc49a9a1f6cc324fea2646c17d72cdfb4..97ae5c8c44efc70634fd939b8082479fd87a5395 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2592,6 +2592,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2678,6 +2678,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
// Paper end
};
diff --git a/patches/server/0480-Add-setMaxPlayers-API.patch b/patches/server/0480-Add-setMaxPlayers-API.patch
index 1c01607e8c..a676e0f067 100644
--- a/patches/server/0480-Add-setMaxPlayers-API.patch
+++ b/patches/server/0480-Add-setMaxPlayers-API.patch
@@ -18,10 +18,10 @@ index d5768986b1666691bbcefac158cea120eaf9cac5..e5dc73d7cfd2ec868b18c5d34010d79d
private int simulationDistance;
private boolean allowCheatsForAllPlayers;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 145170acf479f9ee8f43ec7b8a39778de182cdfc..f56626556f747e052a34d28af7cfaf0a0ebd4872 100644
+index 8699b1c7d9085a07919cdb51391a189cf59e6623..f4eb6a4c4d79b074f9d96f5cb84fc99ff60556a6 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -667,6 +667,13 @@ public final class CraftServer implements Server {
+@@ -668,6 +668,13 @@ public final class CraftServer implements Server {
return this.playerList.getMaxPlayers();
}
diff --git a/patches/server/0496-Create-HoverEvent-from-ItemStack-Entity.patch b/patches/server/0496-Create-HoverEvent-from-ItemStack-Entity.patch
index 9bc751402f..8f6d9af194 100644
--- a/patches/server/0496-Create-HoverEvent-from-ItemStack-Entity.patch
+++ b/patches/server/0496-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 3e23fb314ec8c89643b900816075a3542b8bb890..def8caa7e991cc5f6e8aefcf9e9e3b18149bfdfa 100644
+index 0c210a527ef1b7efd1c80e2368203ab069047363..e8ed3017e2d1ac55f79c85be1860aae84db96edc 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
-@@ -375,5 +375,40 @@ public final class CraftItemFactory implements ItemFactory {
+@@ -399,5 +399,40 @@ public final class CraftItemFactory implements ItemFactory {
return nms != null ? net.minecraft.locale.Language.getInstance().getOrDefault(nms.getItem().getDescriptionId(nms)) : null;
}
diff --git a/patches/server/0516-Player-elytra-boost-API.patch b/patches/server/0516-Player-elytra-boost-API.patch
index 90599987a5..ebc1f40f22 100644
--- a/patches/server/0516-Player-elytra-boost-API.patch
+++ b/patches/server/0516-Player-elytra-boost-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Player elytra boost API
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 03a0d25305a2f8e744e11493bb1f469b89f48d84..6133280b544cbd30cf1f67e5cbc452261a042b20 100644
+index 97ae5c8c44efc70634fd939b8082479fd87a5395..8f95dff2148a3e411e2ca0dc3d4f97a4d38f9848 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -579,6 +579,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -589,6 +589,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
throw new RuntimeException("Unknown settings type");
}
diff --git a/patches/server/0519-Add-getOfflinePlayerIfCached-String.patch b/patches/server/0519-Add-getOfflinePlayerIfCached-String.patch
index c17fd149d2..0c27ba944e 100644
--- a/patches/server/0519-Add-getOfflinePlayerIfCached-String.patch
+++ b/patches/server/0519-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 f56626556f747e052a34d28af7cfaf0a0ebd4872..5512437f8c051cbef11817739497c30bfdde81da 100644
+index f4eb6a4c4d79b074f9d96f5cb84fc99ff60556a6..67579748521194f49d371be6dacc2005d7f752ed 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1794,6 +1794,28 @@ public final class CraftServer implements Server {
+@@ -1800,6 +1800,28 @@ public final class CraftServer implements Server {
return result;
}
diff --git a/patches/server/0526-Add-API-for-quit-reason.patch b/patches/server/0526-Add-API-for-quit-reason.patch
index 7162706203..05b63f051d 100644
--- a/patches/server/0526-Add-API-for-quit-reason.patch
+++ b/patches/server/0526-Add-API-for-quit-reason.patch
@@ -25,10 +25,10 @@ index 1c63947958d202d00593e2b76d113c8b327706d7..932b494ea2a5e849b233c73bd2472d5c
Connection.LOGGER.debug("Failed to sent packet", throwable);
ConnectionProtocol enumprotocol = this.getCurrentProtocol();
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 2c5117c8e58c540d4f82aad16a13719853be7354..139e1c3ea0a3693f533f7f276b2998e1d24fc253 100644
+index 1ab42e2b35014ad941d97ffef5706e380418bc8f..1168641b7f939a98c61d03ac86dbc796f70dc31f 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -256,6 +256,7 @@ public class ServerPlayer extends Player {
+@@ -257,6 +257,7 @@ public class ServerPlayer extends Player {
public double lastEntitySpawnRadiusSquared; // Paper - optimise isOutsideRange, this field is in blocks
public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet cachedSingleHashSet; // Paper
diff --git a/patches/server/0531-Fix-Player-spawnParticle-x-y-z-precision-loss.patch b/patches/server/0531-Fix-Player-spawnParticle-x-y-z-precision-loss.patch
index 8cb2fbc01f..d80933eb47 100644
--- a/patches/server/0531-Fix-Player-spawnParticle-x-y-z-precision-loss.patch
+++ b/patches/server/0531-Fix-Player-spawnParticle-x-y-z-precision-loss.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Fix Player spawnParticle x/y/z precision loss
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 6133280b544cbd30cf1f67e5cbc452261a042b20..a0b9a611b8b744c24c6263fac5be608b706232b7 100644
+index 8f95dff2148a3e411e2ca0dc3d4f97a4d38f9848..d5902d8a4e324014a0cdd503934f9b049e1f123c 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2163,7 +2163,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2249,7 +2249,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
if (data != null && !particle.getDataType().isInstance(data)) {
throw new IllegalArgumentException("data should be " + particle.getDataType() + " got " + data.getClass());
}
diff --git a/patches/server/0542-Player-Chunk-Load-Unload-Events.patch b/patches/server/0542-Player-Chunk-Load-Unload-Events.patch
index a8727132b4..3e60e4b85b 100644
--- a/patches/server/0542-Player-Chunk-Load-Unload-Events.patch
+++ b/patches/server/0542-Player-Chunk-Load-Unload-Events.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Player Chunk Load/Unload Events
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 139e1c3ea0a3693f533f7f276b2998e1d24fc253..f343a52a325aa338a590ec8e35c0fa2a7f4703f3 100644
+index 1168641b7f939a98c61d03ac86dbc796f70dc31f..695c6aac6d95aee895f9ef4b5b538e1747931167 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -2108,11 +2108,21 @@ public class ServerPlayer extends Player {
+@@ -2113,11 +2113,21 @@ public class ServerPlayer extends Player {
public void trackChunk(ChunkPos chunkPos, Packet> chunkDataPacket) {
this.connection.send(chunkDataPacket);
diff --git a/patches/server/0563-Added-world-settings-for-mobs-picking-up-loot.patch b/patches/server/0563-Added-world-settings-for-mobs-picking-up-loot.patch
index cc656efba7..69ca59fc82 100644
--- a/patches/server/0563-Added-world-settings-for-mobs-picking-up-loot.patch
+++ b/patches/server/0563-Added-world-settings-for-mobs-picking-up-loot.patch
@@ -37,10 +37,10 @@ index 609380af4de4118a543b6ec94feb176e6f6870ed..ecf12ed5014202181e78af051e4a9ca8
LocalDate localdate = LocalDate.now();
int i = localdate.get(ChronoField.DAY_OF_MONTH);
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
-index 7f779d724f8682cdfb777375f7e0af48f53708d3..dffb315cf21472f306bcc1d9fdcfba441a87b18f 100644
+index 3221bac65860801cc3ff8cca73b38669d354ba54..752ef51c7581062879fcc6111cec90828eaea452 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
-@@ -498,7 +498,7 @@ public class Zombie extends Monster {
+@@ -503,7 +503,7 @@ public class Zombie extends Monster {
Object object = super.finalizeSpawn(world, difficulty, spawnReason, entityData, entityNbt);
float f = difficulty.getSpecialMultiplier();
diff --git a/patches/server/0572-Add-sendOpLevel-API.patch b/patches/server/0572-Add-sendOpLevel-API.patch
index 8dbde4b661..68d1364e0f 100644
--- a/patches/server/0572-Add-sendOpLevel-API.patch
+++ b/patches/server/0572-Add-sendOpLevel-API.patch
@@ -32,10 +32,10 @@ index f0e2f637d443db71bd9df26cebb0f02c3e1ae85f..64b8d76642e8bbcdc685ea30d95a83ad
// Paper start
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index a0b9a611b8b744c24c6263fac5be608b706232b7..d5d73ba9d6c7d1e91aa469c6d0e2df80393a621c 100644
+index d5902d8a4e324014a0cdd503934f9b049e1f123c..0fff9e1b95eb5a0738cbf3af6974db9febc40697 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -593,6 +593,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -603,6 +603,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
? (org.bukkit.entity.Firework) entity.getBukkitEntity()
: null;
}
diff --git a/patches/server/0574-Add-StructuresLocateEvent.patch b/patches/server/0574-Add-StructuresLocateEvent.patch
index b42b98e3db..7a03d1b7a0 100644
--- a/patches/server/0574-Add-StructuresLocateEvent.patch
+++ b/patches/server/0574-Add-StructuresLocateEvent.patch
@@ -85,10 +85,10 @@ index 696d382283f94335f6e23eb12c6fa209c51cff8c..e74885c51c2970af13d847ec34a415e5
if (Thread.currentThread() != this.serverThread) return; // Paper
//this.getPlayerList().saveAll(); // Paper - we don't need to do this
diff --git a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
-index f9fc2fc63080a60fe61ebb08ddd93c4f189df84d..97b29671a8df6d102be3982443f6f784e2e1d6e1 100644
+index fff5c9d40a0bab8642376db3ec25cc1e8d666fa6..a3af8b892a01756addc8c24e0726b5a8a700cbba 100644
--- a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
+++ b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
-@@ -294,6 +294,26 @@ public abstract class ChunkGenerator implements BiomeManager.NoiseBiomeSource {
+@@ -302,6 +302,26 @@ public abstract class ChunkGenerator implements BiomeManager.NoiseBiomeSource {
@Nullable
public Pair>> findNearestMapFeature(ServerLevel worldserver, HolderSet> holderset, BlockPos center, int radius, boolean skipExistingChunks) {
diff --git a/patches/server/0585-Reset-shield-blocking-on-dimension-change.patch b/patches/server/0585-Reset-shield-blocking-on-dimension-change.patch
index 0e75aecc5c..642fb71a89 100644
--- a/patches/server/0585-Reset-shield-blocking-on-dimension-change.patch
+++ b/patches/server/0585-Reset-shield-blocking-on-dimension-change.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Reset shield blocking on dimension change
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index f343a52a325aa338a590ec8e35c0fa2a7f4703f3..95f339da3a6978da3e1bcd7e6cd1c6b70cbe91aa 100644
+index 695c6aac6d95aee895f9ef4b5b538e1747931167..b51eaeaf9a61902fdf26dcc62f0725225b20ad1d 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -1168,6 +1168,11 @@ public class ServerPlayer extends Player {
+@@ -1173,6 +1173,11 @@ public class ServerPlayer extends Player {
this.level.getCraftServer().getPluginManager().callEvent(changeEvent);
// CraftBukkit end
}
diff --git a/patches/server/0608-Implement-Keyed-on-World.patch b/patches/server/0608-Implement-Keyed-on-World.patch
index 1f213b20d2..ff2ec89307 100644
--- a/patches/server/0608-Implement-Keyed-on-World.patch
+++ b/patches/server/0608-Implement-Keyed-on-World.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Implement Keyed on World
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 5512437f8c051cbef11817739497c30bfdde81da..555015be2b9f83834b70ecb415aca3807520a6bd 100644
+index 67579748521194f49d371be6dacc2005d7f752ed..d7f45b1fb5e2ce55ceaf6f844286a177533374a3 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1231,7 +1231,7 @@ public final class CraftServer implements Server {
+@@ -1232,7 +1232,7 @@ public final class CraftServer implements Server {
} else if (name.equals(levelName + "_the_end")) {
worldKey = net.minecraft.world.level.Level.END;
} else {
@@ -17,7 +17,7 @@ index 5512437f8c051cbef11817739497c30bfdde81da..555015be2b9f83834b70ecb415aca380
}
ServerLevel internal = (ServerLevel) new ServerLevel(this.console, console.executor, worldSession, worlddata, worldKey, holder, this.getServer().progressListenerFactory.create(11),
-@@ -1323,6 +1323,15 @@ public final class CraftServer implements Server {
+@@ -1324,6 +1324,15 @@ public final class CraftServer implements Server {
return null;
}
diff --git a/patches/server/0643-call-PortalCreateEvent-players-and-end-platform.patch b/patches/server/0643-call-PortalCreateEvent-players-and-end-platform.patch
index 31f631bf91..35c8773feb 100644
--- a/patches/server/0643-call-PortalCreateEvent-players-and-end-platform.patch
+++ b/patches/server/0643-call-PortalCreateEvent-players-and-end-platform.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] call PortalCreateEvent players and end platform
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 95f339da3a6978da3e1bcd7e6cd1c6b70cbe91aa..246556a0018fbe5164379fab8d06c9135ae9b19f 100644
+index b51eaeaf9a61902fdf26dcc62f0725225b20ad1d..03cbe2436caf1546ef94102b96a848b1b1b701ed 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -1195,15 +1195,21 @@ public class ServerPlayer extends Player {
+@@ -1200,15 +1200,21 @@ public class ServerPlayer extends Player {
private void createEndPlatform(ServerLevel world, BlockPos centerPos) {
BlockPos.MutableBlockPos blockposition_mutableblockposition = centerPos.mutable();
diff --git a/patches/server/0646-Add-basic-Datapack-API.patch b/patches/server/0646-Add-basic-Datapack-API.patch
index d235d9f011..f55e80f67b 100644
--- a/patches/server/0646-Add-basic-Datapack-API.patch
+++ b/patches/server/0646-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 555015be2b9f83834b70ecb415aca3807520a6bd..bfa7fb378612b4d25e55da6d1346b72763d39dbb 100644
+index d7f45b1fb5e2ce55ceaf6f844286a177533374a3..48f991bd9b6ec689b462f6a546ec1379d2e30002 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -280,6 +280,7 @@ public final class CraftServer implements Server {
+@@ -281,6 +281,7 @@ public final class CraftServer implements Server {
public boolean ignoreVanillaPermissions = false;
private final List playerView;
public int reloadCount;
@@ -103,7 +103,7 @@ index 555015be2b9f83834b70ecb415aca3807520a6bd..bfa7fb378612b4d25e55da6d1346b727
public static Exception excessiveVelEx; // Paper - Velocity warnings
static {
-@@ -361,6 +362,7 @@ public final class CraftServer implements Server {
+@@ -362,6 +363,7 @@ public final class CraftServer implements Server {
TicketType.PLUGIN.timeout = Math.min(20, this.configuration.getInt("chunk-gc.period-in-ticks")); // Paper - cap plugin loads to 1 second
this.minimumAPI = this.configuration.getString("settings.minimum-api");
this.loadIcon();
@@ -111,7 +111,7 @@ index 555015be2b9f83834b70ecb415aca3807520a6bd..bfa7fb378612b4d25e55da6d1346b727
}
public boolean getCommandBlockOverride(String command) {
-@@ -2723,5 +2725,11 @@ public final class CraftServer implements Server {
+@@ -2729,5 +2731,11 @@ public final class CraftServer implements Server {
public com.destroystokyo.paper.entity.ai.MobGoals getMobGoals() {
return mobGoals;
}
diff --git a/patches/server/0648-additions-to-PlayerGameModeChangeEvent.patch b/patches/server/0648-additions-to-PlayerGameModeChangeEvent.patch
index f027ccc47c..0bf7b21aa6 100644
--- a/patches/server/0648-additions-to-PlayerGameModeChangeEvent.patch
+++ b/patches/server/0648-additions-to-PlayerGameModeChangeEvent.patch
@@ -45,10 +45,10 @@ index d75f78d2e3fb1376e8f6a8668c98a04a693c99e1..79f6089b934124c3309c6bee2e48b36b
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 246556a0018fbe5164379fab8d06c9135ae9b19f..75b3f8a68bb7017c25ffd4190f9969c066bc5e3f 100644
+index 03cbe2436caf1546ef94102b96a848b1b1b701ed..1ba0b24ca73a505239838a771a1cb851b2a40753 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -1804,8 +1804,15 @@ public class ServerPlayer extends Player {
+@@ -1809,8 +1809,15 @@ public class ServerPlayer extends Player {
}
public boolean setGameMode(GameType gameMode) {
@@ -66,7 +66,7 @@ index 246556a0018fbe5164379fab8d06c9135ae9b19f..75b3f8a68bb7017c25ffd4190f9969c0
} else {
this.connection.send(new ClientboundGameEventPacket(ClientboundGameEventPacket.CHANGE_GAME_MODE, (float) gameMode.getId()));
if (gameMode == GameType.SPECTATOR) {
-@@ -1817,7 +1824,7 @@ public class ServerPlayer extends Player {
+@@ -1822,7 +1829,7 @@ public class ServerPlayer extends Player {
this.onUpdateAbilities();
this.updateEffectVisibility();
@@ -75,7 +75,7 @@ index 246556a0018fbe5164379fab8d06c9135ae9b19f..75b3f8a68bb7017c25ffd4190f9969c0
}
}
-@@ -2199,6 +2206,16 @@ public class ServerPlayer extends Player {
+@@ -2204,6 +2211,16 @@ public class ServerPlayer extends Player {
}
public void loadGameTypes(@Nullable CompoundTag nbt) {
@@ -139,10 +139,10 @@ index 20a1c0e3926e3853c74e0d6484333bca02c76a2f..50797b32b71b2c8a73f34313021457b2
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index d5d73ba9d6c7d1e91aa469c6d0e2df80393a621c..f623aad54714449d0c2793d68adbf8cfb1f640a2 100644
+index 0fff9e1b95eb5a0738cbf3af6974db9febc40697..6c6a5c36cec7ab3e6548554d7463b2912c02deaa 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1286,7 +1286,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1372,7 +1372,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
throw new IllegalArgumentException("Mode cannot be null");
}
diff --git a/patches/server/0651-Fix-and-optimise-world-force-upgrading.patch b/patches/server/0651-Fix-and-optimise-world-force-upgrading.patch
index 8976eff072..5865171a6b 100644
--- a/patches/server/0651-Fix-and-optimise-world-force-upgrading.patch
+++ b/patches/server/0651-Fix-and-optimise-world-force-upgrading.patch
@@ -357,10 +357,10 @@ index 4bc33c31d497aa7d69226ab870fd78902bedfd5b..089e8414c7bdc102ba0d914af576df1a
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 bfa7fb378612b4d25e55da6d1346b72763d39dbb..38b3404b4c097bbb654886145c34148fd18a17c8 100644
+index 48f991bd9b6ec689b462f6a546ec1379d2e30002..ecffb6e2c779d520e25c79d04f10d408a7c778c6 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1192,12 +1192,7 @@ public final class CraftServer implements Server {
+@@ -1193,12 +1193,7 @@ public final class CraftServer implements Server {
}
worlddata.checkName(name);
worlddata.setModdedInfo(this.console.getServerModName(), this.console.getModdedStatus().shouldReportAsModified());
@@ -374,7 +374,7 @@ index bfa7fb378612b4d25e55da6d1346b72763d39dbb..38b3404b4c097bbb654886145c34148f
long j = BiomeManager.obfuscateSeed(creator.seed());
List list = ImmutableList.of(new PhantomSpawner(), new PatrolSpawner(), new CatSpawner(), new VillageSiege(), new WanderingTraderSpawner(worlddata));
-@@ -1226,6 +1221,14 @@ public final class CraftServer implements Server {
+@@ -1227,6 +1222,14 @@ public final class CraftServer implements Server {
}
}
diff --git a/patches/server/0659-Add-PlayerKickEvent-causes.patch b/patches/server/0659-Add-PlayerKickEvent-causes.patch
index 0b13c8fb14..0bdfea813c 100644
--- a/patches/server/0659-Add-PlayerKickEvent-causes.patch
+++ b/patches/server/0659-Add-PlayerKickEvent-causes.patch
@@ -342,10 +342,10 @@ index 5d7d1372e012ce609073eecea83232b085c6c404..ee139c746328fcff67b1ee75629dbee0
// CraftBukkit end
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index f623aad54714449d0c2793d68adbf8cfb1f640a2..f23dbb48e051d69ecae408080a30a1ebe8c32a2b 100644
+index 6c6a5c36cec7ab3e6548554d7463b2912c02deaa..878620e37635396d58e48fa1910843c01d11aa5b 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -509,16 +509,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -519,16 +519,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
org.spigotmc.AsyncCatcher.catchOp("player kick"); // Spigot
if (this.getHandle().connection == null) return;
diff --git a/patches/server/0674-Fix-PlayerDropItemEvent-using-wrong-item.patch b/patches/server/0674-Fix-PlayerDropItemEvent-using-wrong-item.patch
index 5274d9fd61..4f89c53f09 100644
--- a/patches/server/0674-Fix-PlayerDropItemEvent-using-wrong-item.patch
+++ b/patches/server/0674-Fix-PlayerDropItemEvent-using-wrong-item.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Fix PlayerDropItemEvent using wrong item
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 75b3f8a68bb7017c25ffd4190f9969c066bc5e3f..174f0f1bbe32e8753e360db0194c5ec20fbf22bd 100644
+index 1ba0b24ca73a505239838a771a1cb851b2a40753..7ae525803609f173c0a38b17d2ef86c1facbd5dc 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -2175,7 +2175,7 @@ public class ServerPlayer extends Player {
+@@ -2180,7 +2180,7 @@ public class ServerPlayer extends Player {
if (retainOwnership) {
if (!itemstack1.isEmpty()) {
diff --git a/patches/server/0681-Fixes-kick-event-leave-message-not-being-sent.patch b/patches/server/0681-Fixes-kick-event-leave-message-not-being-sent.patch
index a44bfeed5d..202829d29a 100644
--- a/patches/server/0681-Fixes-kick-event-leave-message-not-being-sent.patch
+++ b/patches/server/0681-Fixes-kick-event-leave-message-not-being-sent.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Fixes kick event leave message not being sent
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 174f0f1bbe32e8753e360db0194c5ec20fbf22bd..ca9a30a279e7d12c63b351e437fb9dcc11e2ed56 100644
+index 7ae525803609f173c0a38b17d2ef86c1facbd5dc..3a44756d9e71a56293f41ec9aab141ba81ba9f7c 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -250,7 +250,6 @@ public class ServerPlayer extends Player {
+@@ -251,7 +251,6 @@ public class ServerPlayer extends Player {
public boolean supressTrackerForLogin = false; // Paper
public boolean didPlayerJoinEvent = false; // Paper
public Integer clientViewDistance;
diff --git a/patches/server/0684-Don-t-apply-cramming-damage-to-players.patch b/patches/server/0684-Don-t-apply-cramming-damage-to-players.patch
index 12bca847ff..3dfa3dca34 100644
--- a/patches/server/0684-Don-t-apply-cramming-damage-to-players.patch
+++ b/patches/server/0684-Don-t-apply-cramming-damage-to-players.patch
@@ -25,10 +25,10 @@ index c8e1e1f59a689f60846fa88a4a4e48cb21e9863c..960240240d76d408489f5c0274d56b04
+ }
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index ca9a30a279e7d12c63b351e437fb9dcc11e2ed56..ec202a84a37acf2c58492380789a24b31032dc40 100644
+index 3a44756d9e71a56293f41ec9aab141ba81ba9f7c..3b1a7cfadd669afafe7e34a3c7c31fd913e3bbd6 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -1433,7 +1433,7 @@ public class ServerPlayer extends Player {
+@@ -1438,7 +1438,7 @@ public class ServerPlayer extends Player {
@Override
public boolean isInvulnerableTo(DamageSource damageSource) {
diff --git a/patches/server/0689-Add-System.out-err-catcher.patch b/patches/server/0689-Add-System.out-err-catcher.patch
index 8d15e7fb0d..28ea5f65b7 100644
--- a/patches/server/0689-Add-System.out-err-catcher.patch
+++ b/patches/server/0689-Add-System.out-err-catcher.patch
@@ -105,10 +105,10 @@ index 0000000000000000000000000000000000000000..76d0d00cd6742991e3f3ec827a75ee87
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 38b3404b4c097bbb654886145c34148fd18a17c8..2f05c9d16f6b68db289d0822ea565e5195f61002 100644
+index ecffb6e2c779d520e25c79d04f10d408a7c778c6..75c153b739e1c22877102791adb90e955906a31c 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -282,6 +282,7 @@ public final class CraftServer implements Server {
+@@ -283,6 +283,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/0695-Add-PlayerSetSpawnEvent.patch b/patches/server/0695-Add-PlayerSetSpawnEvent.patch
index 5af986d650..10395a4225 100644
--- a/patches/server/0695-Add-PlayerSetSpawnEvent.patch
+++ b/patches/server/0695-Add-PlayerSetSpawnEvent.patch
@@ -18,10 +18,10 @@ index e95f2222814e104bf9194a96385737dffe2cb2b5..249ab7357aa19d87179fa4c3ae89d9d3
String string = resourceKey.location().toString();
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index ec202a84a37acf2c58492380789a24b31032dc40..55bdc0abb1fe42c02479678c3840d1d4da3253ae 100644
+index 3b1a7cfadd669afafe7e34a3c7c31fd913e3bbd6..cb67d57bf4e7f02bf9416e4286612924e9989afc 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -1274,7 +1274,7 @@ public class ServerPlayer extends Player {
+@@ -1279,7 +1279,7 @@ public class ServerPlayer extends Player {
} else if (this.bedBlocked(blockposition, enumdirection)) {
return Either.left(Player.BedSleepingProblem.OBSTRUCTED);
} else {
@@ -30,7 +30,7 @@ index ec202a84a37acf2c58492380789a24b31032dc40..55bdc0abb1fe42c02479678c3840d1d4
if (this.level.isDay()) {
return Either.left(Player.BedSleepingProblem.NOT_POSSIBLE_NOW);
} else {
-@@ -2102,12 +2102,33 @@ public class ServerPlayer extends Player {
+@@ -2107,12 +2107,33 @@ public class ServerPlayer extends Player {
return this.respawnForced;
}
@@ -93,10 +93,10 @@ index d620f559cdd1bd0e161a99123ef6c6f64e3302df..07e893f1859abe3c2a765694c21309d6
return InteractionResult.SUCCESS;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index f23dbb48e051d69ecae408080a30a1ebe8c32a2b..d5c05d7f09a9b7dd82401760baea2bc429438dbf 100644
+index 878620e37635396d58e48fa1910843c01d11aa5b..8ef2f3053c0fde6a11597eefc127c5735c240014 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1106,9 +1106,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1192,9 +1192,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void setBedSpawnLocation(Location location, boolean override) {
if (location == null) {
diff --git a/patches/server/0716-Add-ItemFactory-getMonsterEgg-API.patch b/patches/server/0716-Add-ItemFactory-getMonsterEgg-API.patch
index f22d19fef2..a39b8f22f5 100644
--- a/patches/server/0716-Add-ItemFactory-getMonsterEgg-API.patch
+++ b/patches/server/0716-Add-ItemFactory-getMonsterEgg-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add ItemFactory#getMonsterEgg API
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
-index def8caa7e991cc5f6e8aefcf9e9e3b18149bfdfa..446dfea89b4fbab55d1379315247172b6cc4730c 100644
+index e8ed3017e2d1ac55f79c85be1860aae84db96edc..697d6d8387d1451ac3158d35bbaa00229dcfcbc6 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
-@@ -410,5 +410,17 @@ public final class CraftItemFactory implements ItemFactory {
+@@ -434,5 +434,17 @@ public final class CraftItemFactory implements ItemFactory {
entity.getUniqueId().toString(),
new net.md_5.bungee.api.chat.TextComponent(customName));
}
diff --git a/patches/server/0726-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch b/patches/server/0726-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch
index 62e9ac7bb2..71110aaeb6 100644
--- a/patches/server/0726-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch
+++ b/patches/server/0726-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch
@@ -9,7 +9,7 @@ chunk through it. This should also be OK from a leak prevention/
state desync POV because the TE is getting unloaded anyways.
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 990c16b52ac80df180086d045d56923bb2d69b1e..3d00c1bcd5acbeee09f1854076545a1d3628d27e 100644
+index b10c0099ba0691cb167e78b8decafe39146caaf2..a7ad8fcbd99b94440803290b7fe7465c638dc895 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1312,9 +1312,13 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -28,10 +28,10 @@ index 990c16b52ac80df180086d045d56923bb2d69b1e..3d00c1bcd5acbeee09f1854076545a1d
}
// Spigot End
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 55bdc0abb1fe42c02479678c3840d1d4da3253ae..1a2dd16ec1f189c3b53a57c0224a15f451b92501 100644
+index cb67d57bf4e7f02bf9416e4286612924e9989afc..62ecd1c83e0a11f44d68ede0520b0f678c75dcce 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -1575,6 +1575,18 @@ public class ServerPlayer extends Player {
+@@ -1580,6 +1580,18 @@ public class ServerPlayer extends Player {
this.connection.send(new ClientboundContainerClosePacket(this.containerMenu.containerId));
this.doCloseContainer();
}
diff --git a/patches/server/0734-Add-paper-mobcaps-and-paper-playermobcaps.patch b/patches/server/0734-Add-paper-mobcaps-and-paper-playermobcaps.patch
index bcecd1b89a..cc3c23e526 100644
--- a/patches/server/0734-Add-paper-mobcaps-and-paper-playermobcaps.patch
+++ b/patches/server/0734-Add-paper-mobcaps-and-paper-playermobcaps.patch
@@ -293,10 +293,10 @@ index 1622450b53e0f0f48c3ca107e4d705b4ad29dadf..f6a225eed29eed364b7e2ea6bc85d55d
public static void spawnCategoryForChunk(MobCategory group, ServerLevel world, LevelChunk chunk, NaturalSpawner.SpawnPredicate checker, NaturalSpawner.AfterSpawnCallback runner) {
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 2f05c9d16f6b68db289d0822ea565e5195f61002..a51e2fe2337ba1122dfe86410bb10eddaf21addb 100644
+index 75c153b739e1c22877102791adb90e955906a31c..030bb69543f077d5fb80e478efa786c123ff1487 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2137,6 +2137,11 @@ public final class CraftServer implements Server {
+@@ -2143,6 +2143,11 @@ public final class CraftServer implements Server {
@Override
public int getSpawnLimit(SpawnCategory spawnCategory) {
diff --git a/patches/server/0778-Ensure-valid-vehicle-status.patch b/patches/server/0778-Ensure-valid-vehicle-status.patch
index 5715c2ca86..b5ad8a1ccb 100644
--- a/patches/server/0778-Ensure-valid-vehicle-status.patch
+++ b/patches/server/0778-Ensure-valid-vehicle-status.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Ensure valid vehicle status
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 1a2dd16ec1f189c3b53a57c0224a15f451b92501..f6410ba180a85b114a296c64ce293f0891f6b96c 100644
+index 62ecd1c83e0a11f44d68ede0520b0f678c75dcce..d1e56c3cd33ab47c174fd586934682b9c7bccda6 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -503,7 +503,7 @@ public class ServerPlayer extends Player {
+@@ -504,7 +504,7 @@ public class ServerPlayer extends Player {
}
}
diff --git a/patches/server/0792-Configurable-feature-seeds.patch b/patches/server/0792-Configurable-feature-seeds.patch
index 31778d1a17..32151105ed 100644
--- a/patches/server/0792-Configurable-feature-seeds.patch
+++ b/patches/server/0792-Configurable-feature-seeds.patch
@@ -79,10 +79,10 @@ index 5cae8f1c0d1d9642ad6ee53d9897b28eab02c4cd..ed49f70d6a259dcbc72d9fe8addc42c4
return getIntOrDefault(behaviorTickRates, typeName, entityType, def);
}
diff --git a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
-index 97b29671a8df6d102be3982443f6f784e2e1d6e1..8bdf3ec461d870204452833bf6f65fe6c35595d8 100644
+index a3af8b892a01756addc8c24e0726b5a8a700cbba..d5930d8ced9566c5494bed3685cf2d536eef6d50 100644
--- a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
+++ b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
-@@ -527,7 +527,7 @@ public abstract class ChunkGenerator implements BiomeManager.NoiseBiomeSource {
+@@ -535,7 +535,7 @@ public abstract class ChunkGenerator implements BiomeManager.NoiseBiomeSource {
int j = list.size();
try {
@@ -91,7 +91,7 @@ index 97b29671a8df6d102be3982443f6f784e2e1d6e1..8bdf3ec461d870204452833bf6f65fe6
int k = Math.max(GenerationStep.Decoration.values().length, j);
for (int l = 0; l < k; ++l) {
-@@ -600,7 +600,15 @@ public abstract class ChunkGenerator implements BiomeManager.NoiseBiomeSource {
+@@ -608,7 +608,15 @@ public abstract class ChunkGenerator implements BiomeManager.NoiseBiomeSource {
return (String) optional.orElseGet(placedfeature::toString);
};
diff --git a/patches/server/0797-Fix-anvil-prepare-event-not-working-with-zero-xp.patch b/patches/server/0797-Fix-anvil-prepare-event-not-working-with-zero-xp.patch
deleted file mode 100644
index efa5aa2399..0000000000
--- a/patches/server/0797-Fix-anvil-prepare-event-not-working-with-zero-xp.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Jan Tuck
-Date: Mon, 15 Nov 2021 15:20:41 -0500
-Subject: [PATCH] Fix anvil prepare event not working with zero xp
-
-
-diff --git a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
-index aa8c101b29f7d9269f3766476ff7d552c2ab0c36..af199f8bb4e25b25653aa780fd02573b5a974904 100644
---- a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
-+++ b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
-@@ -58,7 +58,7 @@ public class AnvilMenu extends ItemCombinerMenu {
-
- @Override
- protected boolean mayPickup(Player player, boolean present) {
-- return (player.getAbilities().instabuild || player.experienceLevel >= this.cost.get()) && this.cost.get() > 0;
-+ return (player.getAbilities().instabuild || player.experienceLevel >= this.cost.get()) && this.cost.get() >= 0; // Paper - fix anvil prepare event not working with 0 xp
- }
-
- @Override
diff --git a/patches/server/0798-Prevent-excessive-velocity-through-repeated-crits.patch b/patches/server/0797-Prevent-excessive-velocity-through-repeated-crits.patch
similarity index 100%
rename from patches/server/0798-Prevent-excessive-velocity-through-repeated-crits.patch
rename to patches/server/0797-Prevent-excessive-velocity-through-repeated-crits.patch
diff --git a/patches/server/0799-Remove-client-side-code-using-deprecated-for-removal.patch b/patches/server/0798-Remove-client-side-code-using-deprecated-for-removal.patch
similarity index 100%
rename from patches/server/0799-Remove-client-side-code-using-deprecated-for-removal.patch
rename to patches/server/0798-Remove-client-side-code-using-deprecated-for-removal.patch
diff --git a/patches/server/0800-Rewrite-the-light-engine.patch b/patches/server/0799-Rewrite-the-light-engine.patch
similarity index 99%
rename from patches/server/0800-Rewrite-the-light-engine.patch
rename to patches/server/0799-Rewrite-the-light-engine.patch
index 81c1dcb098..c82dfc25c2 100644
--- a/patches/server/0800-Rewrite-the-light-engine.patch
+++ b/patches/server/0799-Rewrite-the-light-engine.patch
@@ -5002,7 +5002,7 @@ index 4c5e3e6aa6c6ec88ce472e8dff10bc591245c4f7..b46648301396930478391967b371bf8d
while (iterator.hasNext()) {
diff --git a/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java b/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java
-index 8bdc3f393282c510f1e99636275c61849d6a810c..445c02642c6bf220586dfb695f0491506d8c53ef 100644
+index ac0ccaf11eb414d0c2b843f458753fb37aac3f67..bba327d0f235aa35f24098214626763ca2c53b86 100644
--- a/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java
+++ b/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java
@@ -186,7 +186,7 @@ public class PalettedContainer implements PaletteResize {
diff --git a/patches/server/0801-Always-parse-protochunk-light-sources-unless-it-is-m.patch b/patches/server/0800-Always-parse-protochunk-light-sources-unless-it-is-m.patch
similarity index 100%
rename from patches/server/0801-Always-parse-protochunk-light-sources-unless-it-is-m.patch
rename to patches/server/0800-Always-parse-protochunk-light-sources-unless-it-is-m.patch
diff --git a/patches/server/0802-Fix-removing-recipes-from-RecipeIterator.patch b/patches/server/0801-Fix-removing-recipes-from-RecipeIterator.patch
similarity index 100%
rename from patches/server/0802-Fix-removing-recipes-from-RecipeIterator.patch
rename to patches/server/0801-Fix-removing-recipes-from-RecipeIterator.patch
diff --git a/patches/server/0803-Prevent-sending-oversized-item-data-in-equipment-and.patch b/patches/server/0802-Prevent-sending-oversized-item-data-in-equipment-and.patch
similarity index 100%
rename from patches/server/0803-Prevent-sending-oversized-item-data-in-equipment-and.patch
rename to patches/server/0802-Prevent-sending-oversized-item-data-in-equipment-and.patch
diff --git a/patches/server/0804-Hide-unnecessary-itemmeta-from-clients.patch b/patches/server/0803-Hide-unnecessary-itemmeta-from-clients.patch
similarity index 100%
rename from patches/server/0804-Hide-unnecessary-itemmeta-from-clients.patch
rename to patches/server/0803-Hide-unnecessary-itemmeta-from-clients.patch
diff --git a/patches/server/0805-Fix-kelp-modifier-changing-growth-for-other-crops.patch b/patches/server/0804-Fix-kelp-modifier-changing-growth-for-other-crops.patch
similarity index 100%
rename from patches/server/0805-Fix-kelp-modifier-changing-growth-for-other-crops.patch
rename to patches/server/0804-Fix-kelp-modifier-changing-growth-for-other-crops.patch
diff --git a/patches/server/0806-Prevent-ContainerOpenersCounter-openCount-from-going.patch b/patches/server/0805-Prevent-ContainerOpenersCounter-openCount-from-going.patch
similarity index 100%
rename from patches/server/0806-Prevent-ContainerOpenersCounter-openCount-from-going.patch
rename to patches/server/0805-Prevent-ContainerOpenersCounter-openCount-from-going.patch
diff --git a/patches/server/0807-Add-PlayerItemFrameChangeEvent.patch b/patches/server/0806-Add-PlayerItemFrameChangeEvent.patch
similarity index 100%
rename from patches/server/0807-Add-PlayerItemFrameChangeEvent.patch
rename to patches/server/0806-Add-PlayerItemFrameChangeEvent.patch
diff --git a/patches/server/0808-Add-player-health-update-API.patch b/patches/server/0807-Add-player-health-update-API.patch
similarity index 88%
rename from patches/server/0808-Add-player-health-update-API.patch
rename to patches/server/0807-Add-player-health-update-API.patch
index 9f6cac922a..c1d62d9038 100644
--- a/patches/server/0808-Add-player-health-update-API.patch
+++ b/patches/server/0807-Add-player-health-update-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add player health update API
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index d5c05d7f09a9b7dd82401760baea2bc429438dbf..2d60a7ceaa87178b456f509eb51a451d67e5312b 100644
+index 8ef2f3053c0fde6a11597eefc127c5735c240014..d44df73c2fd4481861cd94d34d91b62b2d2c5718 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2042,9 +2042,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2128,9 +2128,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.getHandle().maxHealthCache = getMaxHealth();
}
@@ -22,7 +22,7 @@ index d5c05d7f09a9b7dd82401760baea2bc429438dbf..2d60a7ceaa87178b456f509eb51a451d
if (this.getHandle().queueHealthUpdatePacket) {
this.getHandle().queuedHealthUpdatePacket = packet;
} else {
-@@ -2052,7 +2054,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2138,7 +2140,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
// Paper end
}
diff --git a/patches/server/0809-Optimize-HashMapPalette.patch b/patches/server/0808-Optimize-HashMapPalette.patch
similarity index 100%
rename from patches/server/0809-Optimize-HashMapPalette.patch
rename to patches/server/0808-Optimize-HashMapPalette.patch
diff --git a/patches/server/0810-Allow-delegation-to-vanilla-chunk-gen.patch b/patches/server/0809-Allow-delegation-to-vanilla-chunk-gen.patch
similarity index 97%
rename from patches/server/0810-Allow-delegation-to-vanilla-chunk-gen.patch
rename to patches/server/0809-Allow-delegation-to-vanilla-chunk-gen.patch
index 5b1747b66b..66d7907783 100644
--- a/patches/server/0810-Allow-delegation-to-vanilla-chunk-gen.patch
+++ b/patches/server/0809-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 a51e2fe2337ba1122dfe86410bb10eddaf21addb..d8a522a473af6639ad4c8c87765a13e080069e7f 100644
+index 030bb69543f077d5fb80e478efa786c123ff1487..5d41c30254e271a7b0a8e72582f02b462524bb7b 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2305,6 +2305,90 @@ public final class CraftServer implements Server {
+@@ -2311,6 +2311,90 @@ public final class CraftServer implements Server {
return new OldCraftChunkData(world.getMinHeight(), world.getMaxHeight(), handle.registryAccess().registryOrThrow(Registry.BIOME_REGISTRY), world); // Paper - Anti-Xray - Add parameters
}
diff --git a/patches/server/0811-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch b/patches/server/0810-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch
similarity index 99%
rename from patches/server/0811-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch
rename to patches/server/0810-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch
index 622aa8d1eb..719fe45b87 100644
--- a/patches/server/0811-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch
+++ b/patches/server/0810-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch
@@ -1180,10 +1180,10 @@ index 0000000000000000000000000000000000000000..d67a40e7be030142443680c89e1763fc
+ }
+}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index f6410ba180a85b114a296c64ce293f0891f6b96c..b4d20c06a19e021317cff64a9789f0579b5f921d 100644
+index d1e56c3cd33ab47c174fd586934682b9c7bccda6..e89f18625fd5655087f1ec2992005142c1a5423b 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -413,7 +413,7 @@ public class ServerPlayer extends Player {
+@@ -414,7 +414,7 @@ public class ServerPlayer extends Player {
if (blockposition1 != null) {
this.moveTo(blockposition1, 0.0F, 0.0F);
@@ -1192,7 +1192,7 @@ index f6410ba180a85b114a296c64ce293f0891f6b96c..b4d20c06a19e021317cff64a9789f057
break;
}
}
-@@ -421,7 +421,7 @@ public class ServerPlayer extends Player {
+@@ -422,7 +422,7 @@ public class ServerPlayer extends Player {
} else {
this.moveTo(blockposition, 0.0F, 0.0F);
diff --git a/patches/server/0812-Optimise-collision-checking-in-player-move-packet-ha.patch b/patches/server/0811-Optimise-collision-checking-in-player-move-packet-ha.patch
similarity index 100%
rename from patches/server/0812-Optimise-collision-checking-in-player-move-packet-ha.patch
rename to patches/server/0811-Optimise-collision-checking-in-player-move-packet-ha.patch
diff --git a/patches/server/0813-Actually-unload-POI-data.patch b/patches/server/0812-Actually-unload-POI-data.patch
similarity index 100%
rename from patches/server/0813-Actually-unload-POI-data.patch
rename to patches/server/0812-Actually-unload-POI-data.patch
diff --git a/patches/server/0814-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch b/patches/server/0813-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch
similarity index 100%
rename from patches/server/0814-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch
rename to patches/server/0813-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch
diff --git a/patches/server/0815-Update-Log4j.patch b/patches/server/0814-Update-Log4j.patch
similarity index 100%
rename from patches/server/0815-Update-Log4j.patch
rename to patches/server/0814-Update-Log4j.patch
diff --git a/patches/server/0816-Add-more-Campfire-API.patch b/patches/server/0815-Add-more-Campfire-API.patch
similarity index 100%
rename from patches/server/0816-Add-more-Campfire-API.patch
rename to patches/server/0815-Add-more-Campfire-API.patch
diff --git a/patches/server/0817-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch b/patches/server/0816-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch
similarity index 100%
rename from patches/server/0817-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch
rename to patches/server/0816-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch
diff --git a/patches/server/0818-Fix-tripwire-state-inconsistency.patch b/patches/server/0817-Fix-tripwire-state-inconsistency.patch
similarity index 100%
rename from patches/server/0818-Fix-tripwire-state-inconsistency.patch
rename to patches/server/0817-Fix-tripwire-state-inconsistency.patch
diff --git a/patches/server/0819-Fix-fluid-logging-on-Block-breakNaturally.patch b/patches/server/0818-Fix-fluid-logging-on-Block-breakNaturally.patch
similarity index 100%
rename from patches/server/0819-Fix-fluid-logging-on-Block-breakNaturally.patch
rename to patches/server/0818-Fix-fluid-logging-on-Block-breakNaturally.patch
diff --git a/patches/server/0820-Forward-CraftEntity-in-teleport-command.patch b/patches/server/0819-Forward-CraftEntity-in-teleport-command.patch
similarity index 100%
rename from patches/server/0820-Forward-CraftEntity-in-teleport-command.patch
rename to patches/server/0819-Forward-CraftEntity-in-teleport-command.patch
diff --git a/patches/server/0821-Improve-scoreboard-entries.patch b/patches/server/0820-Improve-scoreboard-entries.patch
similarity index 100%
rename from patches/server/0821-Improve-scoreboard-entries.patch
rename to patches/server/0820-Improve-scoreboard-entries.patch
diff --git a/patches/server/0822-Entity-powdered-snow-API.patch b/patches/server/0821-Entity-powdered-snow-API.patch
similarity index 100%
rename from patches/server/0822-Entity-powdered-snow-API.patch
rename to patches/server/0821-Entity-powdered-snow-API.patch
diff --git a/patches/server/0823-Add-API-for-item-entity-health.patch b/patches/server/0822-Add-API-for-item-entity-health.patch
similarity index 100%
rename from patches/server/0823-Add-API-for-item-entity-health.patch
rename to patches/server/0822-Add-API-for-item-entity-health.patch
diff --git a/patches/server/0824-Fix-entity-type-tags-suggestions-in-selectors.patch b/patches/server/0823-Fix-entity-type-tags-suggestions-in-selectors.patch
similarity index 100%
rename from patches/server/0824-Fix-entity-type-tags-suggestions-in-selectors.patch
rename to patches/server/0823-Fix-entity-type-tags-suggestions-in-selectors.patch
diff --git a/patches/server/0825-Configurable-max-block-light-for-monster-spawning.patch b/patches/server/0824-Configurable-max-block-light-for-monster-spawning.patch
similarity index 100%
rename from patches/server/0825-Configurable-max-block-light-for-monster-spawning.patch
rename to patches/server/0824-Configurable-max-block-light-for-monster-spawning.patch
diff --git a/patches/server/0826-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch b/patches/server/0825-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch
similarity index 100%
rename from patches/server/0826-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch
rename to patches/server/0825-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch
diff --git a/patches/server/0827-Load-effect-amplifiers-greater-than-127-correctly.patch b/patches/server/0826-Load-effect-amplifiers-greater-than-127-correctly.patch
similarity index 100%
rename from patches/server/0827-Load-effect-amplifiers-greater-than-127-correctly.patch
rename to patches/server/0826-Load-effect-amplifiers-greater-than-127-correctly.patch
diff --git a/patches/server/0828-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch b/patches/server/0827-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch
similarity index 100%
rename from patches/server/0828-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch
rename to patches/server/0827-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch
diff --git a/patches/server/0829-Fix-bees-aging-inside-hives.patch b/patches/server/0828-Fix-bees-aging-inside-hives.patch
similarity index 100%
rename from patches/server/0829-Fix-bees-aging-inside-hives.patch
rename to patches/server/0828-Fix-bees-aging-inside-hives.patch
diff --git a/patches/server/0830-Bucketable-API.patch b/patches/server/0829-Bucketable-API.patch
similarity index 100%
rename from patches/server/0830-Bucketable-API.patch
rename to patches/server/0829-Bucketable-API.patch
diff --git a/patches/server/0831-Check-player-world-in-endPortalSoundRadius.patch b/patches/server/0830-Check-player-world-in-endPortalSoundRadius.patch
similarity index 100%
rename from patches/server/0831-Check-player-world-in-endPortalSoundRadius.patch
rename to patches/server/0830-Check-player-world-in-endPortalSoundRadius.patch
diff --git a/patches/server/0832-Validate-usernames.patch b/patches/server/0831-Validate-usernames.patch
similarity index 100%
rename from patches/server/0832-Validate-usernames.patch
rename to patches/server/0831-Validate-usernames.patch
diff --git a/patches/server/0833-Fix-saving-configs-with-more-long-comments.patch b/patches/server/0832-Fix-saving-configs-with-more-long-comments.patch
similarity index 100%
rename from patches/server/0833-Fix-saving-configs-with-more-long-comments.patch
rename to patches/server/0832-Fix-saving-configs-with-more-long-comments.patch
diff --git a/patches/server/0834-Make-water-animal-spawn-height-configurable.patch b/patches/server/0833-Make-water-animal-spawn-height-configurable.patch
similarity index 100%
rename from patches/server/0834-Make-water-animal-spawn-height-configurable.patch
rename to patches/server/0833-Make-water-animal-spawn-height-configurable.patch
diff --git a/patches/server/0835-Expose-vanilla-BiomeProvider-from-WorldInfo.patch b/patches/server/0834-Expose-vanilla-BiomeProvider-from-WorldInfo.patch
similarity index 97%
rename from patches/server/0835-Expose-vanilla-BiomeProvider-from-WorldInfo.patch
rename to patches/server/0834-Expose-vanilla-BiomeProvider-from-WorldInfo.patch
index d48fa9a07d..7ab52b75a4 100644
--- a/patches/server/0835-Expose-vanilla-BiomeProvider-from-WorldInfo.patch
+++ b/patches/server/0834-Expose-vanilla-BiomeProvider-from-WorldInfo.patch
@@ -18,10 +18,10 @@ index df955666723a8cb1e612311f0b8e77fb577d6be5..01aefce226ae82d707b38b0d56d2580d
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 d8a522a473af6639ad4c8c87765a13e080069e7f..94054675b4237f0fd00d2b9543797b8c0e39c6f3 100644
+index 5d41c30254e271a7b0a8e72582f02b462524bb7b..dfc91a6a5fba23fb5dd4285010ffd4cd240eda98 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1210,7 +1210,7 @@ public final class CraftServer implements Server {
+@@ -1211,7 +1211,7 @@ public final class CraftServer implements Server {
chunkgenerator = worlddimension.generator();
}
diff --git a/patches/server/0836-Add-config-option-for-worlds-affected-by-time-cmd.patch b/patches/server/0835-Add-config-option-for-worlds-affected-by-time-cmd.patch
similarity index 100%
rename from patches/server/0836-Add-config-option-for-worlds-affected-by-time-cmd.patch
rename to patches/server/0835-Add-config-option-for-worlds-affected-by-time-cmd.patch
diff --git a/patches/server/0837-Add-new-overload-to-PersistentDataContainer-has.patch b/patches/server/0836-Add-new-overload-to-PersistentDataContainer-has.patch
similarity index 100%
rename from patches/server/0837-Add-new-overload-to-PersistentDataContainer-has.patch
rename to patches/server/0836-Add-new-overload-to-PersistentDataContainer-has.patch
diff --git a/patches/server/0838-Multiple-Entries-with-Scoreboards.patch b/patches/server/0837-Multiple-Entries-with-Scoreboards.patch
similarity index 100%
rename from patches/server/0838-Multiple-Entries-with-Scoreboards.patch
rename to patches/server/0837-Multiple-Entries-with-Scoreboards.patch
diff --git a/patches/server/0839-Reset-placed-block-on-exception.patch b/patches/server/0838-Reset-placed-block-on-exception.patch
similarity index 100%
rename from patches/server/0839-Reset-placed-block-on-exception.patch
rename to patches/server/0838-Reset-placed-block-on-exception.patch
diff --git a/patches/server/0840-Add-configurable-height-for-slime-spawn.patch b/patches/server/0839-Add-configurable-height-for-slime-spawn.patch
similarity index 100%
rename from patches/server/0840-Add-configurable-height-for-slime-spawn.patch
rename to patches/server/0839-Add-configurable-height-for-slime-spawn.patch
diff --git a/patches/server/0841-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch b/patches/server/0840-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch
similarity index 100%
rename from patches/server/0841-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch
rename to patches/server/0840-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch
diff --git a/patches/server/0842-Fix-xp-reward-for-baby-zombies.patch b/patches/server/0841-Fix-xp-reward-for-baby-zombies.patch
similarity index 93%
rename from patches/server/0842-Fix-xp-reward-for-baby-zombies.patch
rename to patches/server/0841-Fix-xp-reward-for-baby-zombies.patch
index 0c5733a372..3d42768492 100644
--- a/patches/server/0842-Fix-xp-reward-for-baby-zombies.patch
+++ b/patches/server/0841-Fix-xp-reward-for-baby-zombies.patch
@@ -9,7 +9,7 @@ so this resets it after each call to
Zombie#getExperienceReward
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
-index da378373db05f7cf5e655bc76cb58945347d1f32..1954e1b179539be725c291cdda16fb17c8bcea47 100644
+index 2c60b8733741b2fe6504aa4c35907640b59a440a..a6e8f0ddbf17711a10f9853ec4a01291f96f6f06 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
@@ -172,11 +172,16 @@ public class Zombie extends Monster {
diff --git a/patches/server/0843-Kick-on-main-for-illegal-chars.patch b/patches/server/0842-Kick-on-main-for-illegal-chars.patch
similarity index 100%
rename from patches/server/0843-Kick-on-main-for-illegal-chars.patch
rename to patches/server/0842-Kick-on-main-for-illegal-chars.patch
diff --git a/patches/server/0844-Multi-Block-Change-API-Implementation.patch b/patches/server/0843-Multi-Block-Change-API-Implementation.patch
similarity index 96%
rename from patches/server/0844-Multi-Block-Change-API-Implementation.patch
rename to patches/server/0843-Multi-Block-Change-API-Implementation.patch
index 97bf93afe6..ff6764293f 100644
--- a/patches/server/0844-Multi-Block-Change-API-Implementation.patch
+++ b/patches/server/0843-Multi-Block-Change-API-Implementation.patch
@@ -25,7 +25,7 @@ index 82ea4fabd5732052a286d50bcff8bbcc2c4aa7d7..652bea6868a03a5315965f79c76172fb
public void write(FriendlyByteBuf buf) {
buf.writeLong(this.sectionPos.asLong());
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 2d60a7ceaa87178b456f509eb51a451d67e5312b..ae65164dc356480ab731012308615dcf14fba6fe 100644
+index d44df73c2fd4481861cd94d34d91b62b2d2c5718..1f53981fb59ab93566d632b3c950a2a629a0b4fd 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -30,6 +30,7 @@ import javax.annotation.Nullable;
@@ -36,7 +36,7 @@ index 2d60a7ceaa87178b456f509eb51a451d67e5312b..ae65164dc356480ab731012308615dcf
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.FriendlyByteBuf;
import net.minecraft.network.chat.ChatType;
-@@ -850,6 +851,35 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -860,6 +861,35 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.getHandle().connection.send(packet);
}
diff --git a/patches/server/0845-Fix-NotePlayEvent.patch b/patches/server/0844-Fix-NotePlayEvent.patch
similarity index 100%
rename from patches/server/0845-Fix-NotePlayEvent.patch
rename to patches/server/0844-Fix-NotePlayEvent.patch
diff --git a/patches/server/0846-Freeze-Tick-Lock-API.patch b/patches/server/0845-Freeze-Tick-Lock-API.patch
similarity index 100%
rename from patches/server/0846-Freeze-Tick-Lock-API.patch
rename to patches/server/0845-Freeze-Tick-Lock-API.patch
diff --git a/patches/server/0847-Dolphin-API.patch b/patches/server/0846-Dolphin-API.patch
similarity index 100%
rename from patches/server/0847-Dolphin-API.patch
rename to patches/server/0846-Dolphin-API.patch
diff --git a/patches/server/0848-More-PotionEffectType-API.patch b/patches/server/0847-More-PotionEffectType-API.patch
similarity index 100%
rename from patches/server/0848-More-PotionEffectType-API.patch
rename to patches/server/0847-More-PotionEffectType-API.patch
diff --git a/patches/server/0849-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch b/patches/server/0848-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch
similarity index 100%
rename from patches/server/0849-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch
rename to patches/server/0848-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch
diff --git a/patches/server/0850-API-for-creating-command-sender-which-forwards-feedb.patch b/patches/server/0849-API-for-creating-command-sender-which-forwards-feedb.patch
similarity index 97%
rename from patches/server/0850-API-for-creating-command-sender-which-forwards-feedb.patch
rename to patches/server/0849-API-for-creating-command-sender-which-forwards-feedb.patch
index 47dd1ac3da..baf84044ca 100644
--- a/patches/server/0850-API-for-creating-command-sender-which-forwards-feedb.patch
+++ b/patches/server/0849-API-for-creating-command-sender-which-forwards-feedb.patch
@@ -123,10 +123,10 @@ index 0000000000000000000000000000000000000000..f7c86155ce0cfd9b4bf8a2b79d77a656
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 94054675b4237f0fd00d2b9543797b8c0e39c6f3..d0d5b32d7abb99a62f5a0c3f340174b929a37480 100644
+index dfc91a6a5fba23fb5dd4285010ffd4cd240eda98..06e2f90c3910f796c9caf5b388e3002e398c48b5 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1976,6 +1976,13 @@ public final class CraftServer implements Server {
+@@ -1982,6 +1982,13 @@ public final class CraftServer implements Server {
return console.console;
}
diff --git a/patches/server/0851-Add-config-for-stronghold-seed.patch b/patches/server/0850-Add-config-for-stronghold-seed.patch
similarity index 86%
rename from patches/server/0851-Add-config-for-stronghold-seed.patch
rename to patches/server/0850-Add-config-for-stronghold-seed.patch
index 97945d92cf..020f8bb43a 100644
--- a/patches/server/0851-Add-config-for-stronghold-seed.patch
+++ b/patches/server/0850-Add-config-for-stronghold-seed.patch
@@ -5,15 +5,15 @@ Subject: [PATCH] Add config for stronghold seed
diff --git a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
-index 8bdf3ec461d870204452833bf6f65fe6c35595d8..ab64f85de0051fdd4ff2eaa376eeabce2670b466 100644
+index d5930d8ced9566c5494bed3685cf2d536eef6d50..daff5a9dd98e791b3f1dc898a082ff3e08adc92e 100644
--- a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
+++ b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
-@@ -223,7 +223,13 @@ public abstract class ChunkGenerator implements BiomeManager.NoiseBiomeSource {
- int k = placement.spread();
+@@ -231,7 +231,13 @@ public abstract class ChunkGenerator implements BiomeManager.NoiseBiomeSource {
+ int k = concentricringsstructureplacement.spread();
Random random = new Random();
+ // Paper start
-+ if (strongholdSet.is(net.minecraft.world.level.levelgen.structure.BuiltinStructureSets.STRONGHOLDS) && this.conf.strongholdSeed != null) {
++ if (this.conf.strongholdSeed != null && this.structureSets.getResourceKey(holder).orElse(null) == net.minecraft.world.level.levelgen.structure.BuiltinStructureSets.STRONGHOLDS) {
+ random.setSeed(this.conf.strongholdSeed);
+ } else {
+ // Paper end
diff --git a/patches/server/0852-Implement-regenerateChunk.patch b/patches/server/0851-Implement-regenerateChunk.patch
similarity index 100%
rename from patches/server/0852-Implement-regenerateChunk.patch
rename to patches/server/0851-Implement-regenerateChunk.patch
diff --git a/patches/server/0853-Log-exceptions-thrown-during-chat-processing.patch b/patches/server/0852-Log-exceptions-thrown-during-chat-processing.patch
similarity index 100%
rename from patches/server/0853-Log-exceptions-thrown-during-chat-processing.patch
rename to patches/server/0852-Log-exceptions-thrown-during-chat-processing.patch
diff --git a/patches/server/0854-Fix-cancelled-powdered-snow-bucket-placement.patch b/patches/server/0853-Fix-cancelled-powdered-snow-bucket-placement.patch
similarity index 100%
rename from patches/server/0854-Fix-cancelled-powdered-snow-bucket-placement.patch
rename to patches/server/0853-Fix-cancelled-powdered-snow-bucket-placement.patch
diff --git a/patches/server/0855-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch b/patches/server/0854-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch
similarity index 86%
rename from patches/server/0855-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch
rename to patches/server/0854-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch
index 5f3289bbda..a334a35c9a 100644
--- a/patches/server/0855-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch
+++ b/patches/server/0854-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 d0d5b32d7abb99a62f5a0c3f340174b929a37480..46907b10d2c29e69761fd2807acc99737e0e8bd8 100644
+index 06e2f90c3910f796c9caf5b388e3002e398c48b5..03c640b7567ecc75f396b132acf10cdb8f9863ba 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2145,6 +2145,8 @@ public final class CraftServer implements Server {
+@@ -2151,6 +2151,8 @@ public final class CraftServer implements Server {
@Override
public int getSpawnLimit(SpawnCategory spawnCategory) {
// Paper start
diff --git a/patches/server/0856-Add-GameEvent-tags.patch b/patches/server/0855-Add-GameEvent-tags.patch
similarity index 95%
rename from patches/server/0856-Add-GameEvent-tags.patch
rename to patches/server/0855-Add-GameEvent-tags.patch
index 4f7d46d22a..0feb71087d 100644
--- a/patches/server/0856-Add-GameEvent-tags.patch
+++ b/patches/server/0855-Add-GameEvent-tags.patch
@@ -45,7 +45,7 @@ index 0000000000000000000000000000000000000000..cb78a3d4e21376ea24347187478525d5
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 46907b10d2c29e69761fd2807acc99737e0e8bd8..f867f5b1ffbe9f2c2dcddcef1c0f39eec44acc04 100644
+index 03c640b7567ecc75f396b132acf10cdb8f9863ba..8a5ad1b95f1fd3d722cb15be48bd752951ed3640 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -97,6 +97,7 @@ import net.minecraft.world.level.biome.BiomeSource;
@@ -56,7 +56,7 @@ index 46907b10d2c29e69761fd2807acc99737e0e8bd8..f867f5b1ffbe9f2c2dcddcef1c0f39ee
import net.minecraft.world.level.levelgen.NoiseBasedChunkGenerator;
import net.minecraft.world.level.levelgen.PatrolSpawner;
import net.minecraft.world.level.levelgen.PhantomSpawner;
-@@ -2551,6 +2552,15 @@ public final class CraftServer implements Server {
+@@ -2557,6 +2558,15 @@ public final class CraftServer implements Server {
return (org.bukkit.Tag) new CraftEntityTag(Registry.ENTITY_TYPE, entityTagKey);
}
}
@@ -72,7 +72,7 @@ index 46907b10d2c29e69761fd2807acc99737e0e8bd8..f867f5b1ffbe9f2c2dcddcef1c0f39ee
default -> throw new IllegalArgumentException();
}
-@@ -2583,6 +2593,13 @@ public final class CraftServer implements Server {
+@@ -2589,6 +2599,13 @@ public final class CraftServer implements Server {
Registry> entityTags = Registry.ENTITY_TYPE;
return entityTags.getTags().map(pair -> (org.bukkit.Tag) new CraftEntityTag(entityTags, pair.getFirst())).collect(ImmutableList.toImmutableList());
}
diff --git a/patches/server/0857-Replace-player-chunk-loader-system.patch b/patches/server/0856-Replace-player-chunk-loader-system.patch
similarity index 99%
rename from patches/server/0857-Replace-player-chunk-loader-system.patch
rename to patches/server/0856-Replace-player-chunk-loader-system.patch
index 9dac047cdd..c6b9632322 100644
--- a/patches/server/0857-Replace-player-chunk-loader-system.patch
+++ b/patches/server/0856-Replace-player-chunk-loader-system.patch
@@ -1896,7 +1896,7 @@ index 78538e3d3468f5c682cf4123ac930796c20af60c..fb0757d4bb32123641535a88a22bc074
return true;
} else {
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 46db8458478de3dee83fc03478245ba914c79999..5bc0feaa6a86f11027896aed11d21e568dd4c8ce 100644
+index 4c9832ccede082a468e97870b5f6b07bbed652f3..344c5bafe291a2542c4940e4d80232644de7b877 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -658,7 +658,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -1930,10 +1930,10 @@ index 46db8458478de3dee83fc03478245ba914c79999..5bc0feaa6a86f11027896aed11d21e56
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index b4d20c06a19e021317cff64a9789f0579b5f921d..e74c13e7aaa144fcd07036de70e80bebf0be698a 100644
+index e89f18625fd5655087f1ec2992005142c1a5423b..f35cd0e7446e7929087b735b3e9351d57dac296d 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -2436,5 +2436,5 @@ public class ServerPlayer extends Player {
+@@ -2441,5 +2441,5 @@ public class ServerPlayer extends Player {
}
// CraftBukkit end
@@ -2189,10 +2189,10 @@ index b3dff7979aeec8ff4eff1233b551023309f580ae..f807ee757488f05be626643e009eac95
// Paper end - view distance api
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index ae65164dc356480ab731012308615dcf14fba6fe..6feeadad9aecb7d63e24d5daae115a93e39aeb3d 100644
+index 1f53981fb59ab93566d632b3c950a2a629a0b4fd..1a1fa6595c5adf074ac6caed831bf885a5345937 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -528,45 +528,80 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -538,45 +538,80 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
}
diff --git a/patches/server/0858-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch b/patches/server/0857-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch
similarity index 100%
rename from patches/server/0858-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch
rename to patches/server/0857-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch
diff --git a/patches/server/0859-Replace-ticket-level-propagator.patch b/patches/server/0858-Replace-ticket-level-propagator.patch
similarity index 100%
rename from patches/server/0859-Replace-ticket-level-propagator.patch
rename to patches/server/0858-Replace-ticket-level-propagator.patch
diff --git a/patches/server/0860-Furnace-RecipesUsed-API.patch b/patches/server/0859-Furnace-RecipesUsed-API.patch
similarity index 100%
rename from patches/server/0860-Furnace-RecipesUsed-API.patch
rename to patches/server/0859-Furnace-RecipesUsed-API.patch
diff --git a/patches/server/0861-Configurable-sculk-sensor-listener-range.patch b/patches/server/0860-Configurable-sculk-sensor-listener-range.patch
similarity index 100%
rename from patches/server/0861-Configurable-sculk-sensor-listener-range.patch
rename to patches/server/0860-Configurable-sculk-sensor-listener-range.patch
diff --git a/patches/server/0862-Add-missing-block-data-mins-and-maxes.patch b/patches/server/0861-Add-missing-block-data-mins-and-maxes.patch
similarity index 100%
rename from patches/server/0862-Add-missing-block-data-mins-and-maxes.patch
rename to patches/server/0861-Add-missing-block-data-mins-and-maxes.patch
diff --git a/patches/server/0863-Option-to-have-default-CustomSpawners-in-custom-worl.patch b/patches/server/0862-Option-to-have-default-CustomSpawners-in-custom-worl.patch
similarity index 100%
rename from patches/server/0863-Option-to-have-default-CustomSpawners-in-custom-worl.patch
rename to patches/server/0862-Option-to-have-default-CustomSpawners-in-custom-worl.patch
diff --git a/patches/server/0864-Put-world-into-worldlist-before-initing-the-world.patch b/patches/server/0863-Put-world-into-worldlist-before-initing-the-world.patch
similarity index 92%
rename from patches/server/0864-Put-world-into-worldlist-before-initing-the-world.patch
rename to patches/server/0863-Put-world-into-worldlist-before-initing-the-world.patch
index f3f43726f3..71c2106d6a 100644
--- a/patches/server/0864-Put-world-into-worldlist-before-initing-the-world.patch
+++ b/patches/server/0863-Put-world-into-worldlist-before-initing-the-world.patch
@@ -23,10 +23,10 @@ index 443fb9cdce8bf542ca6216aa65c3e48c66dde654..e4461fb3485391ec0a9d902d5b896bb9
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 f867f5b1ffbe9f2c2dcddcef1c0f39eec44acc04..8cef872ed7bd324aa2a664704e475acdf4fffeb8 100644
+index 8a5ad1b95f1fd3d722cb15be48bd752951ed3640..65a173c0d99c44679f7db1976fe310c8200bd80e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1248,10 +1248,11 @@ public final class CraftServer implements Server {
+@@ -1249,10 +1249,11 @@ public final class CraftServer implements Server {
return null;
}
diff --git a/patches/server/0865-Fix-Entity-Position-Desync.patch b/patches/server/0864-Fix-Entity-Position-Desync.patch
similarity index 100%
rename from patches/server/0865-Fix-Entity-Position-Desync.patch
rename to patches/server/0864-Fix-Entity-Position-Desync.patch
diff --git a/patches/server/0866-Custom-Potion-Mixes.patch b/patches/server/0865-Custom-Potion-Mixes.patch
similarity index 97%
rename from patches/server/0866-Custom-Potion-Mixes.patch
rename to patches/server/0865-Custom-Potion-Mixes.patch
index 5085e082ea..290990885f 100644
--- a/patches/server/0866-Custom-Potion-Mixes.patch
+++ b/patches/server/0865-Custom-Potion-Mixes.patch
@@ -164,10 +164,10 @@ index 287205bce7f655f9a6b815f40d349c3db4c1e788..5c0f1488c8a8100cd39a03adeccded99
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 8cef872ed7bd324aa2a664704e475acdf4fffeb8..abfb76ce53897a71b82a4b70bde5346d234ff62d 100644
+index 65a173c0d99c44679f7db1976fe310c8200bd80e..cea238696ef83ca8e26812072dfbb45b1915dab9 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -284,6 +284,7 @@ public final class CraftServer implements Server {
+@@ -285,6 +285,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
@@ -175,7 +175,7 @@ index 8cef872ed7bd324aa2a664704e475acdf4fffeb8..abfb76ce53897a71b82a4b70bde5346d
static {
ConfigurationSerialization.registerClass(CraftOfflinePlayer.class);
-@@ -310,7 +311,7 @@ public final class CraftServer implements Server {
+@@ -311,7 +312,7 @@ public final class CraftServer implements Server {
Enchantments.SHARPNESS.getClass();
org.bukkit.enchantments.Enchantment.stopAcceptingRegistrations();
@@ -184,7 +184,7 @@ index 8cef872ed7bd324aa2a664704e475acdf4fffeb8..abfb76ce53897a71b82a4b70bde5346d
MobEffects.BLINDNESS.getClass();
PotionEffectType.stopAcceptingRegistrations();
// Ugly hack :(
-@@ -2851,5 +2852,10 @@ public final class CraftServer implements Server {
+@@ -2857,5 +2858,10 @@ public final class CraftServer implements Server {
return datapackManager;
}
diff --git a/patches/server/0867-Fix-Fluid-tags-isTagged-method.patch b/patches/server/0866-Fix-Fluid-tags-isTagged-method.patch
similarity index 100%
rename from patches/server/0867-Fix-Fluid-tags-isTagged-method.patch
rename to patches/server/0866-Fix-Fluid-tags-isTagged-method.patch
diff --git a/patches/server/0868-Fix-World-locateNearestStructure.patch b/patches/server/0867-Fix-World-locateNearestStructure.patch
similarity index 98%
rename from patches/server/0868-Fix-World-locateNearestStructure.patch
rename to patches/server/0867-Fix-World-locateNearestStructure.patch
index e1ab297ea3..7d0c890176 100644
--- a/patches/server/0868-Fix-World-locateNearestStructure.patch
+++ b/patches/server/0867-Fix-World-locateNearestStructure.patch
@@ -23,7 +23,7 @@ index b079677723ff65f64adec044e7d89656ecc49e4d..583d2deffa819c1aa25e1937a7f709d0
if (Thread.currentThread() != this.serverThread) return; // Paper
//this.getPlayerList().saveAll(); // Paper - we don't need to do this
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 5bc0feaa6a86f11027896aed11d21e568dd4c8ce..f3cbd803853d99cfa8845115ed6e9eefba3d63e4 100644
+index 344c5bafe291a2542c4940e4d80232644de7b877..00e6f60e13f50c727530de37ab9692ad3683c11b 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1793,7 +1793,16 @@ public class ServerLevel extends Level implements WorldGenLevel {
diff --git a/patches/server/0869-Force-close-world-loading-screen.patch b/patches/server/0868-Force-close-world-loading-screen.patch
similarity index 100%
rename from patches/server/0869-Force-close-world-loading-screen.patch
rename to patches/server/0868-Force-close-world-loading-screen.patch
diff --git a/patches/server/0870-Fix-falling-block-spawn-methods.patch b/patches/server/0869-Fix-falling-block-spawn-methods.patch
similarity index 100%
rename from patches/server/0870-Fix-falling-block-spawn-methods.patch
rename to patches/server/0869-Fix-falling-block-spawn-methods.patch
diff --git a/patches/server/0871-Expose-furnace-minecart-push-values.patch b/patches/server/0870-Expose-furnace-minecart-push-values.patch
similarity index 100%
rename from patches/server/0871-Expose-furnace-minecart-push-values.patch
rename to patches/server/0870-Expose-furnace-minecart-push-values.patch
diff --git a/patches/server/0872-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch b/patches/server/0871-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch
similarity index 100%
rename from patches/server/0872-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch
rename to patches/server/0871-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch
diff --git a/patches/server/0873-Fix-save-problems-on-shutdown.patch b/patches/server/0872-Fix-save-problems-on-shutdown.patch
similarity index 97%
rename from patches/server/0873-Fix-save-problems-on-shutdown.patch
rename to patches/server/0872-Fix-save-problems-on-shutdown.patch
index 29fb562b3e..319a477d4c 100644
--- a/patches/server/0873-Fix-save-problems-on-shutdown.patch
+++ b/patches/server/0872-Fix-save-problems-on-shutdown.patch
@@ -55,7 +55,7 @@ index 583d2deffa819c1aa25e1937a7f709d0d6bab294..c8d56947305c981a3268ce4ae3e975db
if (isOversleep) return canOversleep();// Paper - because of our changes, this logic is broken
return this.forceTicks || this.runningTask() || Util.getMillis() < (this.mayHaveDelayedTasks ? this.delayedTasksMaxNextTickTime : this.nextTickTime);
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index f3cbd803853d99cfa8845115ed6e9eefba3d63e4..3b1a34b34979ab436ccd33f0a85bfae537cbecb4 100644
+index 00e6f60e13f50c727530de37ab9692ad3683c11b..50fd3419deb668dda64b1056f03fb66da55e6960 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1258,7 +1258,13 @@ public class ServerLevel extends Level implements WorldGenLevel {
diff --git a/patches/server/0874-More-Projectile-API.patch b/patches/server/0873-More-Projectile-API.patch
similarity index 100%
rename from patches/server/0874-More-Projectile-API.patch
rename to patches/server/0873-More-Projectile-API.patch
diff --git a/patches/server/0875-Fix-swamp-hut-cat-generation-deadlock.patch b/patches/server/0874-Fix-swamp-hut-cat-generation-deadlock.patch
similarity index 100%
rename from patches/server/0875-Fix-swamp-hut-cat-generation-deadlock.patch
rename to patches/server/0874-Fix-swamp-hut-cat-generation-deadlock.patch
diff --git a/patches/server/0876-Don-t-allow-vehicle-movement-from-players-while-tele.patch b/patches/server/0875-Don-t-allow-vehicle-movement-from-players-while-tele.patch
similarity index 100%
rename from patches/server/0876-Don-t-allow-vehicle-movement-from-players-while-tele.patch
rename to patches/server/0875-Don-t-allow-vehicle-movement-from-players-while-tele.patch
diff --git a/patches/server/0877-Implement-getComputedBiome-API.patch b/patches/server/0876-Implement-getComputedBiome-API.patch
similarity index 100%
rename from patches/server/0877-Implement-getComputedBiome-API.patch
rename to patches/server/0876-Implement-getComputedBiome-API.patch
diff --git a/patches/server/0878-Make-some-itemstacks-nonnull.patch b/patches/server/0877-Make-some-itemstacks-nonnull.patch
similarity index 100%
rename from patches/server/0878-Make-some-itemstacks-nonnull.patch
rename to patches/server/0877-Make-some-itemstacks-nonnull.patch
diff --git a/patches/server/0879-Add-debug-for-invalid-GameProfiles-on-skull-blocks-i.patch b/patches/server/0878-Add-debug-for-invalid-GameProfiles-on-skull-blocks-i.patch
similarity index 100%
rename from patches/server/0879-Add-debug-for-invalid-GameProfiles-on-skull-blocks-i.patch
rename to patches/server/0878-Add-debug-for-invalid-GameProfiles-on-skull-blocks-i.patch
diff --git a/patches/server/0880-Implement-enchantWithLevels-API.patch b/patches/server/0879-Implement-enchantWithLevels-API.patch
similarity index 92%
rename from patches/server/0880-Implement-enchantWithLevels-API.patch
rename to patches/server/0879-Implement-enchantWithLevels-API.patch
index cad975c396..f70335da77 100644
--- a/patches/server/0880-Implement-enchantWithLevels-API.patch
+++ b/patches/server/0879-Implement-enchantWithLevels-API.patch
@@ -5,10 +5,10 @@ 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 446dfea89b4fbab55d1379315247172b6cc4730c..c4962cae329ba11d4d0dafafc6216bde5d2b0f90 100644
+index 697d6d8387d1451ac3158d35bbaa00229dcfcbc6..d5daabdcd5b5f50d1ada52b420517a901aa8fa41 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
-@@ -346,6 +346,21 @@ public final class CraftItemFactory implements ItemFactory {
+@@ -370,6 +370,21 @@ public final class CraftItemFactory implements ItemFactory {
}
// Paper start
diff --git a/patches/server/0881-Fix-saving-in-unloadWorld.patch b/patches/server/0880-Fix-saving-in-unloadWorld.patch
similarity index 83%
rename from patches/server/0881-Fix-saving-in-unloadWorld.patch
rename to patches/server/0880-Fix-saving-in-unloadWorld.patch
index 7e3fc5359b..690b5b2a90 100644
--- a/patches/server/0881-Fix-saving-in-unloadWorld.patch
+++ b/patches/server/0880-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 abfb76ce53897a71b82a4b70bde5346d234ff62d..5be9e73dc0314831bbaa6301fc704295dd8ed2bc 100644
+index cea238696ef83ca8e26812072dfbb45b1915dab9..16d3f2dce44fc374ec3ab5882135d06113681fb6 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1296,7 +1296,7 @@ public final class CraftServer implements Server {
+@@ -1297,7 +1297,7 @@ public final class CraftServer implements Server {
try {
if (save) {
diff --git a/patches/server/0882-Buffer-OOB-setBlock-calls.patch b/patches/server/0881-Buffer-OOB-setBlock-calls.patch
similarity index 100%
rename from patches/server/0882-Buffer-OOB-setBlock-calls.patch
rename to patches/server/0881-Buffer-OOB-setBlock-calls.patch
diff --git a/patches/server/0883-Add-TameableDeathMessageEvent.patch b/patches/server/0882-Add-TameableDeathMessageEvent.patch
similarity index 100%
rename from patches/server/0883-Add-TameableDeathMessageEvent.patch
rename to patches/server/0882-Add-TameableDeathMessageEvent.patch
diff --git a/patches/server/0884-Fix-new-block-data-for-EntityChangeBlockEvent-when-s.patch b/patches/server/0883-Fix-new-block-data-for-EntityChangeBlockEvent-when-s.patch
similarity index 100%
rename from patches/server/0884-Fix-new-block-data-for-EntityChangeBlockEvent-when-s.patch
rename to patches/server/0883-Fix-new-block-data-for-EntityChangeBlockEvent-when-s.patch
diff --git a/patches/server/0885-fix-player-loottables-running-when-mob-loot-gamerule.patch b/patches/server/0884-fix-player-loottables-running-when-mob-loot-gamerule.patch
similarity index 87%
rename from patches/server/0885-fix-player-loottables-running-when-mob-loot-gamerule.patch
rename to patches/server/0884-fix-player-loottables-running-when-mob-loot-gamerule.patch
index 67527ed0cd..a99f215073 100644
--- a/patches/server/0885-fix-player-loottables-running-when-mob-loot-gamerule.patch
+++ b/patches/server/0884-fix-player-loottables-running-when-mob-loot-gamerule.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] fix player loottables running when mob loot gamerule is false
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index e74c13e7aaa144fcd07036de70e80bebf0be698a..fd8675f74ea787906b83d863940959efbf8bfac9 100644
+index f35cd0e7446e7929087b735b3e9351d57dac296d..22452aa7eefa350c3b0d0d19a23c76c8ec811de3 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -846,12 +846,14 @@ public class ServerPlayer extends Player {
+@@ -851,12 +851,14 @@ public class ServerPlayer extends Player {
}
}
}
diff --git a/patches/server/0886-Ensure-entity-passenger-world-matches-ridden-entity.patch b/patches/server/0885-Ensure-entity-passenger-world-matches-ridden-entity.patch
similarity index 100%
rename from patches/server/0886-Ensure-entity-passenger-world-matches-ridden-entity.patch
rename to patches/server/0885-Ensure-entity-passenger-world-matches-ridden-entity.patch
diff --git a/patches/server/0887-Guard-against-invalid-entity-positions.patch b/patches/server/0886-Guard-against-invalid-entity-positions.patch
similarity index 100%
rename from patches/server/0887-Guard-against-invalid-entity-positions.patch
rename to patches/server/0886-Guard-against-invalid-entity-positions.patch
diff --git a/patches/server/0888-cache-resource-keys.patch b/patches/server/0887-cache-resource-keys.patch
similarity index 100%
rename from patches/server/0888-cache-resource-keys.patch
rename to patches/server/0887-cache-resource-keys.patch
diff --git a/patches/server/0889-Allow-to-change-the-podium-for-the-EnderDragon.patch b/patches/server/0888-Allow-to-change-the-podium-for-the-EnderDragon.patch
similarity index 100%
rename from patches/server/0889-Allow-to-change-the-podium-for-the-EnderDragon.patch
rename to patches/server/0888-Allow-to-change-the-podium-for-the-EnderDragon.patch
diff --git a/patches/server/0890-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch b/patches/server/0889-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch
similarity index 100%
rename from patches/server/0890-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch
rename to patches/server/0889-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch
diff --git a/patches/server/0891-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch b/patches/server/0890-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch
similarity index 100%
rename from patches/server/0891-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch
rename to patches/server/0890-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch
diff --git a/patches/server/0892-Prevent-tile-entity-copies-loading-chunks.patch b/patches/server/0891-Prevent-tile-entity-copies-loading-chunks.patch
similarity index 74%
rename from patches/server/0892-Prevent-tile-entity-copies-loading-chunks.patch
rename to patches/server/0891-Prevent-tile-entity-copies-loading-chunks.patch
index 0e613adbc2..dbdaee1ca5 100644
--- a/patches/server/0892-Prevent-tile-entity-copies-loading-chunks.patch
+++ b/patches/server/0891-Prevent-tile-entity-copies-loading-chunks.patch
@@ -5,23 +5,18 @@ 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 e4d54fdc28b6161e74626f25299b1081e6605e98..7eeb9b5482ed7933c42cdd84936460e93585c584 100644
+index e4d54fdc28b6161e74626f25299b1081e6605e98..ca876d0916b7b888e8df58fb6b115fa0ab5b79d3 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -2994,7 +2994,17 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
+@@ -2994,7 +2994,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
if (!itemstack.isEmpty() && nbttagcompound != null && nbttagcompound.contains("x") && nbttagcompound.contains("y") && nbttagcompound.contains("z") && this.player.getBukkitEntity().hasPermission("minecraft.nbt.copy")) { // Spigot
BlockPos blockposition = BlockEntity.getPosFromTag(nbttagcompound);
- BlockEntity tileentity = this.player.level.getBlockEntity(blockposition);
+ // Paper start
+ BlockEntity tileentity = null;
-+ if (this.player.getLevel().isLoadedAndInBounds(blockposition)) {
++ if (this.player.distanceToSqr(blockposition.getX(), blockposition.getY(), blockposition.getZ()) < 32 * 32 && this.player.getLevel().isLoadedAndInBounds(blockposition)) {
+ tileentity = this.player.level.getBlockEntity(blockposition);
-+ } else {
-+ // failed to find, cleanup
-+ nbttagcompound.remove("x");
-+ nbttagcompound.remove("y");
-+ nbttagcompound.remove("z");
+ }
+ // Paper end
diff --git a/patches/server/0893-Use-username-instead-of-display-name-in-PlayerList-g.patch b/patches/server/0892-Use-username-instead-of-display-name-in-PlayerList-g.patch
similarity index 92%
rename from patches/server/0893-Use-username-instead-of-display-name-in-PlayerList-g.patch
rename to patches/server/0892-Use-username-instead-of-display-name-in-PlayerList-g.patch
index 21342db8ba..ba25e46cb6 100644
--- a/patches/server/0893-Use-username-instead-of-display-name-in-PlayerList-g.patch
+++ b/patches/server/0892-Use-username-instead-of-display-name-in-PlayerList-g.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Use username instead of display name in
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
-index 02dc93c394d37c9a84aa4a58d80615c403c54fb9..b183732a9cf63e246579ba18609201c27cd4ea25 100644
+index 02dc93c394d37c9a84aa4a58d80615c403c54fb9..188c68d4ae46bc05c6d9c901b5c6ab883fa05ea4 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1414,7 +1414,7 @@ public abstract class PlayerList {
diff --git a/work/Bukkit b/work/Bukkit
index 7902647a66..fc460d1bb8 160000
--- a/work/Bukkit
+++ b/work/Bukkit
@@ -1 +1 @@
-Subproject commit 7902647a668318b7e04f817e07ae9b955d7c0485
+Subproject commit fc460d1bb8d5f2bc9ff07dad1b7b402eed06d7c4
diff --git a/work/CraftBukkit b/work/CraftBukkit
index 2542945ef4..a459f4d4f5 160000
--- a/work/CraftBukkit
+++ b/work/CraftBukkit
@@ -1 +1 @@
-Subproject commit 2542945ef49093f6e1041dd817d6f640b7fc25b5
+Subproject commit a459f4d4f5f89e6266be8db2e7facea1cb00b5d0
diff --git a/work/Spigot b/work/Spigot
index ffceeae314..42b61526f1 160000
--- a/work/Spigot
+++ b/work/Spigot
@@ -1 +1 @@
-Subproject commit ffceeae314d56fe07395e3e8f8262c0484d2bbd1
+Subproject commit 42b61526f13ff472e32714d8e7b75fce31cf1151