aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorShane Freeder <[email protected]>2022-09-24 02:38:12 +0100
committerShane Freeder <[email protected]>2022-09-24 02:38:12 +0100
commit3996e6ef29dcc891dd915222e7ab82aae4b9ede9 (patch)
tree8370347fbe9926bf421a115bf5d8c8e528a83505
parentf528f53e81fe12887629d9a2c12893a20b8c0ce3 (diff)
downloadPaper-3996e6ef29dcc891dd915222e7ab82aae4b9ede9.tar.gz
Paper-3996e6ef29dcc891dd915222e7ab82aae4b9ede9.zip
Updated Upstream (Bukkit/CraftBukkit/Spigot)
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: c7c11188 SPIGOT-2620: Add Player#sendBlockChanges() f63d2b44 Improve annotation test on parameters 3372e7b4 SPIGOT-1244, SPIGOT-6860, SPIGOT-6874: Various Javadoc and formatting fixes a1e8a9ab PR-793: Ignore .checkstyle file generated by Eclipse IDE CraftBukkit Changes: c2c39089e SPIGOT-2620: Add Player#sendBlockChanges() 8209158db PR-1113: Ignore .checkstyle file generated by Eclipse IDE Spigot Changes: 4aa5ead2 Rebuild patches
-rw-r--r--patches/api/0001-Convert-project-to-Gradle.patch4
-rw-r--r--patches/api/0003-Annotation-Test-changes.patch4
-rw-r--r--patches/api/0005-Adventure.patch102
-rw-r--r--patches/api/0007-Timings-v2.patch4
-rw-r--r--patches/api/0009-Player-affects-spawning-API.patch4
-rw-r--r--patches/api/0014-Add-view-distance-API.patch6
-rw-r--r--patches/api/0019-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch4
-rw-r--r--patches/api/0023-Player-Tab-List-and-Title-APIs.patch8
-rw-r--r--patches/api/0025-Complete-resource-pack-API.patch6
-rw-r--r--patches/api/0045-Add-String-based-Action-Bar-API.patch14
-rw-r--r--patches/api/0054-Fix-upstream-javadocs.patch43
-rw-r--r--patches/api/0076-Expose-client-protocol-version-and-virtual-host.patch4
-rw-r--r--patches/api/0080-Ability-to-apply-mending-to-XP-API.patch4
-rw-r--r--patches/api/0091-Player.setPlayerProfile-API.patch4
-rw-r--r--patches/api/0094-Add-openSign-method-to-HumanEntity.patch4
-rw-r--r--patches/api/0095-Add-Ban-Methods-to-Player-Objects.patch4
-rw-r--r--patches/api/0148-Expose-attack-cooldown-methods-for-Player.patch4
-rw-r--r--patches/api/0156-Material-API-additions.patch6
-rw-r--r--patches/api/0176-Fix-Spigot-annotation-mistakes.patch20
-rw-r--r--patches/api/0195-Add-Player-Client-Options-API.patch8
-rw-r--r--patches/api/0214-Brand-support.patch4
-rw-r--r--patches/api/0221-Add-methods-to-get-translation-keys.patch6
-rw-r--r--patches/api/0228-Player-elytra-boost-API.patch4
-rw-r--r--patches/api/0256-Add-sendOpLevel-API.patch4
-rw-r--r--patches/api/0272-Cache-the-result-of-Material-isBlock.patch8
-rw-r--r--patches/api/0278-Item-Rarity-API.patch4
-rw-r--r--patches/api/0303-Attributes-API-for-item-defaults.patch4
-rw-r--r--patches/api/0306-Add-PlayerKickEvent-causes.patch4
-rw-r--r--patches/api/0336-Add-isCollidable-methods-to-various-places.patch4
-rw-r--r--patches/api/0341-Add-player-health-update-API.patch4
-rw-r--r--patches/api/0357-Multi-Block-Change-API.patch4
-rw-r--r--patches/api/0386-More-Teleport-API.patch4
-rw-r--r--patches/api/0388-Custom-Chat-Completion-Suggestions-API.patch4
-rw-r--r--patches/api/0392-Add-custom-destroyerIdentity-to-sendBlockDamage.patch6
-rw-r--r--patches/server/0001-Setup-Gradle-project.patch4
-rw-r--r--patches/server/0009-Adventure.patch22
-rw-r--r--patches/server/0012-Timings-v2.patch4
-rw-r--r--patches/server/0032-Player-affects-spawning-API.patch4
-rw-r--r--patches/server/0034-Only-refresh-abilities-if-needed.patch4
-rw-r--r--patches/server/0047-Implement-PlayerLocaleChangeEvent.patch4
-rw-r--r--patches/server/0048-Per-Player-View-Distance-API-placeholders.patch4
-rw-r--r--patches/server/0055-Ensure-commands-are-not-ran-async.patch4
-rw-r--r--patches/server/0060-Player-Tab-List-and-Title-APIs.patch4
-rw-r--r--patches/server/0063-Configurable-inter-world-teleportation-safety.patch4
-rw-r--r--patches/server/0069-Complete-resource-pack-API.patch8
-rw-r--r--patches/server/0077-handle-NaN-health-absorb-values-and-repair-bad-data.patch4
-rw-r--r--patches/server/0126-String-based-Action-Bar-API.patch4
-rw-r--r--patches/server/0166-Expose-client-protocol-version-and-virtual-host.patch4
-rw-r--r--patches/server/0176-Ability-to-apply-mending-to-XP-API.patch4
-rw-r--r--patches/server/0189-Player.setPlayerProfile-API.patch14
-rw-r--r--patches/server/0194-Flag-to-disable-the-channel-limit.patch6
-rw-r--r--patches/server/0223-InventoryCloseEvent-Reason-API.patch4
-rw-r--r--patches/server/0261-Expose-attack-cooldown-methods-for-Player.patch4
-rw-r--r--patches/server/0262-Improve-death-events.patch4
-rw-r--r--patches/server/0299-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch10
-rw-r--r--patches/server/0301-Block-Entity-remove-from-being-called-on-Players.patch4
-rw-r--r--patches/server/0395-Implement-Player-Client-Options-API.patch4
-rw-r--r--patches/server/0476-Brand-support.patch4
-rw-r--r--patches/server/0513-Player-elytra-boost-API.patch4
-rw-r--r--patches/server/0527-Fix-Player-spawnParticle-x-y-z-precision-loss.patch4
-rw-r--r--patches/server/0569-Add-sendOpLevel-API.patch4
-rw-r--r--patches/server/0644-additions-to-PlayerGameModeChangeEvent.patch4
-rw-r--r--patches/server/0656-Add-PlayerKickEvent-causes.patch6
-rw-r--r--patches/server/0692-Add-PlayerSetSpawnEvent.patch4
-rw-r--r--patches/server/0796-Add-player-health-update-API.patch6
-rw-r--r--patches/server/0832-Multi-Block-Change-API-Implementation.patch20
-rw-r--r--patches/server/0853-Replace-player-chunk-loader-system.patch4
-rw-r--r--patches/server/0918-More-Teleport-API.patch10
-rw-r--r--patches/server/0923-Custom-Chat-Completion-Suggestions-API.patch4
-rw-r--r--patches/server/0937-Add-custom-destroyerIdentity-to-sendBlockDamage.patch4
m---------work/Bukkit0
m---------work/CraftBukkit0
m---------work/Spigot0
73 files changed, 244 insertions, 287 deletions
diff --git a/patches/api/0001-Convert-project-to-Gradle.patch b/patches/api/0001-Convert-project-to-Gradle.patch
index 15069c214f..edcb5d8355 100644
--- a/patches/api/0001-Convert-project-to-Gradle.patch
+++ b/patches/api/0001-Convert-project-to-Gradle.patch
@@ -8,7 +8,7 @@ apply if there are changes made to it from upstream - thus notifying us
that changes were made.
diff --git a/.gitignore b/.gitignore
-index e431e3435737e28394d81b56568a08b3c3148b9b..b23bde3b5e881f146539a307d0a59f2177b6a036 100644
+index 11038da2e071699d6561a331565db0c8d7850d0e..317acfec5894101294a55abff61819431e6a5e65 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,5 @@
@@ -17,7 +17,7 @@ index e431e3435737e28394d81b56568a08b3c3148b9b..b23bde3b5e881f146539a307d0a59f21
# Eclipse stuff
/.classpath
/.project
-@@ -30,3 +32,7 @@
+@@ -31,3 +33,7 @@
*.ipr
*.iws
.idea/
diff --git a/patches/api/0003-Annotation-Test-changes.patch b/patches/api/0003-Annotation-Test-changes.patch
index cc18011b3c..404635ede1 100644
--- a/patches/api/0003-Annotation-Test-changes.patch
+++ b/patches/api/0003-Annotation-Test-changes.patch
@@ -8,7 +8,7 @@ Subject: [PATCH] Annotation Test changes
- Add excludes for classes which don't pass
diff --git a/src/test/java/org/bukkit/AnnotationTest.java b/src/test/java/org/bukkit/AnnotationTest.java
-index 0c7377247ad9251c9e498039511e7220370aba2d..c6a8a37a933cfc5a5885602a8a70fdda8fb6aa10 100644
+index 4ac3dd977e75cd8464163351d306e037ee32cb48..1a71bb8861150c1add6446aa2fad0f7035dd6873 100644
--- a/src/test/java/org/bukkit/AnnotationTest.java
+++ b/src/test/java/org/bukkit/AnnotationTest.java
@@ -40,7 +40,17 @@ public class AnnotationTest {
@@ -57,7 +57,7 @@ index 0c7377247ad9251c9e498039511e7220370aba2d..c6a8a37a933cfc5a5885602a8a70fdda
+ dancing: // Paper
for (int i = 0; i < paramTypes.length; i++) {
- if (mustBeAnnotated(paramTypes[i]) && !isWellAnnotated(method.invisibleParameterAnnotations == null ? null : method.invisibleParameterAnnotations[i])) {
+ if (mustBeAnnotated(paramTypes[i]) ^ isWellAnnotated(method.invisibleParameterAnnotations == null ? null : method.invisibleParameterAnnotations[i])) {
+ // Paper start
+ if (method.invisibleTypeAnnotations != null) {
+ for (final org.objectweb.asm.tree.TypeAnnotationNode invisibleTypeAnnotation : method.invisibleTypeAnnotations) {
diff --git a/patches/api/0005-Adventure.patch b/patches/api/0005-Adventure.patch
index dd030976c8..210a9cbf33 100644
--- a/patches/api/0005-Adventure.patch
+++ b/patches/api/0005-Adventure.patch
@@ -1334,7 +1334,7 @@ index efb97712cc9dc7c1e12a59f5b94e4f2ad7c6b7d8..3024468af4c073324e536c1cb26beffb
return warning == null || warning.value();
}
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 7e0c6c57976a00f989fe4e5dce83cd986b460e72..1d3bb553c944f5920e81e295f8cd5b7194d37aac 100644
+index 3a5251cb3b45f50d1ea4ab2c9b430e990cdfc8d5..425cad3b6c365560f6614767d763ad61a92e6722 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -43,7 +43,7 @@ import org.jetbrains.annotations.Nullable;
@@ -1839,10 +1839,10 @@ index 259d878ddd4e4e2b289c0de0325ca8fd6203c484..a829779ac56a271cad463806984991b4
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index c652660f8e053b066d0d40a89ab6f1b86655f71b..2c5fc4f62b2c16de1f4f94f52aae5baf8af6d694 100644
+index a060b8b022c600e43aaef79a2942a384d47b300d..5a2c072c95cad8485e281e080e5e606194b05b30 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -37,7 +37,28 @@ import org.jetbrains.annotations.Nullable;
+@@ -39,7 +39,28 @@ import org.jetbrains.annotations.Nullable;
/**
* Represents a player, connected or not
*/
@@ -1872,7 +1872,7 @@ index c652660f8e053b066d0d40a89ab6f1b86655f71b..2c5fc4f62b2c16de1f4f94f52aae5baf
/**
* {@inheritDoc}
-@@ -54,7 +75,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -56,7 +77,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* places defined by plugins.
*
* @return the friendly name
@@ -1882,7 +1882,7 @@ index c652660f8e053b066d0d40a89ab6f1b86655f71b..2c5fc4f62b2c16de1f4f94f52aae5baf
@NotNull
public String getDisplayName();
-@@ -66,15 +89,50 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -68,15 +91,50 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* places defined by plugins.
*
* @param name The new display name.
@@ -1933,7 +1933,7 @@ index c652660f8e053b066d0d40a89ab6f1b86655f71b..2c5fc4f62b2c16de1f4f94f52aae5baf
public String getPlayerListName();
/**
-@@ -83,14 +141,18 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -85,14 +143,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
@@ -1952,7 +1952,7 @@ index c652660f8e053b066d0d40a89ab6f1b86655f71b..2c5fc4f62b2c16de1f4f94f52aae5baf
@Nullable
public String getPlayerListHeader();
-@@ -98,7 +160,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -100,7 +162,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
@@ -1962,7 +1962,7 @@ index c652660f8e053b066d0d40a89ab6f1b86655f71b..2c5fc4f62b2c16de1f4f94f52aae5baf
@Nullable
public String getPlayerListFooter();
-@@ -106,14 +170,18 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -108,14 +172,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
@@ -1981,7 +1981,7 @@ index c652660f8e053b066d0d40a89ab6f1b86655f71b..2c5fc4f62b2c16de1f4f94f52aae5baf
public void setPlayerListFooter(@Nullable String footer);
/**
-@@ -122,7 +190,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -124,7 +192,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
@@ -1991,7 +1991,7 @@ index c652660f8e053b066d0d40a89ab6f1b86655f71b..2c5fc4f62b2c16de1f4f94f52aae5baf
public void setPlayerListHeaderFooter(@Nullable String header, @Nullable String footer);
/**
-@@ -160,9 +230,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -162,9 +232,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* Kicks player with custom kick message.
*
* @param message kick message
@@ -2017,7 +2017,7 @@ index c652660f8e053b066d0d40a89ab6f1b86655f71b..2c5fc4f62b2c16de1f4f94f52aae5baf
/**
* Says a message (or runs a command).
*
-@@ -514,6 +600,90 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -538,6 +624,90 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public void sendEquipmentChange(@NotNull LivingEntity entity, @NotNull EquipmentSlot slot, @NotNull ItemStack item);
@@ -2108,7 +2108,7 @@ index c652660f8e053b066d0d40a89ab6f1b86655f71b..2c5fc4f62b2c16de1f4f94f52aae5baf
/**
* 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.
-@@ -528,7 +698,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -552,7 +722,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
@@ -2118,7 +2118,7 @@ index c652660f8e053b066d0d40a89ab6f1b86655f71b..2c5fc4f62b2c16de1f4f94f52aae5baf
public void sendSignChange(@NotNull Location loc, @Nullable String[] lines) throws IllegalArgumentException;
/**
-@@ -547,7 +719,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -571,7 +743,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
@@ -2128,7 +2128,7 @@ index c652660f8e053b066d0d40a89ab6f1b86655f71b..2c5fc4f62b2c16de1f4f94f52aae5baf
public void sendSignChange(@NotNull Location loc, @Nullable String[] lines, @NotNull DyeColor dyeColor) throws IllegalArgumentException;
/**
-@@ -567,7 +741,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -591,7 +765,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
@@ -2138,7 +2138,7 @@ index c652660f8e053b066d0d40a89ab6f1b86655f71b..2c5fc4f62b2c16de1f4f94f52aae5baf
public void sendSignChange(@NotNull Location loc, @Nullable String[] lines, @NotNull DyeColor dyeColor, boolean hasGlowingText) throws IllegalArgumentException;
/**
-@@ -1042,6 +1218,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1023,6 +1199,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* pack correctly.
* </ul>
*
@@ -2146,7 +2146,7 @@ index c652660f8e053b066d0d40a89ab6f1b86655f71b..2c5fc4f62b2c16de1f4f94f52aae5baf
* @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.
-@@ -1055,8 +1232,57 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1079,8 +1256,10 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @throws IllegalArgumentException Thrown if the hash is not 20 bytes
* long.
*/
@@ -2154,6 +2154,25 @@ index c652660f8e053b066d0d40a89ab6f1b86655f71b..2c5fc4f62b2c16de1f4f94f52aae5baf
public void setResourcePack(@NotNull String url, @Nullable byte[] hash, @Nullable String prompt);
+ // Paper start
+ /**
+ * Request that the player's client download and switch resource packs.
+ * <p>
+@@ -1116,6 +1295,54 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+ * @param hash The sha1 hash sum of the resource pack file which is used
+ * to apply a cached version of the pack directly without downloading
+ * if it is available. Hast to be 20 bytes long!
++ * @param prompt The optional custom prompt message to be shown to client.
++ * @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.
++ * @throws IllegalArgumentException Thrown if the hash is not 20 bytes
++ * long.
++ */
++ default void setResourcePack(@NotNull String url, byte @Nullable [] hash, net.kyori.adventure.text.@Nullable Component prompt) {
++ this.setResourcePack(url, hash, prompt, false);
++ }
++ // Paper end
++
+ /**
+ * Request that the player's client download and switch resource packs.
+ * <p>
@@ -2183,36 +2202,17 @@ index c652660f8e053b066d0d40a89ab6f1b86655f71b..2c5fc4f62b2c16de1f4f94f52aae5baf
+ * pack correctly.
+ * </ul>
+ *
++ * @deprecated in favour of {@link #setResourcePack(String, byte[], Component, boolean)}
+ * @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.
+ * @param hash The sha1 hash sum of the resource pack file which is used
+ * to apply a cached version of the pack directly without downloading
+ * if it is available. Hast to be 20 bytes long!
-+ * @param prompt The optional custom prompt message to be shown to client.
-+ * @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.
-+ * @throws IllegalArgumentException Thrown if the hash is not 20 bytes
-+ * long.
-+ */
-+ default void setResourcePack(@NotNull String url, byte @Nullable [] hash, net.kyori.adventure.text.@Nullable Component prompt) {
-+ this.setResourcePack(url, hash, prompt, false);
-+ }
-+ // Paper end
-+
- /**
- * Request that the player's client download and switch resource packs.
- * <p>
-@@ -1131,6 +1357,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
- * pack correctly.
- * </ul>
- *
-+ * @deprecated in favour of {@link #setResourcePack(String, byte[], Component, boolean)}
- * @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.
-@@ -1146,8 +1373,57 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+ * @param force If true, the client will be disconnected from the server
+ * when it declines to use the resource pack.
+ * @throws IllegalArgumentException Thrown if the URL is null.
+@@ -1170,8 +1397,57 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @throws IllegalArgumentException Thrown if the hash is not 20 bytes
* long.
*/
@@ -2270,7 +2270,7 @@ index c652660f8e053b066d0d40a89ab6f1b86655f71b..2c5fc4f62b2c16de1f4f94f52aae5baf
/**
* Gets the Scoreboard displayed to this player
*
-@@ -1263,7 +1539,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1287,7 +1563,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*
* @param title Title text
* @param subtitle Subtitle text
@@ -2279,7 +2279,7 @@ index c652660f8e053b066d0d40a89ab6f1b86655f71b..2c5fc4f62b2c16de1f4f94f52aae5baf
*/
@Deprecated
public void sendTitle(@Nullable String title, @Nullable String subtitle);
-@@ -1282,7 +1558,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1306,7 +1582,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.
@@ -2289,7 +2289,7 @@ index c652660f8e053b066d0d40a89ab6f1b86655f71b..2c5fc4f62b2c16de1f4f94f52aae5baf
public void sendTitle(@Nullable String title, @Nullable String subtitle, int fadeIn, int stay, int fadeOut);
/**
-@@ -1509,6 +1787,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1533,6 +1811,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public int getClientViewDistance();
@@ -2304,7 +2304,7 @@ index c652660f8e053b066d0d40a89ab6f1b86655f71b..2c5fc4f62b2c16de1f4f94f52aae5baf
/**
* Gets the player's estimated ping in milliseconds.
*
-@@ -1534,8 +1820,10 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1558,8 +1844,10 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* they wish.
*
* @return the player's locale
@@ -2315,7 +2315,7 @@ index c652660f8e053b066d0d40a89ab6f1b86655f71b..2c5fc4f62b2c16de1f4f94f52aae5baf
public String getLocale();
/**
-@@ -1577,6 +1865,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1601,6 +1889,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public boolean isAllowingServerListings();
@@ -2330,7 +2330,7 @@ index c652660f8e053b066d0d40a89ab6f1b86655f71b..2c5fc4f62b2c16de1f4f94f52aae5baf
// Spigot start
public class Spigot extends Entity.Spigot {
-@@ -1631,11 +1927,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1655,11 +1951,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
throw new UnsupportedOperationException("Not supported yet.");
}
@@ -2344,7 +2344,7 @@ index c652660f8e053b066d0d40a89ab6f1b86655f71b..2c5fc4f62b2c16de1f4f94f52aae5baf
@Override
public void sendMessage(@NotNull net.md_5.bungee.api.chat.BaseComponent... components) {
throw new UnsupportedOperationException("Not supported yet.");
-@@ -1646,7 +1944,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1670,7 +1968,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*
* @param position the screen position
* @param component the components to send
@@ -2354,7 +2354,7 @@ index c652660f8e053b066d0d40a89ab6f1b86655f71b..2c5fc4f62b2c16de1f4f94f52aae5baf
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.");
}
-@@ -1656,7 +1956,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1680,7 +1980,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*
* @param position the screen position
* @param components the components to send
@@ -2364,7 +2364,7 @@ index c652660f8e053b066d0d40a89ab6f1b86655f71b..2c5fc4f62b2c16de1f4f94f52aae5baf
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.");
}
-@@ -1667,7 +1969,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1691,7 +1993,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
@@ -2374,7 +2374,7 @@ index c652660f8e053b066d0d40a89ab6f1b86655f71b..2c5fc4f62b2c16de1f4f94f52aae5baf
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.");
}
-@@ -1678,7 +1982,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1702,7 +2006,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
@@ -4577,7 +4577,7 @@ index 0db7fe1b9fe5621ceed3f4f046691e359f5949dd..47b10df619ad2520b9bb673e2220f363
/**
diff --git a/src/test/java/org/bukkit/AnnotationTest.java b/src/test/java/org/bukkit/AnnotationTest.java
-index c6a8a37a933cfc5a5885602a8a70fdda8fb6aa10..93498307004b68b934fbfa1aeb3aaf0e97cbdac7 100644
+index 1a71bb8861150c1add6446aa2fad0f7035dd6873..8275a5d7e1de39a5171e254f449a42c6defd3445 100644
--- a/src/test/java/org/bukkit/AnnotationTest.java
+++ b/src/test/java/org/bukkit/AnnotationTest.java
@@ -26,6 +26,12 @@ import org.objectweb.asm.tree.ParameterNode;
diff --git a/patches/api/0007-Timings-v2.patch b/patches/api/0007-Timings-v2.patch
index a41f390b5c..0db18c6dd4 100644
--- a/patches/api/0007-Timings-v2.patch
+++ b/patches/api/0007-Timings-v2.patch
@@ -3391,10 +3391,10 @@ index 516d7fc7812aac343782861d0d567f54aa578c2a..00000000000000000000000000000000
- // Spigot end
-}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 2c5fc4f62b2c16de1f4f94f52aae5baf8af6d694..fd1056d2ef74e380e586f0eace4d0760fb564334 100644
+index 5a2c072c95cad8485e281e080e5e606194b05b30..3f9236ce97adb4b724e18a5f05497681bed5d4d5 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1987,7 +1987,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2011,7 +2011,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 8ee11af337..59f6484c72 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 fd1056d2ef74e380e586f0eace4d0760fb564334..7a6f43bf88452d0cfa516637975cf4dc871e5e06 100644
+index 3f9236ce97adb4b724e18a5f05497681bed5d4d5..7c13de51561df662691a36ca1cc91ca7997d773a 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1826,6 +1826,22 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1850,6 +1850,22 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@Deprecated // Paper
public String getLocale();
diff --git a/patches/api/0014-Add-view-distance-API.patch b/patches/api/0014-Add-view-distance-API.patch
index 933120ca51..f1d1622670 100644
--- a/patches/api/0014-Add-view-distance-API.patch
+++ b/patches/api/0014-Add-view-distance-API.patch
@@ -8,7 +8,7 @@ Add per player no-tick, tick, and send view distances.
Also add send/no-tick view distance to World.
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 1d3bb553c944f5920e81e295f8cd5b7194d37aac..887b85849803cee22a41a701b43cdc9085ba0dc3 100644
+index 425cad3b6c365560f6614767d763ad61a92e6722..75a87b221cc0f6334c5283130a7b2bfdf4eedd03 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -2673,6 +2673,62 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@@ -75,10 +75,10 @@ index 1d3bb553c944f5920e81e295f8cd5b7194d37aac..887b85849803cee22a41a701b43cdc90
public class Spigot {
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 7a6f43bf88452d0cfa516637975cf4dc871e5e06..0dc399e83610b73077e656887cc699b5527d201d 100644
+index 7c13de51561df662691a36ca1cc91ca7997d773a..292f7827df666c10d7b82aa9b1688bf3f0da5c7b 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1840,6 +1840,78 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1864,6 +1864,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/0019-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch b/patches/api/0019-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch
index 5229788672..ddb12482a0 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
@@ -76,10 +76,10 @@ index 2dac2c6e01b4f230750605ab1f49317927705c6b..1aed052ea337f2875b581064bd8e79d8
* 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 0dc399e83610b73077e656887cc699b5527d201d..ce011547908812764e4687f5e59fbc26dfd9b047 100644
+index 292f7827df666c10d7b82aa9b1688bf3f0da5c7b..b91c12089ba0723356ef2d3d1b8b0c66ca8850bf 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -754,6 +754,42 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -778,6 +778,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 96d969d9c6..c3924585b7 100644
--- a/patches/api/0023-Player-Tab-List-and-Title-APIs.patch
+++ b/patches/api/0023-Player-Tab-List-and-Title-APIs.patch
@@ -432,18 +432,18 @@ index 0000000000000000000000000000000000000000..9e90c3df567a65b48a0b9341f784eb90
+ }
+}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index ce011547908812764e4687f5e59fbc26dfd9b047..d34b72dcc6e03a2337b8f06de9605586c40a0438 100644
+index b91c12089ba0723356ef2d3d1b8b0c66ca8850bf..74a3abef2ff1be11427558293e81f3b7fe9fff16 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;
-
+@@ -3,6 +3,7 @@ package org.bukkit.entity;
import java.net.InetSocketAddress;
+ import java.util.Collection;
import java.util.UUID;
+import com.destroystokyo.paper.Title; // Paper
import org.bukkit.DyeColor;
import org.bukkit.Effect;
import org.bukkit.GameMode;
-@@ -788,6 +789,131 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -812,6 +813,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 d70976768b..d7714d68dd 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 d34b72dcc6e03a2337b8f06de9605586c40a0438..e334e7147098169c78f972acbf88757821baa790 100644
+index 74a3abef2ff1be11427558293e81f3b7fe9fff16..bc3fc130b38bb9e102ab6a95e6ca75d815ba4902 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1305,7 +1305,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1329,7 +1329,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 d34b72dcc6e03a2337b8f06de9605586c40a0438..e334e7147098169c78f972acbf887578
public void setResourcePack(@NotNull String url);
/**
-@@ -2121,6 +2123,124 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2145,6 +2147,124 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
default net.kyori.adventure.text.event.HoverEvent<net.kyori.adventure.text.event.HoverEvent.ShowEntity> asHoverEvent(final @NotNull java.util.function.UnaryOperator<net.kyori.adventure.text.event.HoverEvent.ShowEntity> 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/0045-Add-String-based-Action-Bar-API.patch b/patches/api/0045-Add-String-based-Action-Bar-API.patch
index 6311613fa6..343e0ac46b 100644
--- a/patches/api/0045-Add-String-based-Action-Bar-API.patch
+++ b/patches/api/0045-Add-String-based-Action-Bar-API.patch
@@ -5,18 +5,18 @@ 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 e334e7147098169c78f972acbf88757821baa790..17c56b7d4dcac0738078101203fbef1716ed3157 100644
+index bc3fc130b38bb9e102ab6a95e6ca75d815ba4902..80910fcc46b62ee4974a659713a1a72b5b4c135b 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;
- import java.net.InetSocketAddress;
+@@ -4,6 +4,7 @@ import java.net.InetSocketAddress;
+ import java.util.Collection;
import java.util.UUID;
import com.destroystokyo.paper.Title; // Paper
+import net.kyori.adventure.text.Component;
import org.bukkit.DyeColor;
import org.bukkit.Effect;
import org.bukkit.GameMode;
-@@ -756,6 +757,39 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -780,6 +781,39 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
public void sendMap(@NotNull MapView map);
// Paper start
@@ -56,7 +56,7 @@ index e334e7147098169c78f972acbf88757821baa790..17c56b7d4dcac0738078101203fbef17
/**
* Sends the component to the player
*
-@@ -783,9 +817,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -807,9 +841,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 e334e7147098169c78f972acbf88757821baa790..17c56b7d4dcac0738078101203fbef17
public default void sendMessage(net.md_5.bungee.api.ChatMessageType position, net.md_5.bungee.api.chat.BaseComponent... components) {
spigot().sendMessage(position, components);
}
-@@ -2312,6 +2348,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2336,6 +2372,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 e334e7147098169c78f972acbf88757821baa790..17c56b7d4dcac0738078101203fbef17
* @param position the screen position
* @param component the components to send
* @deprecated use {@code sendMessage} methods that accept {@link net.kyori.adventure.text.Component}
-@@ -2324,6 +2361,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2348,6 +2385,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/0054-Fix-upstream-javadocs.patch b/patches/api/0054-Fix-upstream-javadocs.patch
index 1ee6c866ce..e5aab964c4 100644
--- a/patches/api/0054-Fix-upstream-javadocs.patch
+++ b/patches/api/0054-Fix-upstream-javadocs.patch
@@ -106,7 +106,7 @@ index 652238659e0a6e0df11f2798773aea4fe7712360..9c57eda3b7af7026639afda9959bc5e5
* Returns the name of this player
*
diff --git a/src/main/java/org/bukkit/entity/Mob.java b/src/main/java/org/bukkit/entity/Mob.java
-index 6f117995c3ccf9182946c01a663cd8bef1804eb3..00266bf81b022a0f4b4f71061b82a8713b773320 100644
+index 2926fa6071bc7640cc10280b5c3962b0ce7686f1..4f63988848443aff55619bc12ef12c925642a3f9 100644
--- a/src/main/java/org/bukkit/entity/Mob.java
+++ b/src/main/java/org/bukkit/entity/Mob.java
@@ -9,6 +9,10 @@ import org.jetbrains.annotations.Nullable;
@@ -121,10 +121,10 @@ index 6f117995c3ccf9182946c01a663cd8bef1804eb3..00266bf81b022a0f4b4f71061b82a871
* Instructs this Mob to set the specified LivingEntity as its target.
* <p>
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 17c56b7d4dcac0738078101203fbef1716ed3157..f9ecac9a2c45e1d428277e43f9cf1a93a53dd84f 100644
+index 80910fcc46b62ee4974a659713a1a72b5b4c135b..50faa513411cdb611ae228f0c07a7dfe15807b85 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -310,15 +310,15 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -312,15 +312,15 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
/**
* Saves the players current location, health, inventory, motion, and
@@ -144,7 +144,7 @@ index 17c56b7d4dcac0738078101203fbef1716ed3157..f9ecac9a2c45e1d428277e43f9cf1a93
* <p>
* Note: This will overwrite the players current inventory, health,
* motion, etc, with the state from the saved dat file.
-@@ -774,7 +774,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -798,7 +798,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*
* Use supplied alternative character to the section symbol to represent legacy color codes.
*
@@ -187,41 +187,6 @@ index d51d2ec1d04d9ea8a25a70d0d856f2355ebfcb4a..7ecff9fcee19fc94be784474fea620e5
*/
EATING,
/**
-diff --git a/src/main/java/org/bukkit/event/player/PlayerArmorStandManipulateEvent.java b/src/main/java/org/bukkit/event/player/PlayerArmorStandManipulateEvent.java
-index f72dd3ccf09c024213548e59ee1c13ca2cf48808..2f54cb77c991211e0e4b9fa37dc64888804a2a07 100644
---- a/src/main/java/org/bukkit/event/player/PlayerArmorStandManipulateEvent.java
-+++ b/src/main/java/org/bukkit/event/player/PlayerArmorStandManipulateEvent.java
-@@ -26,11 +26,11 @@ public class PlayerArmorStandManipulateEvent extends PlayerInteractEntityEvent {
- }
-
- /**
-- * Returns the item held by the player. If this Item is null and the armor stand Item is also null,
-+ * Returns the item held by the player. If this Item is air and the armor stand Item is also air,
- * there will be no transaction between the player and the armor stand.
-- * If the Player's item is null, but the armor stand item is not then the player will obtain the armor stand item.
-- * In the case that the Player's item is not null, but the armor stand item is null, the players item will be placed on the armor stand.
-- * If both items are not null, the items will be swapped.
-+ * If the Player's item is air, but the armor stand item is not then the player will obtain the armor stand item.
-+ * In the case that the Player's item is not air, but the armor stand item is air, the players item will be placed on the armor stand.
-+ * If both items are not air, the items will be swapped.
- * In the case that the event is cancelled the original items will remain the same.
- * @return the item held by the player.
- */
-@@ -41,10 +41,10 @@ public class PlayerArmorStandManipulateEvent extends PlayerInteractEntityEvent {
-
- /**
- * Returns the item held by the armor stand.
-- * If this Item is null and the player's Item is also null, there will be no transaction between the player and the armor stand.
-- * If the Player's item is null, but the armor stand item is not then the player will obtain the armor stand item.
-- * In the case that the Player's item is not null, but the armor stand item is null, the players item will be placed on the armor stand.
-- * If both items are not null, the items will be swapped.
-+ * If this Item is air and the player's Item is also air, there will be no transaction between the player and the armor stand.
-+ * If the Player's item is air, but the armor stand item is not then the player will obtain the armor stand item.
-+ * In the case that the Player's item is not air, but the armor stand item is air, the players item will be placed on the armor stand.
-+ * If both items are not air, the items will be swapped.
- * In the case that the event is cancelled the original items will remain the same.
- * @return the item held by the armor stand.
- */
diff --git a/src/main/java/org/bukkit/inventory/EntityEquipment.java b/src/main/java/org/bukkit/inventory/EntityEquipment.java
index d5b50a4a954fed35d37f03f1a277cc173ca106df..a91fa5386afd7a1137adb921ad5adb798604772f 100644
--- a/src/main/java/org/bukkit/inventory/EntityEquipment.java
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 34c3a73486..1acdee557a 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 9d23a4019814f4662f4ab9a47b3fceff656c5245..f9f708bda24751353dd61951418731a2eea5abb0 100644
+index 50faa513411cdb611ae228f0c07a7dfe15807b85..1f29ed50c981fa262790a070722bbe9fecac5b02 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -39,7 +39,7 @@ import org.jetbrains.annotations.Nullable;
+@@ -41,7 +41,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 237cd00d8e..2115648f1d 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 13b5ab85a89347f8c33ab672bc352f6e425a64af..d3d3cfc0cf43f2b1f2d1937ef1a924b51f8cbde5 100644
+index 1f29ed50c981fa262790a070722bbe9fecac5b02..f42ef55662b8cecd7383ae10424364da97c54453 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1040,12 +1040,33 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1064,12 +1064,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 0bb7394d49..a8fad2d70d 100644
--- a/patches/api/0091-Player.setPlayerProfile-API.patch
+++ b/patches/api/0091-Player.setPlayerProfile-API.patch
@@ -80,10 +80,10 @@ index fab39e4fc595c022da27e87e27bd168939e54381..e90056341407f58ff6ce2d9b80c8f3f6
/**
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index d3d3cfc0cf43f2b1f2d1937ef1a924b51f8cbde5..1d3387716f3e4e11155d79f62a759d8c59db84cd 100644
+index f42ef55662b8cecd7383ae10424364da97c54453..d55104146a7a4668aa73ee0bf6f084471e8b85c2 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -2298,6 +2298,20 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2322,6 +2322,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 0ea0d12794..2b6b38993f 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 be3eaadbc768a306da68a15abcaa7a5d3ec760c7..13b74e942012169611f2791f8b4493d0
/**
* 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 1d3387716f3e4e11155d79f62a759d8c59db84cd..4cc2be70758e2b5b9ea195a4a7f6cd5a7b735149 100644
+index d55104146a7a4668aa73ee0bf6f084471e8b85c2..104171d7a75abf5c3ba5903c1fba4ca7a85369ae 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -2153,7 +2153,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2177,7 +2177,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 bc4077d506..d5fa90406f 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 c5eed3234a8c04bfa9d707685746fc2b40ec8bfc..93f86bb30725dff5dbfcccf15012ffd1
/**
* 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 4cc2be70758e2b5b9ea195a4a7f6cd5a7b735149..ece01269623d3114da78b01aa1e3b7e859533dac 100644
+index 104171d7a75abf5c3ba5903c1fba4ca7a85369ae..d3c3347fd08fd6e05d5b269aa50fa083c555a7e3 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -757,6 +757,162 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -781,6 +781,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 6812b80271..c7c1cb413e 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 ece01269623d3114da78b01aa1e3b7e859533dac..6827d0b590c4bc7117eac6e4a64606864f793f3d 100644
+index d3c3347fd08fd6e05d5b269aa50fa083c555a7e3..90982225ad78d8005961895102800b6a20bb42a0 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -2468,6 +2468,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2492,6 +2492,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/0156-Material-API-additions.patch b/patches/api/0156-Material-API-additions.patch
index 8279b57eaf..9f13508f04 100644
--- a/patches/api/0156-Material-API-additions.patch
+++ b/patches/api/0156-Material-API-additions.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Material API additions
diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java
-index 8314acc3cacb9a0da91097f1615868e663baceb2..e995480855e113d1f5a6f6b4972795005b9d9ed0 100644
+index 47d14a334c0f8d0918a2f08d5bf54f82370aaf44..666ed1075dad7c233c450f033d2309c748a2be26 100644
--- a/src/main/java/org/bukkit/Material.java
+++ b/src/main/java/org/bukkit/Material.java
-@@ -108,6 +108,7 @@ import org.jetbrains.annotations.Nullable;
+@@ -109,6 +109,7 @@ import org.jetbrains.annotations.Nullable;
/**
* An enum of all material IDs accepted by the official server and client
*/
@@ -16,7 +16,7 @@ index 8314acc3cacb9a0da91097f1615868e663baceb2..e995480855e113d1f5a6f6b497279500
public enum Material implements Keyed {
//<editor-fold desc="Materials" defaultstate="collapsed">
AIR(9648, 0),
-@@ -4112,6 +4113,22 @@ public enum Material implements Keyed {
+@@ -4113,6 +4114,22 @@ public enum Material implements Keyed {
}
}
diff --git a/patches/api/0176-Fix-Spigot-annotation-mistakes.patch b/patches/api/0176-Fix-Spigot-annotation-mistakes.patch
index 6b915f657a..cab4daf9d2 100644
--- a/patches/api/0176-Fix-Spigot-annotation-mistakes.patch
+++ b/patches/api/0176-Fix-Spigot-annotation-mistakes.patch
@@ -79,10 +79,10 @@ index 57cb548683f7b2972c998afd34176952426f8b47..d4c87bfed81b2d73919705912f59fab0
if (this.world == null) {
return null;
diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java
-index e995480855e113d1f5a6f6b4972795005b9d9ed0..f3e50dee6cf453d6621dcdbef0047335147f4d0c 100644
+index 666ed1075dad7c233c450f033d2309c748a2be26..6eb0b9ba2b7ad5faba31220483c424203802e1d3 100644
--- a/src/main/java/org/bukkit/Material.java
+++ b/src/main/java/org/bukkit/Material.java
-@@ -4142,11 +4142,11 @@ public enum Material implements Keyed {
+@@ -4143,11 +4143,11 @@ public enum Material implements Keyed {
}
/**
@@ -96,7 +96,7 @@ index e995480855e113d1f5a6f6b4972795005b9d9ed0..f3e50dee6cf453d6621dcdbef0047335
public boolean isLegacy() {
return legacy;
}
-@@ -4217,8 +4217,10 @@ public enum Material implements Keyed {
+@@ -4218,8 +4218,10 @@ public enum Material implements Keyed {
* Gets the MaterialData class associated with this Material
*
* @return MaterialData associated with this Material
@@ -196,7 +196,7 @@ index f465ea001c190e10eb99db818559d302e5512e99..567f560d145dea6fc724069917549615
public @interface UndefinedNullability {
diff --git a/src/main/java/org/bukkit/Vibration.java b/src/main/java/org/bukkit/Vibration.java
-index 8d568d21fcbf706f55cda087bd7222ac60889c0a..209a302c3a2ed333780ed760314a6ed352fc0767 100644
+index e455eb21abf121dc6ff10ff8a13dd06f67096a8f..bbc01e7c192ae6689c301670047ff114306c57cb 100644
--- a/src/main/java/org/bukkit/Vibration.java
+++ b/src/main/java/org/bukkit/Vibration.java
@@ -13,6 +13,14 @@ public class Vibration {
@@ -211,7 +211,7 @@ index 8d568d21fcbf706f55cda087bd7222ac60889c0a..209a302c3a2ed333780ed760314a6ed3
+ }
+
+ @Deprecated(forRemoval = true) // Paper end
- public Vibration(@NotNull Location origin, @NotNull Destination destination, @NotNull int arrivalTime) {
+ public Vibration(@NotNull Location origin, @NotNull Destination destination, int arrivalTime) {
this.origin = origin;
this.destination = destination;
@@ -22,9 +30,11 @@ public class Vibration {
@@ -227,7 +227,7 @@ index 8d568d21fcbf706f55cda087bd7222ac60889c0a..209a302c3a2ed333780ed760314a6ed3
return origin;
}
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 8f7536e5ef73328cb69f7214956aac582a7d6f24..7358c9148853d4b5b35998094838156231497747 100644
+index 24a14005cb9c2fe7e97ba0fbd948c0c1110c52ce..891b25c84f6cc86ac3ccf61eca1d4398f31ba6b5 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -430,9 +430,8 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@@ -341,10 +341,10 @@ index 95c79c5fa0c4e30201f887da6467ce5f81c8a255..7f9c4d4b430a3f0276461346ff2621ba
/**
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 6827d0b590c4bc7117eac6e4a64606864f793f3d..0aa71faaa3f2afc29a518657bf1515cb70a86ed2 100644
+index 90982225ad78d8005961895102800b6a20bb42a0..fc8dd3af9fcb083b483da19a80234d668c2fcffc 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1375,9 +1375,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1399,9 +1399,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*
* @param plugin Plugin that wants to hide the entity
* @param entity Entity to hide
@@ -355,7 +355,7 @@ index 6827d0b590c4bc7117eac6e4a64606864f793f3d..0aa71faaa3f2afc29a518657bf1515cb
public void hideEntity(@NotNull Plugin plugin, @NotNull Entity entity);
/**
-@@ -1387,9 +1386,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1411,9 +1410,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*
* @param plugin Plugin that wants to show the entity
* @param entity Entity to show
@@ -366,7 +366,7 @@ index 6827d0b590c4bc7117eac6e4a64606864f793f3d..0aa71faaa3f2afc29a518657bf1515cb
public void showEntity(@NotNull Plugin plugin, @NotNull Entity entity);
/**
-@@ -1398,9 +1396,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1422,9 +1420,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param entity Entity to check
* @return True if the provided entity is not being hidden from this
* player
diff --git a/patches/api/0195-Add-Player-Client-Options-API.patch b/patches/api/0195-Add-Player-Client-Options-API.patch
index 0bd8071d14..86a6b786c0 100644
--- a/patches/api/0195-Add-Player-Client-Options-API.patch
+++ b/patches/api/0195-Add-Player-Client-Options-API.patch
@@ -193,18 +193,18 @@ index 0000000000000000000000000000000000000000..f7f171c4ee0b8339b2f8fbe82442d65f
+ }
+}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 0aa71faaa3f2afc29a518657bf1515cb70a86ed2..f870a20de42f17dd020057365901fb62afccebbe 100644
+index fc8dd3af9fcb083b483da19a80234d668c2fcffc..5a84c4c5644f5d82896c693939ddc7d30a69cc97 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;
-
+@@ -3,6 +3,7 @@ package org.bukkit.entity;
import java.net.InetSocketAddress;
+ import java.util.Collection;
import java.util.UUID;
+import com.destroystokyo.paper.ClientOption; // Paper
import com.destroystokyo.paper.Title; // Paper
import net.kyori.adventure.text.Component;
import org.bukkit.DyeColor;
-@@ -2485,6 +2486,12 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2509,6 +2510,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/0214-Brand-support.patch b/patches/api/0214-Brand-support.patch
index cdbb7e142f..ce8d4fade7 100644
--- a/patches/api/0214-Brand-support.patch
+++ b/patches/api/0214-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 f870a20de42f17dd020057365901fb62afccebbe..f601bd04d6ee0d39d4554d32628912208072a017 100644
+index 5a84c4c5644f5d82896c693939ddc7d30a69cc97..8f7667562187a141ec037eaafa2e3e8d1abd6bff 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -2620,6 +2620,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2644,6 +2644,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
// Paper end
}
diff --git a/patches/api/0221-Add-methods-to-get-translation-keys.patch b/patches/api/0221-Add-methods-to-get-translation-keys.patch
index 6e713111cd..909c3426d5 100644
--- a/patches/api/0221-Add-methods-to-get-translation-keys.patch
+++ b/patches/api/0221-Add-methods-to-get-translation-keys.patch
@@ -144,10 +144,10 @@ index dddc450e1372409c513bbedc0acfc80d9f749333..38a1b02c006af766b0c10ee65e9fc28f
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java
-index f3e50dee6cf453d6621dcdbef0047335147f4d0c..f0042c25a19860645d0c869fad58625b6ecafb6e 100644
+index 6eb0b9ba2b7ad5faba31220483c424203802e1d3..a4c7ff53b7e12e9d3ca649782008a4ce26a33f89 100644
--- a/src/main/java/org/bukkit/Material.java
+++ b/src/main/java/org/bukkit/Material.java
-@@ -109,7 +109,7 @@ import org.jetbrains.annotations.Nullable;
+@@ -110,7 +110,7 @@ import org.jetbrains.annotations.Nullable;
* An enum of all material IDs accepted by the official server and client
*/
@SuppressWarnings({"DeprecatedIsStillUsed", "deprecation"}) // Paper
@@ -156,7 +156,7 @@ index f3e50dee6cf453d6621dcdbef0047335147f4d0c..f0042c25a19860645d0c869fad58625b
//<editor-fold desc="Materials" defaultstate="collapsed">
AIR(9648, 0),
STONE(22948),
-@@ -4127,6 +4127,23 @@ public enum Material implements Keyed {
+@@ -4128,6 +4128,23 @@ public enum Material implements Keyed {
}
return false;
}
diff --git a/patches/api/0228-Player-elytra-boost-API.patch b/patches/api/0228-Player-elytra-boost-API.patch
index d435285ae0..40d4cad6f1 100644
--- a/patches/api/0228-Player-elytra-boost-API.patch
+++ b/patches/api/0228-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 f601bd04d6ee0d39d4554d32628912208072a017..0454748478428828ce8b824f90463f4b03a010bd 100644
+index 8f7667562187a141ec037eaafa2e3e8d1abd6bff..8d4a010d826fb84feb3d6b927275c49d8eec9f71 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -2492,6 +2492,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2516,6 +2516,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
@NotNull
<T> T getClientOption(@NotNull ClientOption<T> option);
diff --git a/patches/api/0256-Add-sendOpLevel-API.patch b/patches/api/0256-Add-sendOpLevel-API.patch
index dca15f6d2d..b3bdaac090 100644
--- a/patches/api/0256-Add-sendOpLevel-API.patch
+++ b/patches/api/0256-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 0454748478428828ce8b824f90463f4b03a010bd..ae009440a7b1e073f3772b1c3d91b6ae6fca0495 100644
+index 8d4a010d826fb84feb3d6b927275c49d8eec9f71..9bae45ea3097e328594dcaefac87c55d2c27498d 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -2505,6 +2505,17 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2529,6 +2529,17 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
@Nullable
Firework boostElytra(@NotNull ItemStack firework);
diff --git a/patches/api/0272-Cache-the-result-of-Material-isBlock.patch b/patches/api/0272-Cache-the-result-of-Material-isBlock.patch
index b3ee0e3296..b7c79e9f76 100644
--- a/patches/api/0272-Cache-the-result-of-Material-isBlock.patch
+++ b/patches/api/0272-Cache-the-result-of-Material-isBlock.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Cache the result of Material#isBlock
diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java
-index f0042c25a19860645d0c869fad58625b6ecafb6e..1a718a69e97cabda6a1c78529110193c14899949 100644
+index a4c7ff53b7e12e9d3ca649782008a4ce26a33f89..90367a01199ad90f0f10b977e214585a6e1ecf8a 100644
--- a/src/main/java/org/bukkit/Material.java
+++ b/src/main/java/org/bukkit/Material.java
-@@ -4071,6 +4071,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata
+@@ -4072,6 +4072,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata
public final Class<?> data;
private final boolean legacy;
private final NamespacedKey key;
@@ -16,7 +16,7 @@ index f0042c25a19860645d0c869fad58625b6ecafb6e..1a718a69e97cabda6a1c78529110193c
private Material(final int id) {
this(id, 64);
-@@ -4277,6 +4278,11 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata
+@@ -4278,6 +4279,11 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata
* @return true if this material is a block
*/
public boolean isBlock() {
@@ -28,7 +28,7 @@ index f0042c25a19860645d0c869fad58625b6ecafb6e..1a718a69e97cabda6a1c78529110193c
switch (this) {
//<editor-fold defaultstate="collapsed" desc="isBlock">
case ACACIA_BUTTON:
-@@ -5393,6 +5399,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata
+@@ -5394,6 +5400,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata
static {
for (Material material : values()) {
BY_NAME.put(material.name(), material);
diff --git a/patches/api/0278-Item-Rarity-API.patch b/patches/api/0278-Item-Rarity-API.patch
index 27f16fd3cc..ac6b1d001f 100644
--- a/patches/api/0278-Item-Rarity-API.patch
+++ b/patches/api/0278-Item-Rarity-API.patch
@@ -39,10 +39,10 @@ index 0000000000000000000000000000000000000000..74ef8395cc040ce488c2acaa416db202
+ }
+}
diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java
-index 1a718a69e97cabda6a1c78529110193c14899949..4e6273c609630be7c196d4eed54fbca097eaf7d4 100644
+index 90367a01199ad90f0f10b977e214585a6e1ecf8a..f24f1d7a676f3b83ab05f655bd66b81b0069f88c 100644
--- a/src/main/java/org/bukkit/Material.java
+++ b/src/main/java/org/bukkit/Material.java
-@@ -4145,6 +4145,17 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata
+@@ -4146,6 +4146,17 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata
public @NotNull String translationKey() {
return Bukkit.getUnsafe().getTranslationKey(this);
}
diff --git a/patches/api/0303-Attributes-API-for-item-defaults.patch b/patches/api/0303-Attributes-API-for-item-defaults.patch
index 6ad130b500..16d608ad5c 100644
--- a/patches/api/0303-Attributes-API-for-item-defaults.patch
+++ b/patches/api/0303-Attributes-API-for-item-defaults.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Attributes API for item defaults
diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java
-index 4e6273c609630be7c196d4eed54fbca097eaf7d4..6eae173f589cb90eb6e41b5b75e13a3c02e7901d 100644
+index f24f1d7a676f3b83ab05f655bd66b81b0069f88c..163c3ed1974e50376b7c2b2805df283322d41777 100644
--- a/src/main/java/org/bukkit/Material.java
+++ b/src/main/java/org/bukkit/Material.java
-@@ -4156,6 +4156,21 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata
+@@ -4157,6 +4157,21 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata
public io.papermc.paper.inventory.ItemRarity getItemRarity() {
return Bukkit.getUnsafe().getItemRarity(this);
}
diff --git a/patches/api/0306-Add-PlayerKickEvent-causes.patch b/patches/api/0306-Add-PlayerKickEvent-causes.patch
index 9f49a57d75..4b2bfc5a54 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 ae009440a7b1e073f3772b1c3d91b6ae6fca0495..0a400ecdffa18eb836fed62961f151ff6842011b 100644
+index 9bae45ea3097e328594dcaefac87c55d2c27498d..19d23f2995322e1710741b58e5c7bc2f3880fc0d 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -250,6 +250,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -252,6 +252,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/0336-Add-isCollidable-methods-to-various-places.patch b/patches/api/0336-Add-isCollidable-methods-to-various-places.patch
index 4cd6743156..f3472664f7 100644
--- a/patches/api/0336-Add-isCollidable-methods-to-various-places.patch
+++ b/patches/api/0336-Add-isCollidable-methods-to-various-places.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add isCollidable methods to various places
diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java
-index 6eae173f589cb90eb6e41b5b75e13a3c02e7901d..1d6baee05643607baa40a07022576906ea61a92f 100644
+index 163c3ed1974e50376b7c2b2805df283322d41777..cb00e050cd5fff3a037a32ac34e02eeea3827357 100644
--- a/src/main/java/org/bukkit/Material.java
+++ b/src/main/java/org/bukkit/Material.java
-@@ -4171,6 +4171,16 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata
+@@ -4172,6 +4172,16 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata
public Multimap<Attribute, AttributeModifier> getItemAttributes(@NotNull EquipmentSlot equipmentSlot) {
return Bukkit.getUnsafe().getItemAttributes(this, equipmentSlot);
}
diff --git a/patches/api/0341-Add-player-health-update-API.patch b/patches/api/0341-Add-player-health-update-API.patch
index 06b3a54182..83a3545f84 100644
--- a/patches/api/0341-Add-player-health-update-API.patch
+++ b/patches/api/0341-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 0a400ecdffa18eb836fed62961f151ff6842011b..78034fcc89ceeba6934569189f24e5a41229d848 100644
+index 19d23f2995322e1710741b58e5c7bc2f3880fc0d..b5519cf329485a2ec72586e66a8a88617c09312e 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1893,6 +1893,31 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1917,6 +1917,31 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public double getHealthScale();
diff --git a/patches/api/0357-Multi-Block-Change-API.patch b/patches/api/0357-Multi-Block-Change-API.patch
index a8bdc6fff0..1d9a1f89d4 100644
--- a/patches/api/0357-Multi-Block-Change-API.patch
+++ b/patches/api/0357-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 78034fcc89ceeba6934569189f24e5a41229d848..6ec49c213c87e9dbf7ebfbdb93f1d993a2639ac5 100644
+index b5519cf329485a2ec72586e66a8a88617c09312e..82d9cfadb00da9b7c2034938780354a573801728 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -600,6 +600,27 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -624,6 +624,27 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public void sendBlockDamage(@NotNull Location loc, float progress);
diff --git a/patches/api/0386-More-Teleport-API.patch b/patches/api/0386-More-Teleport-API.patch
index 0c960c2de7..98b380b070 100644
--- a/patches/api/0386-More-Teleport-API.patch
+++ b/patches/api/0386-More-Teleport-API.patch
@@ -159,10 +159,10 @@ index 461e29a0abbb021c886bffec71c948e1edc3d222..321f3ec6c7020ada38143832aea1c545
* Teleports this entity to the given location. If this entity is riding a
* vehicle, it will be dismounted prior to teleportation.
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 6ec49c213c87e9dbf7ebfbdb93f1d993a2639ac5..3fcfe8651a9c422fa9c8ff77556477f1461424cf 100644
+index 82d9cfadb00da9b7c2034938780354a573801728..8bac7b0b762a75a6535b50351850192a9568b578 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -2708,6 +2708,71 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2732,6 +2732,71 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
String getClientBrandName();
// Paper end
diff --git a/patches/api/0388-Custom-Chat-Completion-Suggestions-API.patch b/patches/api/0388-Custom-Chat-Completion-Suggestions-API.patch
index 62cde4be44..0afdd4aa9a 100644
--- a/patches/api/0388-Custom-Chat-Completion-Suggestions-API.patch
+++ b/patches/api/0388-Custom-Chat-Completion-Suggestions-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Custom Chat Completion Suggestions API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 3fcfe8651a9c422fa9c8ff77556477f1461424cf..b607c229cfb1e95b17b6a0073380089ef5e1b675 100644
+index 8bac7b0b762a75a6535b50351850192a9568b578..cde9dfaba913e18d2efc6003d5209ba3cfb02945 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -2570,6 +2570,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2594,6 +2594,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @throws IllegalArgumentException If the level is negative or greater than {@code 4} (i.e. not within {@code [0, 4]}).
*/
void sendOpLevel(byte level);
diff --git a/patches/api/0392-Add-custom-destroyerIdentity-to-sendBlockDamage.patch b/patches/api/0392-Add-custom-destroyerIdentity-to-sendBlockDamage.patch
index 46ac25ad48..31fa2bff14 100644
--- a/patches/api/0392-Add-custom-destroyerIdentity-to-sendBlockDamage.patch
+++ b/patches/api/0392-Add-custom-destroyerIdentity-to-sendBlockDamage.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add custom destroyerIdentity to sendBlockDamage
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index b607c229cfb1e95b17b6a0073380089ef5e1b675..5e51bc9176b481ec70fd7e5ac23d04d59f8d1a9a 100644
+index cde9dfaba913e18d2efc6003d5209ba3cfb02945..1d98abff1ad0116f7a2599f078aa730cb84843c1 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -592,7 +592,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -616,7 +616,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
/**
* Send block damage. This fakes block break progress for a user at a
* certain location. This will not actually change the block's break
@@ -17,7 +17,7 @@ index b607c229cfb1e95b17b6a0073380089ef5e1b675..5e51bc9176b481ec70fd7e5ac23d04d5
*
* @param loc the location of the damaged block
* @param progress the progress from 0.0 - 1.0 where 0 is no damage and
-@@ -601,6 +601,18 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -625,6 +625,18 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
public void sendBlockDamage(@NotNull Location loc, float progress);
// Paper start
diff --git a/patches/server/0001-Setup-Gradle-project.patch b/patches/server/0001-Setup-Gradle-project.patch
index 0f0e187098..830a5584ed 100644
--- a/patches/server/0001-Setup-Gradle-project.patch
+++ b/patches/server/0001-Setup-Gradle-project.patch
@@ -8,7 +8,7 @@ apply if there are changes made to it from upstream - thus notifying us
that changes were made.
diff --git a/.gitignore b/.gitignore
-index 67fb370cad6924895a6b27052dbd5c1767e3f0c9..bb338269c9e3bef4c274157c490d8b8f8c589937 100644
+index 3df8c60ab5cd1454660980883f80668d535b742b..37c3a00659ce21623be07317f4f6a45bf990d799 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,6 @@
@@ -18,7 +18,7 @@ index 67fb370cad6924895a6b27052dbd5c1767e3f0c9..bb338269c9e3bef4c274157c490d8b8f
# Eclipse stuff
/.classpath
/.project
-@@ -37,3 +40,7 @@ dependency-reduced-pom.xml
+@@ -38,3 +41,7 @@ dependency-reduced-pom.xml
/src/main/resources/achievement
/src/main/resources/lang
diff --git a/patches/server/0009-Adventure.patch b/patches/server/0009-Adventure.patch
index 7c02dae1d4..5e5641e209 100644
--- a/patches/server/0009-Adventure.patch
+++ b/patches/server/0009-Adventure.patch
@@ -3204,10 +3204,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 e9036bbb2ec2862252c3a39a4022e195784291ca..ef5e29e0a66f8d4cb819c4383cf3f1317d4e5bb0 100644
+index 75143ba3e1e8a001801455c9bf1235186833dbae..10a9a108448509ceb7d40a4bddb067384c4c9f26 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -269,14 +269,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -275,14 +275,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public String getDisplayName() {
@@ -3247,7 +3247,7 @@ index e9036bbb2ec2862252c3a39a4022e195784291ca..ef5e29e0a66f8d4cb819c4383cf3f131
@Override
public String getPlayerListName() {
return this.getHandle().listName == null ? getName() : CraftChatMessage.fromComponent(this.getHandle().listName);
-@@ -295,42 +320,42 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -301,42 +326,42 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
}
@@ -3299,7 +3299,7 @@ index e9036bbb2ec2862252c3a39a4022e195784291ca..ef5e29e0a66f8d4cb819c4383cf3f131
this.getHandle().connection.send(packet);
}
-@@ -362,6 +387,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -368,6 +393,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.getHandle().connection.disconnect(message == null ? "" : message);
}
@@ -3323,7 +3323,7 @@ index e9036bbb2ec2862252c3a39a4022e195784291ca..ef5e29e0a66f8d4cb819c4383cf3f131
@Override
public void setCompassTarget(Location loc) {
if (this.getHandle().connection == null) return;
-@@ -624,6 +666,35 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -668,6 +710,35 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.getHandle().connection.send(packet);
}
@@ -3359,7 +3359,7 @@ index e9036bbb2ec2862252c3a39a4022e195784291ca..ef5e29e0a66f8d4cb819c4383cf3f131
@Override
public void sendSignChange(Location loc, String[] lines) {
this.sendSignChange(loc, lines, DyeColor.BLACK);
-@@ -651,14 +722,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -695,14 +766,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
Component[] components = CraftSign.sanitizeLines(lines);
@@ -3377,7 +3377,7 @@ index e9036bbb2ec2862252c3a39a4022e195784291ca..ef5e29e0a66f8d4cb819c4383cf3f131
}
@Override
-@@ -1429,7 +1501,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1473,7 +1545,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void setResourcePack(String url) {
@@ -3386,7 +3386,7 @@ index e9036bbb2ec2862252c3a39a4022e195784291ca..ef5e29e0a66f8d4cb819c4383cf3f131
}
@Override
-@@ -1444,7 +1516,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1488,7 +1560,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void setResourcePack(String url, byte[] hash, boolean force) {
@@ -3395,7 +3395,7 @@ index e9036bbb2ec2862252c3a39a4022e195784291ca..ef5e29e0a66f8d4cb819c4383cf3f131
}
@Override
-@@ -1460,6 +1532,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1504,6 +1576,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
}
@@ -3417,7 +3417,7 @@ index e9036bbb2ec2862252c3a39a4022e195784291ca..ef5e29e0a66f8d4cb819c4383cf3f131
public void addChannel(String channel) {
Preconditions.checkState(this.channels.size() < 128, "Cannot register channel '%s'. Too many channels registered!", channel);
channel = StandardMessenger.validateAndCorrectChannel(channel);
-@@ -1864,6 +1951,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1908,6 +1995,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return (this.getHandle().clientViewDistance == null) ? Bukkit.getViewDistance() : this.getHandle().clientViewDistance;
}
@@ -3430,7 +3430,7 @@ index e9036bbb2ec2862252c3a39a4022e195784291ca..ef5e29e0a66f8d4cb819c4383cf3f131
@Override
public int getPing() {
return this.getHandle().latency;
-@@ -1909,6 +2002,193 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1953,6 +2046,193 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.getHandle().allowsListing();
}
diff --git a/patches/server/0012-Timings-v2.patch b/patches/server/0012-Timings-v2.patch
index a9679a9489..0d50ea9704 100644
--- a/patches/server/0012-Timings-v2.patch
+++ b/patches/server/0012-Timings-v2.patch
@@ -1839,10 +1839,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 ef5e29e0a66f8d4cb819c4383cf3f1317d4e5bb0..a2dd86fde8882c774ad44be3ca66f7c80bb77389 100644
+index 10a9a108448509ceb7d40a4bddb067384c4c9f26..d5e6123622f6bbc4c3b8b91be7f9ba8e5c1c22d8 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2275,6 +2275,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2319,6 +2319,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
CraftPlayer.this.getHandle().connection.send(new net.minecraft.network.protocol.game.ClientboundSystemChatPacket(components, position == net.md_5.bungee.api.ChatMessageType.ACTION_BAR));
}
diff --git a/patches/server/0032-Player-affects-spawning-API.patch b/patches/server/0032-Player-affects-spawning-API.patch
index 160b9c9ca5..c3767ea521 100644
--- a/patches/server/0032-Player-affects-spawning-API.patch
+++ b/patches/server/0032-Player-affects-spawning-API.patch
@@ -117,10 +117,10 @@ index 7c5918f84d2b8f9c778258b7e7d745105effb082..cfb286020b8ee87bad7edbda4cd0b999
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 a2dd86fde8882c774ad44be3ca66f7c80bb77389..6132d91ba0f1390365f4661bcd7406000fa8a88d 100644
+index d5e6123622f6bbc4c3b8b91be7f9ba8e5c1c22d8..213024c868e7e33cd1ecef4173449b02f5b9b425 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1965,8 +1965,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2009,8 +2009,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public String getLocale() {
return this.getHandle().locale;
diff --git a/patches/server/0034-Only-refresh-abilities-if-needed.patch b/patches/server/0034-Only-refresh-abilities-if-needed.patch
index 173e6b6366..899a5ac925 100644
--- a/patches/server/0034-Only-refresh-abilities-if-needed.patch
+++ b/patches/server/0034-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 6132d91ba0f1390365f4661bcd7406000fa8a88d..68dddf4ded409f26a0c048d1b760f6ebb54da4ee 100644
+index 213024c868e7e33cd1ecef4173449b02f5b9b425..00df00676337435e6ec62a86dc03fecde30f9819 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1634,12 +1634,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1678,12 +1678,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void setFlying(boolean value) {
diff --git a/patches/server/0047-Implement-PlayerLocaleChangeEvent.patch b/patches/server/0047-Implement-PlayerLocaleChangeEvent.patch
index af210058a9..f8e270f8fa 100644
--- a/patches/server/0047-Implement-PlayerLocaleChangeEvent.patch
+++ b/patches/server/0047-Implement-PlayerLocaleChangeEvent.patch
@@ -30,10 +30,10 @@ index 13bb12a2d1260b1c20ce3c8755906c2227f29f86..db7e2207612b56b0869a947edd03a6d3
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 68dddf4ded409f26a0c048d1b760f6ebb54da4ee..7f0dd0b718a08c850f07f3e0b0a0cf680f1bb2eb 100644
+index 00df00676337435e6ec62a86dc03fecde30f9819..9d2506a042b49089094be79b5d0ed54f088b9625 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1965,8 +1965,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2009,8 +2009,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public String getLocale() {
diff --git a/patches/server/0048-Per-Player-View-Distance-API-placeholders.patch b/patches/server/0048-Per-Player-View-Distance-API-placeholders.patch
index 9f490acf67..05d14292f2 100644
--- a/patches/server/0048-Per-Player-View-Distance-API-placeholders.patch
+++ b/patches/server/0048-Per-Player-View-Distance-API-placeholders.patch
@@ -60,10 +60,10 @@ index 9a6820b10e4164cc38d269853b5c2a49175cb890..0ed46cdd443ac42a7d57ee59f6f04fd9
// 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 7f0dd0b718a08c850f07f3e0b0a0cf680f1bb2eb..82a640887a75c360539c1787dbbb32750f6b1379 100644
+index 9d2506a042b49089094be79b5d0ed54f088b9625..f2ada37115392466edbed8a2d331084aaaf7b774 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -402,6 +402,46 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -408,6 +408,46 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
connection.disconnect(message == null ? net.kyori.adventure.text.Component.empty() : message);
}
}
diff --git a/patches/server/0055-Ensure-commands-are-not-ran-async.patch b/patches/server/0055-Ensure-commands-are-not-ran-async.patch
index 31bbe6739d..a19a940f1f 100644
--- a/patches/server/0055-Ensure-commands-are-not-ran-async.patch
+++ b/patches/server/0055-Ensure-commands-are-not-ran-async.patch
@@ -107,10 +107,10 @@ index 56efe95512c851b965f2295d5eac7bc0c67bdb1f..1c6577bbbc005131661cbb4667cff649
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 82a640887a75c360539c1787dbbb32750f6b1379..2666e55d72fd7731a2bde42d690762a2747dac90 100644
+index f2ada37115392466edbed8a2d331084aaaf7b774..2811d631dfd0f4013579734486c3ebbca4cfaad2 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -461,7 +461,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -467,7 +467,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public void chat(String msg) {
if (this.getHandle().connection == null) return;
diff --git a/patches/server/0060-Player-Tab-List-and-Title-APIs.patch b/patches/server/0060-Player-Tab-List-and-Title-APIs.patch
index 9d0c41ec61..51f179ec48 100644
--- a/patches/server/0060-Player-Tab-List-and-Title-APIs.patch
+++ b/patches/server/0060-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 2666e55d72fd7731a2bde42d690762a2747dac90..f4f704ec29cb9eb2f4de2b77261a54169bb40a93 100644
+index 2811d631dfd0f4013579734486c3ebbca4cfaad2..59a9168a1158d47eaa6bca223318db8c543023a0 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 2666e55d72fd7731a2bde42d690762a2747dac90..f4f704ec29cb9eb2f4de2b77261a5416
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableSet;
import com.google.common.io.BaseEncoding;
-@@ -267,6 +268,100 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -273,6 +274,100 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
}
diff --git a/patches/server/0063-Configurable-inter-world-teleportation-safety.patch b/patches/server/0063-Configurable-inter-world-teleportation-safety.patch
index 4863fd9b13..5164172bc6 100644
--- a/patches/server/0063-Configurable-inter-world-teleportation-safety.patch
+++ b/patches/server/0063-Configurable-inter-world-teleportation-safety.patch
@@ -16,10 +16,10 @@ The wanted destination was on top of the emerald block however the player ended
This only is the case if the player is teleporting between worlds.
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index f4f704ec29cb9eb2f4de2b77261a54169bb40a93..d91f69639724aeeb4264f86cf8f76edc22567649 100644
+index 59a9168a1158d47eaa6bca223318db8c543023a0..5bc128440e2f12e2c635db70280c46dbb5f3f3c0 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1050,7 +1050,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1094,7 +1094,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
if (fromWorld == toWorld) {
entity.connection.teleport(to);
} else {
diff --git a/patches/server/0069-Complete-resource-pack-API.patch b/patches/server/0069-Complete-resource-pack-API.patch
index ee380568c3..e3a7984fc5 100644
--- a/patches/server/0069-Complete-resource-pack-API.patch
+++ b/patches/server/0069-Complete-resource-pack-API.patch
@@ -23,10 +23,10 @@ index e21a6961bab606036440f2a6bd90998b4129ae10..9f0a5b950a022aa2a3d3d60837fdb902
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index d91f69639724aeeb4264f86cf8f76edc22567649..6ae934c6c7c50dd38ff2e762fddfe650e97aa4ae 100644
+index 5bc128440e2f12e2c635db70280c46dbb5f3f3c0..3846905bafd92918349793d346aca5b3a3529e9b 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -144,6 +144,7 @@ import org.bukkit.plugin.Plugin;
+@@ -150,6 +150,7 @@ import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.messaging.StandardMessenger;
import org.bukkit.profile.PlayerProfile;
import org.bukkit.scoreboard.Scoreboard;
@@ -34,7 +34,7 @@ index d91f69639724aeeb4264f86cf8f76edc22567649..6ae934c6c7c50dd38ff2e762fddfe650
import net.md_5.bungee.api.chat.BaseComponent; // Spigot
-@@ -162,6 +163,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -168,6 +169,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
private double healthScale = 20;
private CraftWorldBorder clientWorldBorder = null;
private BorderChangeListener clientWorldBorderListener = this.createWorldBorderListener();
@@ -45,7 +45,7 @@ index d91f69639724aeeb4264f86cf8f76edc22567649..6ae934c6c7c50dd38ff2e762fddfe650
public CraftPlayer(CraftServer server, ServerPlayer entity) {
super(server, entity);
-@@ -2127,6 +2132,45 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2171,6 +2176,45 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public boolean getAffectsSpawning() {
return this.getHandle().affectsSpawning;
}
diff --git a/patches/server/0077-handle-NaN-health-absorb-values-and-repair-bad-data.patch b/patches/server/0077-handle-NaN-health-absorb-values-and-repair-bad-data.patch
index 0abf12d2aa..0085f9fe6d 100644
--- a/patches/server/0077-handle-NaN-health-absorb-values-and-repair-bad-data.patch
+++ b/patches/server/0077-handle-NaN-health-absorb-values-and-repair-bad-data.patch
@@ -44,10 +44,10 @@ index 5678461976a07f9afecccb1d34ea3eec24fba80e..8dc6fbbdfaecf0eb38a876d87d77f111
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 6ae934c6c7c50dd38ff2e762fddfe650e97aa4ae..da91150f7462c2743d7394b148ddb52e9af8b797 100644
+index 3846905bafd92918349793d346aca5b3a3529e9b..72b1429c4976b8db13d2185486c240b2fadb4ea9 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1932,6 +1932,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1976,6 +1976,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
public void setRealHealth(double health) {
diff --git a/patches/server/0126-String-based-Action-Bar-API.patch b/patches/server/0126-String-based-Action-Bar-API.patch
index 993e5b8cbd..7d7838984d 100644
--- a/patches/server/0126-String-based-Action-Bar-API.patch
+++ b/patches/server/0126-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 da91150f7462c2743d7394b148ddb52e9af8b797..a5418b1c78e1f1eb9f552450367717fee9487193 100644
+index 72b1429c4976b8db13d2185486c240b2fadb4ea9..538db39d365252a63d578728b362a8dde3e8838e 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -274,6 +274,26 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -280,6 +280,26 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
// Paper start
diff --git a/patches/server/0166-Expose-client-protocol-version-and-virtual-host.patch b/patches/server/0166-Expose-client-protocol-version-and-virtual-host.patch
index e5c31b05c4..0702ce77ce 100644
--- a/patches/server/0166-Expose-client-protocol-version-and-virtual-host.patch
+++ b/patches/server/0166-Expose-client-protocol-version-and-virtual-host.patch
@@ -90,10 +90,10 @@ index 9016aced079108aeae09f030a672467a953ef93f..4170bda451df3db43e7d57d87d1abb81
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index a5418b1c78e1f1eb9f552450367717fee9487193..460e237a3237d5965b2ef85d32113682ee04e52d 100644
+index 538db39d365252a63d578728b362a8dde3e8838e..9db54a62d46a02fc7d2adcb9cbfa275fdd541a28 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -218,6 +218,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -224,6 +224,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
}
diff --git a/patches/server/0176-Ability-to-apply-mending-to-XP-API.patch b/patches/server/0176-Ability-to-apply-mending-to-XP-API.patch
index d301f387f5..79dc532697 100644
--- a/patches/server/0176-Ability-to-apply-mending-to-XP-API.patch
+++ b/patches/server/0176-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 460e237a3237d5965b2ef85d32113682ee04e52d..299f2a8c45462d8070312c98554dbcc05298c681 100644
+index 9db54a62d46a02fc7d2adcb9cbfa275fdd541a28..afb4f2e730fbc57dd4b5fac24071eb99231d4d19 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1365,7 +1365,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1409,7 +1409,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
@Override
diff --git a/patches/server/0189-Player.setPlayerProfile-API.patch b/patches/server/0189-Player.setPlayerProfile-API.patch
index eff52cffca..4f588923ed 100644
--- a/patches/server/0189-Player.setPlayerProfile-API.patch
+++ b/patches/server/0189-Player.setPlayerProfile-API.patch
@@ -24,10 +24,10 @@ index 9a7fe61d7de80eaf044c202e1ed13d9e4b59622a..ef09f5f42a89f767060f015af27269ad
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 299f2a8c45462d8070312c98554dbcc05298c681..31bcabd4c6ac3aa261c439a154ba7eb0f8caa0b8 100644
+index afb4f2e730fbc57dd4b5fac24071eb99231d4d19..27f496417aecf5a62fdbabbc7de52533d5252ebf 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -75,6 +75,7 @@ import net.minecraft.world.entity.ai.attributes.Attributes;
+@@ -79,6 +79,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;
@@ -35,7 +35,7 @@ index 299f2a8c45462d8070312c98554dbcc05298c681..31bcabd4c6ac3aa261c439a154ba7eb0
import net.minecraft.world.level.block.entity.SignBlockEntity;
import net.minecraft.world.level.border.BorderChangeListener;
import net.minecraft.world.level.saveddata.maps.MapDecoration;
-@@ -201,11 +202,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -207,11 +208,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return server.getPlayer(getUniqueId()) != null;
}
@@ -47,7 +47,7 @@ index 299f2a8c45462d8070312c98554dbcc05298c681..31bcabd4c6ac3aa261c439a154ba7eb0
@Override
public InetSocketAddress getAddress() {
if (this.getHandle().connection == null) return null;
-@@ -1498,8 +1494,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1542,8 +1538,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 299f2a8c45462d8070312c98554dbcc05298c681..31bcabd4c6ac3aa261c439a154ba7eb0
ChunkMap.TrackedEntity entry = tracker.entityMap.get(other.getId());
if (entry != null) {
entry.removePlayer(this.getHandle());
-@@ -1512,8 +1515,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1556,8 +1559,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.getHandle().connection.send(new ClientboundPlayerInfoPacket(ClientboundPlayerInfoPacket.Action.REMOVE_PLAYER, otherPlayer));
}
}
@@ -73,7 +73,7 @@ index 299f2a8c45462d8070312c98554dbcc05298c681..31bcabd4c6ac3aa261c439a154ba7eb0
}
@Override
-@@ -1550,8 +1551,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1594,8 +1595,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
this.hiddenEntities.remove(entity.getUniqueId());
@@ -90,7 +90,7 @@ index 299f2a8c45462d8070312c98554dbcc05298c681..31bcabd4c6ac3aa261c439a154ba7eb0
if (other instanceof ServerPlayer) {
ServerPlayer otherPlayer = (ServerPlayer) other;
-@@ -1562,9 +1570,51 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1606,9 +1614,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/0194-Flag-to-disable-the-channel-limit.patch b/patches/server/0194-Flag-to-disable-the-channel-limit.patch
index 86fb71be62..68fc4ad851 100644
--- a/patches/server/0194-Flag-to-disable-the-channel-limit.patch
+++ b/patches/server/0194-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 31bcabd4c6ac3aa261c439a154ba7eb0f8caa0b8..7234e96d6d956d84fbcbcb321c1fb05906da6adb 100644
+index 27f496417aecf5a62fdbabbc7de52533d5252ebf..ba05bdd83abde37695bacc30d56108ed85f5adb9 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -167,6 +167,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -173,6 +173,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 31bcabd4c6ac3aa261c439a154ba7eb0f8caa0b8..7234e96d6d956d84fbcbcb321c1fb059
// Paper end
public CraftPlayer(CraftServer server, ServerPlayer entity) {
-@@ -1814,7 +1815,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1858,7 +1859,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
// Paper end
public void addChannel(String channel) {
diff --git a/patches/server/0223-InventoryCloseEvent-Reason-API.patch b/patches/server/0223-InventoryCloseEvent-Reason-API.patch
index 6008057827..b55d8b9e1a 100644
--- a/patches/server/0223-InventoryCloseEvent-Reason-API.patch
+++ b/patches/server/0223-InventoryCloseEvent-Reason-API.patch
@@ -173,10 +173,10 @@ index 7ea4a2d4e691e0a0a4d9ef3189a29a4a4ca4374b..883b6245f44f3fb82d7678e1092177ca
@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 7234e96d6d956d84fbcbcb321c1fb05906da6adb..69c3602abfddc9c065736cf08c32f88029df0e5c 100644
+index ba05bdd83abde37695bacc30d56108ed85f5adb9..63575545d197c4172b1df04090d904b4358f6b5c 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1079,7 +1079,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1123,7 +1123,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
// Close any foreign inventory
if (this.getHandle().containerMenu != this.getHandle().inventoryMenu) {
diff --git a/patches/server/0261-Expose-attack-cooldown-methods-for-Player.patch b/patches/server/0261-Expose-attack-cooldown-methods-for-Player.patch
index fd448ce851..bca960a131 100644
--- a/patches/server/0261-Expose-attack-cooldown-methods-for-Player.patch
+++ b/patches/server/0261-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 69c3602abfddc9c065736cf08c32f88029df0e5c..da6511b0842e25eca537dd9df92d63e49e4290ad 100644
+index 63575545d197c4172b1df04090d904b4358f6b5c..15967a7162ceca57a0549f0b3643a63fe03a91f3 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2510,6 +2510,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2554,6 +2554,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.adventure$pointers;
}
diff --git a/patches/server/0262-Improve-death-events.patch b/patches/server/0262-Improve-death-events.patch
index 9ae53b7aa2..5c2e261604 100644
--- a/patches/server/0262-Improve-death-events.patch
+++ b/patches/server/0262-Improve-death-events.patch
@@ -310,10 +310,10 @@ index f94a74728bd7c02a7f8245c92e7916f0b669ee0d..cd54fa8f7bbcb6036e90f4ef7cdc01d7
this.gameEvent(GameEvent.ENTITY_DIE);
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index da6511b0842e25eca537dd9df92d63e49e4290ad..1b0f744423c4a61f85ad901b5a71b1ebe52a7cdd 100644
+index 15967a7162ceca57a0549f0b3643a63fe03a91f3..e950db8a10668c5d7f4d462eaf91540df2159538 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2074,7 +2074,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2118,7 +2118,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
public void sendHealthUpdate() {
diff --git a/patches/server/0299-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch b/patches/server/0299-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch
index f79d5c3d9b..6dd4db4eb5 100644
--- a/patches/server/0299-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch
+++ b/patches/server/0299-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch
@@ -106,10 +106,10 @@ index e7442952ef1f03969949014492a7ddc6d0796ba5..d7823d7dc88cfba6f6ac9dae220e03de
public Location getLastDeathLocation() {
if (this.getData().contains("LastDeathLocation", 10)) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 1b0f744423c4a61f85ad901b5a71b1ebe52a7cdd..e2bf6be0788158602d2e25bd7ba8a72caad6cbfd 100644
+index e950db8a10668c5d7f4d462eaf91540df2159538..31a34d04fbbd5a122c5f971e11649758bd6a4702 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -168,6 +168,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -174,6 +174,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 1b0f744423c4a61f85ad901b5a71b1ebe52a7cdd..e2bf6be0788158602d2e25bd7ba8a72c
// Paper end
public CraftPlayer(CraftServer server, ServerPlayer entity) {
-@@ -1686,6 +1687,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1730,6 +1731,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.firstPlayed = firstPlayed;
}
@@ -136,7 +136,7 @@ index 1b0f744423c4a61f85ad901b5a71b1ebe52a7cdd..e2bf6be0788158602d2e25bd7ba8a72c
public void readExtraData(CompoundTag nbttagcompound) {
this.hasPlayedBefore = true;
if (nbttagcompound.contains("bukkit")) {
-@@ -1708,6 +1721,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1752,6 +1765,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
public void setExtraData(CompoundTag nbttagcompound) {
@@ -145,7 +145,7 @@ index 1b0f744423c4a61f85ad901b5a71b1ebe52a7cdd..e2bf6be0788158602d2e25bd7ba8a72c
if (!nbttagcompound.contains("bukkit")) {
nbttagcompound.put("bukkit", new CompoundTag());
}
-@@ -1722,6 +1737,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1766,6 +1781,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/0301-Block-Entity-remove-from-being-called-on-Players.patch b/patches/server/0301-Block-Entity-remove-from-being-called-on-Players.patch
index d52db88429..71a5f102ee 100644
--- a/patches/server/0301-Block-Entity-remove-from-being-called-on-Players.patch
+++ b/patches/server/0301-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 e2bf6be0788158602d2e25bd7ba8a72caad6cbfd..86447a824d9749f85a6378682d4a6f74ca19875d 100644
+index 31a34d04fbbd5a122c5f971e11649758bd6a4702..fa7b1dd573e61f1a99d58bdb723a40b606604b69 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2557,6 +2557,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2601,6 +2601,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public void resetCooldown() {
getHandle().resetAttackStrengthTicker();
}
diff --git a/patches/server/0395-Implement-Player-Client-Options-API.patch b/patches/server/0395-Implement-Player-Client-Options-API.patch
index 5a4d2416f5..16554bcf51 100644
--- a/patches/server/0395-Implement-Player-Client-Options-API.patch
+++ b/patches/server/0395-Implement-Player-Client-Options-API.patch
@@ -97,10 +97,10 @@ index 227bcd9c1cfcc6bf8dedacdca28731a8ffc7171a..49cb507ddd378b9a16b82e5c2a28531f
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 86447a824d9749f85a6378682d4a6f74ca19875d..0fda8c27c717bd030b826c5c7267b880f9d1f6b9 100644
+index fa7b1dd573e61f1a99d58bdb723a40b606604b69..b82d42210a84bc350b80bc061ea1f0ee36519522 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -574,6 +574,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -580,6 +580,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public void setSendViewDistance(int viewDistance) {
throw new UnsupportedOperationException("Per-Player View Distance APIs need further understanding to properly implement (There are per world view distances though!)"); // TODO
}
diff --git a/patches/server/0476-Brand-support.patch b/patches/server/0476-Brand-support.patch
index 96c458463b..427556e71b 100644
--- a/patches/server/0476-Brand-support.patch
+++ b/patches/server/0476-Brand-support.patch
@@ -56,10 +56,10 @@ index c59e90ba0de83eeda3719b6303bee9796b4a1af0..da6a0171bd63ac68635de1c23fc9eafa
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 0fda8c27c717bd030b826c5c7267b880f9d1f6b9..10e1be2349df779b911848f70e4b8f0e351b1de7 100644
+index b82d42210a84bc350b80bc061ea1f0ee36519522..e5792a497647e68230746f16a91347ec59711f1d 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2681,6 +2681,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2725,6 +2725,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
// Paper end
};
diff --git a/patches/server/0513-Player-elytra-boost-API.patch b/patches/server/0513-Player-elytra-boost-API.patch
index 1e60420c04..7eb787b278 100644
--- a/patches/server/0513-Player-elytra-boost-API.patch
+++ b/patches/server/0513-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 10e1be2349df779b911848f70e4b8f0e351b1de7..09f5a288cba1825fa0fff32f771f98675f473527 100644
+index e5792a497647e68230746f16a91347ec59711f1d..2cf07d61de7fa86ba1d824ee21f127de58185bb0 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -592,6 +592,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -598,6 +598,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
throw new RuntimeException("Unknown settings type");
}
diff --git a/patches/server/0527-Fix-Player-spawnParticle-x-y-z-precision-loss.patch b/patches/server/0527-Fix-Player-spawnParticle-x-y-z-precision-loss.patch
index c8c87f141b..71162c5dcb 100644
--- a/patches/server/0527-Fix-Player-spawnParticle-x-y-z-precision-loss.patch
+++ b/patches/server/0527-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 09f5a288cba1825fa0fff32f771f98675f473527..21f413b1e75c15fae888a4e6dccefbe822ad1c40 100644
+index 2cf07d61de7fa86ba1d824ee21f127de58185bb0..6731b20689ad3781d2b800826d059044c2c75c66 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2263,7 +2263,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2307,7 +2307,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/0569-Add-sendOpLevel-API.patch b/patches/server/0569-Add-sendOpLevel-API.patch
index 67a367d475..4e5a7cff6f 100644
--- a/patches/server/0569-Add-sendOpLevel-API.patch
+++ b/patches/server/0569-Add-sendOpLevel-API.patch
@@ -32,10 +32,10 @@ index 54fff5ebefa04f64ed1abfd12ebf48762015fae3..c4f5a3bf60302743329b17f9b2dffcee
public boolean isWhiteListed(GameProfile profile) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 21f413b1e75c15fae888a4e6dccefbe822ad1c40..0528489348dc12c22bdb306a4b6c5c6a138f5347 100644
+index 6731b20689ad3781d2b800826d059044c2c75c66..50a6aaa4216ba39f2b3b480be7b5953acac08847 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -606,6 +606,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -612,6 +612,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
? (org.bukkit.entity.Firework) entity.getBukkitEntity()
: null;
}
diff --git a/patches/server/0644-additions-to-PlayerGameModeChangeEvent.patch b/patches/server/0644-additions-to-PlayerGameModeChangeEvent.patch
index 5262ad7255..df1c2a81f0 100644
--- a/patches/server/0644-additions-to-PlayerGameModeChangeEvent.patch
+++ b/patches/server/0644-additions-to-PlayerGameModeChangeEvent.patch
@@ -139,10 +139,10 @@ index 161b5d6f0d420ac7b6ed112d1b03d42c3aaec421..de4c3849cc60151de8f3a873adad2bc3
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 0528489348dc12c22bdb306a4b6c5c6a138f5347..ca8267966307ed5e0cb2fc5e4cf61868a77f50ed 100644
+index 50a6aaa4216ba39f2b3b480be7b5953acac08847..05903c7da2ff1a5960c66ef23a685c3da8de04ae 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1386,7 +1386,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1430,7 +1430,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
throw new IllegalArgumentException("Mode cannot be null");
}
diff --git a/patches/server/0656-Add-PlayerKickEvent-causes.patch b/patches/server/0656-Add-PlayerKickEvent-causes.patch
index aadf1414fe..2fc63bdf0d 100644
--- a/patches/server/0656-Add-PlayerKickEvent-causes.patch
+++ b/patches/server/0656-Add-PlayerKickEvent-causes.patch
@@ -391,10 +391,10 @@ index 977a23684b061d7390f70f8754a1d879d7d7075a..cd7fdf629ac1dd17e83445afdf352c33
// 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 ca8267966307ed5e0cb2fc5e4cf61868a77f50ed..a7a0b892b50302ac7af4588bb65206834134dba2 100644
+index 05903c7da2ff1a5960c66ef23a685c3da8de04ae..e0d7a03b57d42f7eacb40e17c684b409cf165338 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -516,7 +516,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -522,7 +522,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
org.spigotmc.AsyncCatcher.catchOp("player kick"); // Spigot
if (this.getHandle().connection == null) return;
@@ -403,7 +403,7 @@ index ca8267966307ed5e0cb2fc5e4cf61868a77f50ed..a7a0b892b50302ac7af4588bb6520683
}
// Paper start
-@@ -528,10 +528,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -534,10 +534,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void kick(final net.kyori.adventure.text.Component message) {
diff --git a/patches/server/0692-Add-PlayerSetSpawnEvent.patch b/patches/server/0692-Add-PlayerSetSpawnEvent.patch
index e726d70f85..4de7c11b8e 100644
--- a/patches/server/0692-Add-PlayerSetSpawnEvent.patch
+++ b/patches/server/0692-Add-PlayerSetSpawnEvent.patch
@@ -129,10 +129,10 @@ index c3e49a781f838e6a46cb89744f3f1846de182275..c2f3d3a09327e7cb7d3167609eb3ce68
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index a7a0b892b50302ac7af4588bb65206834134dba2..5cdb599c6e460672ed0fe15d5c2a9d60ad22c2e3 100644
+index e0d7a03b57d42f7eacb40e17c684b409cf165338..6bc211c98fc4c783545e5c71248f71b27e0853f8 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1206,9 +1206,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1250,9 +1250,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void setBedSpawnLocation(Location location, boolean override) {
if (location == null) {
diff --git a/patches/server/0796-Add-player-health-update-API.patch b/patches/server/0796-Add-player-health-update-API.patch
index 96480e59ca..d83f693e81 100644
--- a/patches/server/0796-Add-player-health-update-API.patch
+++ b/patches/server/0796-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 5cdb599c6e460672ed0fe15d5c2a9d60ad22c2e3..8882651847fc9a8d2e4222f10eb389b553da48ca 100644
+index 6bc211c98fc4c783545e5c71248f71b27e0853f8..f6ec634a22bc446286c8ecb89064cfee7719ec40 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2142,9 +2142,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2186,9 +2186,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.getHandle().maxHealthCache = getMaxHealth();
}
@@ -22,7 +22,7 @@ index 5cdb599c6e460672ed0fe15d5c2a9d60ad22c2e3..8882651847fc9a8d2e4222f10eb389b5
if (this.getHandle().queueHealthUpdatePacket) {
this.getHandle().queuedHealthUpdatePacket = packet;
} else {
-@@ -2152,7 +2154,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2196,7 +2198,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
// Paper end
}
diff --git a/patches/server/0832-Multi-Block-Change-API-Implementation.patch b/patches/server/0832-Multi-Block-Change-API-Implementation.patch
index 6ae11e6a77..a5e8971f51 100644
--- a/patches/server/0832-Multi-Block-Change-API-Implementation.patch
+++ b/patches/server/0832-Multi-Block-Change-API-Implementation.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Multi Block Change API Implementation
diff --git a/src/main/java/net/minecraft/network/protocol/game/ClientboundSectionBlocksUpdatePacket.java b/src/main/java/net/minecraft/network/protocol/game/ClientboundSectionBlocksUpdatePacket.java
-index 82ea4fabd5732052a286d50bcff8bbcc2c4aa7d7..652bea6868a03a5315965f79c76172fb9dbb93fb 100644
+index 285da70a15f6e4c868747af9d40ac30bd4e42ef4..a0aeac9c29300a0cf6bad55133019e8c29f6cc1c 100644
--- a/src/main/java/net/minecraft/network/protocol/game/ClientboundSectionBlocksUpdatePacket.java
+++ b/src/main/java/net/minecraft/network/protocol/game/ClientboundSectionBlocksUpdatePacket.java
-@@ -54,6 +54,15 @@ public class ClientboundSectionBlocksUpdatePacket implements Packet<ClientGamePa
+@@ -63,6 +63,15 @@ public class ClientboundSectionBlocksUpdatePacket implements Packet<ClientGamePa
}
@@ -25,18 +25,10 @@ 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 8882651847fc9a8d2e4222f10eb389b553da48ca..86d9250ce0a49635362a2710bf3c064936d1c77f 100644
+index f6ec634a22bc446286c8ecb89064cfee7719ec40..b318842214ede551215fd68af033feb1c8ef6604 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -29,6 +29,7 @@ import java.util.logging.Logger;
- import javax.annotation.Nullable;
- import net.minecraft.advancements.AdvancementProgress;
- import net.minecraft.core.BlockPos;
-+import net.minecraft.core.SectionPos; // Paper
- import net.minecraft.nbt.CompoundTag;
- import net.minecraft.network.FriendlyByteBuf;
- import net.minecraft.network.chat.ChatMessageContent;
-@@ -882,6 +883,35 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -888,6 +888,35 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.getHandle().connection.send(packet);
}
@@ -70,5 +62,5 @@ index 8882651847fc9a8d2e4222f10eb389b553da48ca..86d9250ce0a49635362a2710bf3c0649
+ // Paper end
+
@Override
- public void sendBlockDamage(Location loc, float progress) {
- Preconditions.checkArgument(loc != null, "loc must not be null");
+ public void sendBlockChanges(Collection<BlockState> blocks, boolean suppressLightUpdates) {
+ Preconditions.checkArgument(blocks != null, "blocks must not be null");
diff --git a/patches/server/0853-Replace-player-chunk-loader-system.patch b/patches/server/0853-Replace-player-chunk-loader-system.patch
index 807c90830c..a6d7f180d4 100644
--- a/patches/server/0853-Replace-player-chunk-loader-system.patch
+++ b/patches/server/0853-Replace-player-chunk-loader-system.patch
@@ -2176,10 +2176,10 @@ index 73e7181655b78f5bff90d07edfe6c5408cc08235..cf6fce4f3bddcbbae59fd128cf661e45
// 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 86d9250ce0a49635362a2710bf3c064936d1c77f..16fa7bdb8cc4bcad01ed33455cf1e51b69e2f720 100644
+index b318842214ede551215fd68af033feb1c8ef6604..4f5760d782bdfeee25839c50b614301eeb8ba42f 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -541,45 +541,80 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -546,45 +546,80 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
}
diff --git a/patches/server/0918-More-Teleport-API.patch b/patches/server/0918-More-Teleport-API.patch
index b645bde091..f03d3d2794 100644
--- a/patches/server/0918-More-Teleport-API.patch
+++ b/patches/server/0918-More-Teleport-API.patch
@@ -69,10 +69,10 @@ index c4ffccddce33cf461d9b04ccbb90026544f16b7d..99b99fae67e53a688b3519d8a8d0cc5f
// Let the server handle cross world teleports
if (location.getWorld() != null && !location.getWorld().equals(this.getWorld())) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 16fa7bdb8cc4bcad01ed33455cf1e51b69e2f720..a8e63a417ab4971ce35569dbb0b792635e8366ae 100644
+index 4f5760d782bdfeee25839c50b614301eeb8ba42f..f6743f383408620a05afa64641a6d5e3519f8076 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1135,13 +1135,92 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1178,13 +1178,92 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void setRotation(float yaw, float pitch) {
@@ -166,7 +166,7 @@ index 16fa7bdb8cc4bcad01ed33455cf1e51b69e2f720..a8e63a417ab4971ce35569dbb0b79263
location.checkFinite();
ServerPlayer entity = this.getHandle();
-@@ -1154,7 +1233,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1197,7 +1276,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return false;
}
@@ -175,7 +175,7 @@ index 16fa7bdb8cc4bcad01ed33455cf1e51b69e2f720..a8e63a417ab4971ce35569dbb0b79263
return false;
}
-@@ -1172,7 +1251,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1215,7 +1294,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
// If this player is riding another entity, we must dismount before teleporting.
@@ -184,7 +184,7 @@ index 16fa7bdb8cc4bcad01ed33455cf1e51b69e2f720..a8e63a417ab4971ce35569dbb0b79263
// SPIGOT-5509: Wakeup, similar to riding
if (this.isSleeping()) {
-@@ -1194,7 +1273,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1237,7 +1316,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
// Check if the fromWorld and toWorld are the same.
if (fromWorld == toWorld) {
diff --git a/patches/server/0923-Custom-Chat-Completion-Suggestions-API.patch b/patches/server/0923-Custom-Chat-Completion-Suggestions-API.patch
index 3259824656..e553ad623c 100644
--- a/patches/server/0923-Custom-Chat-Completion-Suggestions-API.patch
+++ b/patches/server/0923-Custom-Chat-Completion-Suggestions-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Custom Chat Completion Suggestions API
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index a8e63a417ab4971ce35569dbb0b792635e8366ae..41258fcfa0505500665c2f185b9ef6d050213355 100644
+index f6743f383408620a05afa64641a6d5e3519f8076..feff87fba11ff46ce1ebd0f5fdf5132b85c8eddc 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -654,6 +654,22 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -659,6 +659,22 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.getHandle().getServer().getPlayerList().sendPlayerPermissionLevel(this.getHandle(), level, false);
}
diff --git a/patches/server/0937-Add-custom-destroyerIdentity-to-sendBlockDamage.patch b/patches/server/0937-Add-custom-destroyerIdentity-to-sendBlockDamage.patch
index d883e026d7..679840a612 100644
--- a/patches/server/0937-Add-custom-destroyerIdentity-to-sendBlockDamage.patch
+++ b/patches/server/0937-Add-custom-destroyerIdentity-to-sendBlockDamage.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add custom destroyerIdentity to sendBlockDamage
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 41258fcfa0505500665c2f185b9ef6d050213355..4ba927b4585ca56337fa763d60d21de3b58bb2f7 100644
+index feff87fba11ff46ce1ebd0f5fdf5132b85c8eddc..099987645142a5a065b5bd377a16d9d6c59dabd9 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -965,13 +965,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1008,13 +1008,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void sendBlockDamage(Location loc, float progress) {
diff --git a/work/Bukkit b/work/Bukkit
-Subproject acdb55f9a97c6b361947405717eb710b0200e16
+Subproject c7c11188610b4b0a59d090b06cabdc239337dcb
diff --git a/work/CraftBukkit b/work/CraftBukkit
-Subproject 08cdd26ca9c8fbae22ffa03f79ecc564f015e26
+Subproject c2c39089eb639479327acb2c9f58bdfb69bc6b8
diff --git a/work/Spigot b/work/Spigot
-Subproject 4c157bb49aa5705967b066e9c2dec5520f720b2
+Subproject 4aa5ead2377692b934a84b6853d188e2d9cbd53