aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorBjarne Koll <[email protected]>2024-10-24 19:29:35 +0200
committerBjarne Koll <[email protected]>2024-10-24 19:29:35 +0200
commit9047541397bdc7dd65114c01de6994870971b851 (patch)
tree51d16e46d45fec824c357f787206c065e5d4c746
parentfc0543071997267d28cf3c7c4c428d6762b78688 (diff)
downloadPaper-9047541397bdc7dd65114c01de6994870971b851.tar.gz
Paper-9047541397bdc7dd65114c01de6994870971b851.zip
Upstream update
-rw-r--r--README.md4
-rw-r--r--build.gradle.kts2
-rw-r--r--gradle.properties4
-rw-r--r--patches/api/0001-Convert-project-to-Gradle.patch4
-rw-r--r--patches/api/0006-Adventure.patch74
-rw-r--r--patches/api/0011-Timings-v2.patch4
-rw-r--r--patches/api/0013-Player-affects-spawning-API.patch4
-rw-r--r--patches/api/0017-Add-view-distance-API.patch4
-rw-r--r--patches/api/0020-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch4
-rw-r--r--patches/api/0024-Player-Tab-List-and-Title-APIs.patch4
-rw-r--r--patches/api/0026-Complete-resource-pack-API.patch4
-rw-r--r--patches/api/0045-Add-String-based-Action-Bar-API.patch6
-rw-r--r--patches/api/0053-Fix-upstream-javadocs.patch18
-rw-r--r--patches/api/0074-Expose-client-protocol-version-and-virtual-host.patch4
-rw-r--r--patches/api/0078-Ability-to-apply-mending-to-XP-API.patch6
-rw-r--r--patches/api/0089-Player.setPlayerProfile-API.patch4
-rw-r--r--patches/api/0092-Add-openSign-method-to-HumanEntity.patch4
-rw-r--r--patches/api/0093-Add-Ban-Methods-to-Player-Objects.patch4
-rw-r--r--patches/api/0141-Expose-attack-cooldown-methods-for-Player.patch4
-rw-r--r--patches/api/0166-Fix-Spigot-annotation-mistakes.patch4
-rw-r--r--patches/api/0183-Add-Player-Client-Options-API.patch4
-rw-r--r--patches/api/0198-Brand-support.patch4
-rw-r--r--patches/api/0208-Player-elytra-boost-API.patch4
-rw-r--r--patches/api/0235-Add-sendOpLevel-API.patch4
-rw-r--r--patches/api/0280-Add-PlayerKickEvent-causes.patch4
-rw-r--r--patches/api/0325-Multi-Block-Change-API.patch4
-rw-r--r--patches/api/0353-More-Teleport-API.patch4
-rw-r--r--patches/api/0355-Custom-Chat-Completion-Suggestions-API.patch4
-rw-r--r--patches/api/0364-Elder-Guardian-appearance-API.patch4
-rw-r--r--patches/api/0371-Add-Player-Warden-Warning-API.patch4
-rw-r--r--patches/api/0381-Add-Sneaking-API-for-Entities.patch6
-rw-r--r--patches/api/0383-Flying-Fall-Damage-API.patch4
-rw-r--r--patches/api/0385-Win-Screen-API.patch4
-rw-r--r--patches/api/0398-Fix-BanList-API.patch8
-rw-r--r--patches/api/0406-Add-Listing-API-for-Player.patch4
-rw-r--r--patches/api/0420-Add-player-idle-duration-API.patch4
-rw-r--r--patches/api/0428-Experimental-annotations-change.patch2
-rw-r--r--patches/api/0431-Add-experience-points-API.patch4
-rw-r--r--patches/api/0454-API-for-checking-sent-chunks.patch4
-rw-r--r--patches/api/0463-Added-API-to-get-player-ha-proxy-address.patch4
-rw-r--r--patches/api/0485-Add-FeatureFlag-API.patch4
-rw-r--r--patches/api/0490-Improve-entity-effect-API.patch4
-rw-r--r--patches/server/0001-Setup-Gradle-project.patch4
-rw-r--r--patches/server/0008-CB-fixes.patch2
-rw-r--r--patches/server/0009-MC-Utils.patch4
-rw-r--r--patches/server/0010-Adventure.patch36
-rw-r--r--patches/server/0019-Paper-Plugins.patch2
-rw-r--r--patches/server/0022-Remap-reflection-calls-in-plugins-using-internals.patch2
-rw-r--r--patches/server/0023-Timings-v2.patch18
-rw-r--r--patches/server/0033-Expose-server-build-information.patch2
-rw-r--r--patches/server/0034-Player-affects-spawning-API.patch4
-rw-r--r--patches/server/0035-Only-refresh-abilities-if-needed.patch4
-rw-r--r--patches/server/0048-Use-null-Locale-by-default.patch4
-rw-r--r--patches/server/0055-Improve-Player-chat-API-handling.patch10
-rw-r--r--patches/server/0059-Player-Tab-List-and-Title-APIs.patch4
-rw-r--r--patches/server/0066-Complete-resource-pack-API.patch6
-rw-r--r--patches/server/0074-handle-NaN-health-absorb-values-and-repair-bad-data.patch4
-rw-r--r--patches/server/0083-Add-PlayerUseUnknownEntityEvent.patch4
-rw-r--r--patches/server/0106-Configurable-packet-in-spam-threshold.patch4
-rw-r--r--patches/server/0107-Configurable-flying-kick-messages.patch6
-rw-r--r--patches/server/0119-String-based-Action-Bar-API.patch4
-rw-r--r--patches/server/0129-Add-option-to-make-parrots-stay-on-shoulders-despite.patch4
-rw-r--r--patches/server/0151-Add-PlayerJumpEvent.patch4
-rw-r--r--patches/server/0153-Expose-client-protocol-version-and-virtual-host.patch4
-rw-r--r--patches/server/0161-AsyncTabCompleteEvent.patch4
-rw-r--r--patches/server/0163-Ability-to-apply-mending-to-XP-API.patch4
-rw-r--r--patches/server/0176-Player.setPlayerProfile-API.patch14
-rw-r--r--patches/server/0181-Flag-to-disable-the-channel-limit.patch6
-rw-r--r--patches/server/0207-InventoryCloseEvent-Reason-API.patch8
-rw-r--r--patches/server/0221-Break-up-and-make-tab-spam-limits-configurable.patch8
-rw-r--r--patches/server/0240-Expose-attack-cooldown-methods-for-Player.patch4
-rw-r--r--patches/server/0241-Improve-death-events.patch4
-rw-r--r--patches/server/0257-Add-option-to-prevent-players-from-moving-into-unloa.patch10
-rw-r--r--patches/server/0264-Don-t-allow-digging-into-unloaded-chunks.patch4
-rw-r--r--patches/server/0268-Book-size-limits.patch4
-rw-r--r--patches/server/0270-Replace-OfflinePlayer-getLastPlayed.patch10
-rw-r--r--patches/server/0272-Dont-block-Player-remove-if-the-handle-is-a-custom-p.patch4
-rw-r--r--patches/server/0275-Brigadier-Mojang-API.patch4
-rw-r--r--patches/server/0276-Limit-Client-Sign-length-more.patch6
-rw-r--r--patches/server/0324-Add-Raw-Byte-ItemStack-Serialization.patch2
-rw-r--r--patches/server/0337-Implement-Player-Client-Options-API.patch4
-rw-r--r--patches/server/0346-Validate-PickItem-Packet-and-kick-for-invalid.patch4
-rw-r--r--patches/server/0349-Prevent-teleporting-dead-entities.patch4
-rw-r--r--patches/server/0364-Prevent-position-desync-causing-tp-exploit.patch4
-rw-r--r--patches/server/0366-Add-PlayerRecipeBookClickEvent.patch4
-rw-r--r--patches/server/0368-Add-permission-for-command-blocks.patch6
-rw-r--r--patches/server/0370-Fix-Per-World-Difficulty-Remembering-Difficulty.patch4
-rw-r--r--patches/server/0376-Do-not-accept-invalid-client-settings.patch4
-rw-r--r--patches/server/0389-Brand-support.patch4
-rw-r--r--patches/server/0393-Add-moon-phase-API.patch4
-rw-r--r--patches/server/0404-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch4
-rw-r--r--patches/server/0408-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch2
-rw-r--r--patches/server/0414-Fix-for-large-move-vectors-crashing-server.patch12
-rw-r--r--patches/server/0424-Fix-client-lag-on-advancement-loading.patch2
-rw-r--r--patches/server/0430-Fix-Player-spawnParticle-x-y-z-precision-loss.patch4
-rw-r--r--patches/server/0438-Limit-recipe-packets.patch8
-rw-r--r--patches/server/0452-Fix-interact-event-not-being-called-sometimes.patch6
-rw-r--r--patches/server/0466-Add-sendOpLevel-API.patch4
-rw-r--r--patches/server/0495-Allow-using-signs-inside-spawn-protection.patch4
-rw-r--r--patches/server/0496-Expand-world-key-API.patch6
-rw-r--r--patches/server/0500-Don-t-ignore-result-of-PlayerEditBookEvent.patch4
-rw-r--r--patches/server/0501-Expose-protocol-version.patch2
-rw-r--r--patches/server/0508-add-get-set-drop-chance-to-EntityEquipment.patch2
-rw-r--r--patches/server/0510-fix-PlayerItemHeldEvent-firing-twice.patch4
-rw-r--r--patches/server/0527-Expand-PlayerGameModeChangeEvent.patch8
-rw-r--r--patches/server/0528-ItemStack-repair-check-API.patch2
-rw-r--r--patches/server/0530-Move-range-check-for-block-placing-up.patch4
-rw-r--r--patches/server/0533-Add-Unix-domain-socket-support.patch4
-rw-r--r--patches/server/0535-Improve-item-default-attribute-API.patch2
-rw-r--r--patches/server/0539-Add-PlayerKickEvent-causes.patch54
-rw-r--r--patches/server/0548-Line-Of-Sight-Changes.patch4
-rw-r--r--patches/server/0557-Add-PlayerArmSwingEvent.patch4
-rw-r--r--patches/server/0558-Fix-kick-event-leave-message-not-being-sent.patch8
-rw-r--r--patches/server/0564-Prevent-AFK-kick-while-watching-end-credits.patch4
-rw-r--r--patches/server/0566-Add-PlayerSetSpawnEvent.patch4
-rw-r--r--patches/server/0580-Get-entity-default-attributes.patch2
-rw-r--r--patches/server/0589-Add-Raw-Byte-Entity-Serialization.patch2
-rw-r--r--patches/server/0593-Improve-and-expand-AsyncCatcher.patch4
-rw-r--r--patches/server/0607-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch4
-rw-r--r--patches/server/0649-Multi-Block-Change-API-Implementation.patch4
-rw-r--r--patches/server/0665-Custom-Potion-Mixes.patch2
-rw-r--r--patches/server/0672-Don-t-allow-vehicle-movement-from-players-while-tele.patch4
-rw-r--r--patches/server/0673-Implement-getComputedBiome-API.patch2
-rw-r--r--patches/server/0674-Make-some-itemstacks-nonnull.patch4
-rw-r--r--patches/server/0685-Prevent-tile-entity-copies-loading-chunks.patch4
-rw-r--r--patches/server/0716-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch4
-rw-r--r--patches/server/0717-More-Teleport-API.patch16
-rw-r--r--patches/server/0720-Send-block-entities-after-destroy-prediction.patch4
-rw-r--r--patches/server/0722-Custom-Chat-Completion-Suggestions-API.patch4
-rw-r--r--patches/server/0724-Collision-API.patch4
-rw-r--r--patches/server/0728-Add-NamespacedKey-biome-methods.patch2
-rw-r--r--patches/server/0741-Fix-a-bunch-of-vanilla-bugs.patch4
-rw-r--r--patches/server/0747-Elder-Guardian-appearance-API.patch4
-rw-r--r--patches/server/0759-Add-Player-Warden-Warning-API.patch4
-rw-r--r--patches/server/0763-Fix-async-entity-add-due-to-fungus-trees.patch2
-rw-r--r--patches/server/0771-fix-Instruments.patch4
-rw-r--r--patches/server/0775-Improve-logging-and-errors.patch4
-rw-r--r--patches/server/0778-Add-missing-SpigotConfig-logCommands-check.patch6
-rw-r--r--patches/server/0780-Flying-Fall-Damage.patch4
-rw-r--r--patches/server/0783-Use-single-player-info-update-packet-on-join.patch4
-rw-r--r--patches/server/0785-Win-Screen-API.patch4
-rw-r--r--patches/server/0800-Treat-sequence-violations-like-they-should-be.patch4
-rw-r--r--patches/server/0801-Prevent-causing-expired-keys-from-impacting-new-join.patch8
-rw-r--r--patches/server/0810-Expand-PlayerItemMendEvent.patch4
-rw-r--r--patches/server/0829-Fix-BanList-API.patch6
-rw-r--r--patches/server/0836-Implement-PlayerFailMoveEvent.patch12
-rw-r--r--patches/server/0846-Fix-custom-statistic-criteria-creation.patch2
-rw-r--r--patches/server/0847-Bandaid-fix-for-Effect.patch4
-rw-r--r--patches/server/0851-Don-t-tab-complete-namespaced-commands-if-send-names.patch4
-rw-r--r--patches/server/0855-Add-Listing-API-for-Player.patch8
-rw-r--r--patches/server/0861-Add-PlayerPickItemEvent.patch4
-rw-r--r--patches/server/0865-Implement-OfflinePlayer-isConnected.patch4
-rw-r--r--patches/server/0866-Fix-slot-desync.patch4
-rw-r--r--patches/server/0871-Add-slot-sanity-checks-in-container-clicks.patch4
-rw-r--r--patches/server/0884-Fix-UnsafeValues-loadAdvancement.patch2
-rw-r--r--patches/server/0885-Add-player-idle-duration-API.patch4
-rw-r--r--patches/server/0888-Allow-null-itemstack-for-Player-sendEquipmentChange.patch4
-rw-r--r--patches/server/0908-Add-experience-points-API.patch4
-rw-r--r--patches/server/0918-Add-api-for-spawn-egg-texture-colors.patch2
-rw-r--r--patches/server/0919-Add-Lifecycle-Event-system.patch2
-rw-r--r--patches/server/0920-ItemStack-Tooltip-API.patch2
-rw-r--r--patches/server/0922-Add-FluidState-API.patch2
-rw-r--r--patches/server/0928-Add-CartographyItemEvent.patch4
-rw-r--r--patches/server/0938-Improve-tag-parser-handling.patch6
-rw-r--r--patches/server/0953-Added-API-to-get-player-ha-proxy-address.patch6
-rw-r--r--patches/server/0957-Brigadier-based-command-API.patch4
-rw-r--r--patches/server/0958-Fix-issues-with-Recipe-API.patch4
-rw-r--r--patches/server/0959-Fix-equipment-slot-and-group-API.patch6
-rw-r--r--patches/server/0961-Prevent-sending-oversized-item-data-in-equipment-and.patch4
-rw-r--r--patches/server/0965-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch4
m---------work/BuildData0
m---------work/Bukkit0
m---------work/CraftBukkit0
m---------work/Spigot0
174 files changed, 464 insertions, 464 deletions
diff --git a/README.md b/README.md
index de9253cf0b..9085b3e36b 100644
--- a/README.md
+++ b/README.md
@@ -40,7 +40,7 @@ How To (Plugin Developers)
<dependency>
<groupId>io.papermc.paper</groupId>
<artifactId>paper-api</artifactId>
- <version>1.21.2-R0.1-SNAPSHOT</version>
+ <version>1.21.3-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
```
@@ -53,7 +53,7 @@ repositories {
}
dependencies {
- compileOnly("io.papermc.paper:paper-api:1.21.2-R0.1-SNAPSHOT")
+ compileOnly("io.papermc.paper:paper-api:1.21.3-R0.1-SNAPSHOT")
}
java {
diff --git a/build.gradle.kts b/build.gradle.kts
index 0182b94ed1..9f0522ccbd 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -67,7 +67,7 @@ repositories {
}
dependencies {
- paramMappings("net.fabricmc:yarn:1.21.2+build.1:mergedv2")
+ paramMappings("net.fabricmc:yarn:1.21.3+build.1:mergedv2")
remapper("net.fabricmc:tiny-remapper:0.10.3:fat")
decompiler("org.vineflower:vineflower:1.10.1")
spigotDecompiler("io.papermc:patched-spigot-fernflower:0.1+build.13")
diff --git a/gradle.properties b/gradle.properties
index c61582a178..37e2da14d9 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,6 +1,6 @@
group=io.papermc.paper
-version=1.21.2-R0.1-SNAPSHOT
-mcVersion=1.21.2
+version=1.21.3-R0.1-SNAPSHOT
+mcVersion=1.21.3
# Set to true while updating Minecraft version
updatingMinecraft=true
diff --git a/patches/api/0001-Convert-project-to-Gradle.patch b/patches/api/0001-Convert-project-to-Gradle.patch
index 42bb94fe5a..6cec7f2fe3 100644
--- a/patches/api/0001-Convert-project-to-Gradle.patch
+++ b/patches/api/0001-Convert-project-to-Gradle.patch
@@ -124,7 +124,7 @@ index 0000000000000000000000000000000000000000..7ac6af074d76b782ef14fe4690bb5b63
+}
diff --git a/pom.xml b/pom.xml
deleted file mode 100644
-index 9a148bbfa61552dcaa8c0170022fcc463dbcd87b..0000000000000000000000000000000000000000
+index bdde86ea96da233c802e98dc203cb4cb7f8616b0..0000000000000000000000000000000000000000
--- a/pom.xml
+++ /dev/null
@@ -1,267 +0,0 @@
@@ -135,7 +135,7 @@ index 9a148bbfa61552dcaa8c0170022fcc463dbcd87b..00000000000000000000000000000000
-
- <groupId>org.spigotmc</groupId>
- <artifactId>spigot-api</artifactId>
-- <version>1.21.2-R0.1-SNAPSHOT</version>
+- <version>1.21.3-R0.1-SNAPSHOT</version>
- <packaging>jar</packaging>
-
- <name>Spigot-API</name>
diff --git a/patches/api/0006-Adventure.patch b/patches/api/0006-Adventure.patch
index f96052e881..da57b44ba1 100644
--- a/patches/api/0006-Adventure.patch
+++ b/patches/api/0006-Adventure.patch
@@ -2320,10 +2320,10 @@ index 558fe6e23f562ee873fc84112f930c6ea19a09f4..c78fb359bd28b8dc1ba242642ec612e8
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 6ab82664092c6cedb2ef31b24445ba481fc785d8..0f562dcca9bb0ffc3a3fcb1c2221306ec156c71b 100644
+index 13bd964951a12a63f4ad243b8a1e1a830ce5abeb..84befa1e5123038b80e0734622a5174634f5a982 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -57,7 +57,41 @@ import org.jetbrains.annotations.Nullable;
+@@ -58,7 +58,41 @@ import org.jetbrains.annotations.Nullable;
/**
* Represents a player, connected or not
*/
@@ -2366,7 +2366,7 @@ index 6ab82664092c6cedb2ef31b24445ba481fc785d8..0f562dcca9bb0ffc3a3fcb1c2221306e
/**
* {@inheritDoc}
-@@ -74,7 +108,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -75,7 +109,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* places defined by plugins.
*
* @return the friendly name
@@ -2376,7 +2376,7 @@ index 6ab82664092c6cedb2ef31b24445ba481fc785d8..0f562dcca9bb0ffc3a3fcb1c2221306e
@NotNull
public String getDisplayName();
-@@ -86,15 +122,50 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -87,15 +123,50 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* places defined by plugins.
*
* @param name The new display name.
@@ -2427,7 +2427,7 @@ index 6ab82664092c6cedb2ef31b24445ba481fc785d8..0f562dcca9bb0ffc3a3fcb1c2221306e
public String getPlayerListName();
/**
-@@ -103,7 +174,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -104,7 +175,9 @@ 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
@@ -2437,7 +2437,7 @@ index 6ab82664092c6cedb2ef31b24445ba481fc785d8..0f562dcca9bb0ffc3a3fcb1c2221306e
public void setPlayerListName(@Nullable String name);
/**
-@@ -125,7 +198,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -126,7 +199,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* Gets the currently displayed player list header for this player.
*
* @return player list header or null
@@ -2447,7 +2447,7 @@ index 6ab82664092c6cedb2ef31b24445ba481fc785d8..0f562dcca9bb0ffc3a3fcb1c2221306e
@Nullable
public String getPlayerListHeader();
-@@ -133,7 +208,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -134,7 +209,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
@@ -2457,7 +2457,7 @@ index 6ab82664092c6cedb2ef31b24445ba481fc785d8..0f562dcca9bb0ffc3a3fcb1c2221306e
@Nullable
public String getPlayerListFooter();
-@@ -141,14 +218,18 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -142,14 +219,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
@@ -2476,7 +2476,7 @@ index 6ab82664092c6cedb2ef31b24445ba481fc785d8..0f562dcca9bb0ffc3a3fcb1c2221306e
public void setPlayerListFooter(@Nullable String footer);
/**
-@@ -157,7 +238,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -158,7 +239,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
@@ -2486,7 +2486,7 @@ index 6ab82664092c6cedb2ef31b24445ba481fc785d8..0f562dcca9bb0ffc3a3fcb1c2221306e
public void setPlayerListHeaderFooter(@Nullable String header, @Nullable String footer);
/**
-@@ -234,9 +317,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -235,9 +318,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* Kicks player with custom kick message.
*
* @param message kick message
@@ -2512,7 +2512,7 @@ index 6ab82664092c6cedb2ef31b24445ba481fc785d8..0f562dcca9bb0ffc3a3fcb1c2221306e
/**
* Adds this user to the {@link ProfileBanList}. If a previous ban exists, this will
* update the entry.
-@@ -899,6 +998,106 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -924,6 +1023,106 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public void sendEquipmentChange(@NotNull LivingEntity entity, @NotNull Map<EquipmentSlot, ItemStack> items);
@@ -2619,7 +2619,7 @@ index 6ab82664092c6cedb2ef31b24445ba481fc785d8..0f562dcca9bb0ffc3a3fcb1c2221306e
/**
* 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.
-@@ -916,7 +1115,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -941,7 +1140,11 @@ 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
@@ -2631,7 +2631,7 @@ index 6ab82664092c6cedb2ef31b24445ba481fc785d8..0f562dcca9bb0ffc3a3fcb1c2221306e
public void sendSignChange(@NotNull Location loc, @Nullable String[] lines) throws IllegalArgumentException;
/**
-@@ -938,7 +1141,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -963,7 +1166,11 @@ 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
@@ -2643,7 +2643,7 @@ index 6ab82664092c6cedb2ef31b24445ba481fc785d8..0f562dcca9bb0ffc3a3fcb1c2221306e
public void sendSignChange(@NotNull Location loc, @Nullable String[] lines, @NotNull DyeColor dyeColor) throws IllegalArgumentException;
/**
-@@ -961,7 +1168,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -986,7 +1193,11 @@ 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
@@ -2655,7 +2655,7 @@ index 6ab82664092c6cedb2ef31b24445ba481fc785d8..0f562dcca9bb0ffc3a3fcb1c2221306e
public void sendSignChange(@NotNull Location loc, @Nullable String[] lines, @NotNull DyeColor dyeColor, boolean hasGlowingText) throws IllegalArgumentException;
/**
-@@ -1436,7 +1647,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1461,7 +1672,7 @@ 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.
* @deprecated Minecraft no longer uses textures packs. Instead you
@@ -2664,7 +2664,7 @@ index 6ab82664092c6cedb2ef31b24445ba481fc785d8..0f562dcca9bb0ffc3a3fcb1c2221306e
*/
@Deprecated
public void setTexturePack(@NotNull String url);
-@@ -1472,7 +1683,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1497,7 +1708,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.
@@ -2674,7 +2674,7 @@ index 6ab82664092c6cedb2ef31b24445ba481fc785d8..0f562dcca9bb0ffc3a3fcb1c2221306e
public void setResourcePack(@NotNull String url);
/**
-@@ -1504,6 +1717,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1529,6 +1742,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* pack correctly.
* </ul>
*
@@ -2682,7 +2682,7 @@ index 6ab82664092c6cedb2ef31b24445ba481fc785d8..0f562dcca9bb0ffc3a3fcb1c2221306e
* @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.
-@@ -1516,6 +1730,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1541,6 +1755,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @throws IllegalArgumentException Thrown if the hash is not 20 bytes
* long.
*/
@@ -2690,7 +2690,7 @@ index 6ab82664092c6cedb2ef31b24445ba481fc785d8..0f562dcca9bb0ffc3a3fcb1c2221306e
public void setResourcePack(@NotNull String url, @Nullable byte[] hash);
/**
-@@ -1540,12 +1755,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1565,12 +1780,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* {@link PlayerResourcePackStatusEvent} to figure out whether or not
* the player loaded the pack!
* <li>To remove a resource pack you can use
@@ -2705,7 +2705,7 @@ index 6ab82664092c6cedb2ef31b24445ba481fc785d8..0f562dcca9bb0ffc3a3fcb1c2221306e
* @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.
-@@ -1559,8 +1775,10 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1584,8 +1800,10 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @throws IllegalArgumentException Thrown if the hash is not 20 bytes
* long.
*/
@@ -2716,7 +2716,7 @@ index 6ab82664092c6cedb2ef31b24445ba481fc785d8..0f562dcca9bb0ffc3a3fcb1c2221306e
/**
* Request that the player's client download and switch resource packs.
* <p>
-@@ -1583,7 +1801,54 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1608,7 +1826,54 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* {@link PlayerResourcePackStatusEvent} to figure out whether or not
* the player loaded the pack!
* <li>To remove a resource pack you can use
@@ -2772,7 +2772,7 @@ index 6ab82664092c6cedb2ef31b24445ba481fc785d8..0f562dcca9bb0ffc3a3fcb1c2221306e
* <li>The request is sent with empty string as the hash when the hash is
* not provided. This might result in newer versions not loading the
* pack correctly.
-@@ -1602,7 +1867,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1627,7 +1892,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* length restriction is an implementation specific arbitrary value.
* @throws IllegalArgumentException Thrown if the hash is not 20 bytes
* long.
@@ -2782,7 +2782,7 @@ index 6ab82664092c6cedb2ef31b24445ba481fc785d8..0f562dcca9bb0ffc3a3fcb1c2221306e
public void setResourcePack(@NotNull String url, @Nullable byte[] hash, boolean force);
/**
-@@ -1627,7 +1894,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1652,7 +1919,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* {@link PlayerResourcePackStatusEvent} to figure out whether or not
* the player loaded the pack!
* <li>To remove a resource pack you can use
@@ -2791,7 +2791,7 @@ index 6ab82664092c6cedb2ef31b24445ba481fc785d8..0f562dcca9bb0ffc3a3fcb1c2221306e
* <li>The request is sent with empty string as the hash when the hash is
* not provided. This might result in newer versions not loading the
* pack correctly.
-@@ -1647,9 +1914,61 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1672,9 +1939,61 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* length restriction is an implementation specific arbitrary value.
* @throws IllegalArgumentException Thrown if the hash is not 20 bytes
* long.
@@ -2853,7 +2853,7 @@ index 6ab82664092c6cedb2ef31b24445ba481fc785d8..0f562dcca9bb0ffc3a3fcb1c2221306e
/**
* Request that the player's client download and switch resource packs.
* <p>
-@@ -1672,7 +1991,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1697,7 +2016,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* {@link PlayerResourcePackStatusEvent} to figure out whether or not
* the player loaded the pack!
* <li>To remove a resource pack you can use
@@ -2862,7 +2862,7 @@ index 6ab82664092c6cedb2ef31b24445ba481fc785d8..0f562dcca9bb0ffc3a3fcb1c2221306e
* <li>The request is sent with empty string as the hash when the hash is
* not provided. This might result in newer versions not loading the
* pack correctly.
-@@ -1693,9 +2012,60 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1718,9 +2037,60 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* length restriction is an implementation specific arbitrary value.
* @throws IllegalArgumentException Thrown if the hash is not 20 bytes
* long.
@@ -2923,7 +2923,7 @@ index 6ab82664092c6cedb2ef31b24445ba481fc785d8..0f562dcca9bb0ffc3a3fcb1c2221306e
/**
* Request that the player's client download and include another resource pack.
* <p>
-@@ -1748,12 +2118,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1773,12 +2143,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*
* @param id the id of the resource pack.
* @throws IllegalArgumentException If the ID is null.
@@ -2938,7 +2938,7 @@ index 6ab82664092c6cedb2ef31b24445ba481fc785d8..0f562dcca9bb0ffc3a3fcb1c2221306e
*/
public void removeResourcePacks();
-@@ -1891,7 +2263,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1916,7 +2288,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*
* @param title Title text
* @param subtitle Subtitle text
@@ -2947,7 +2947,7 @@ index 6ab82664092c6cedb2ef31b24445ba481fc785d8..0f562dcca9bb0ffc3a3fcb1c2221306e
*/
@Deprecated
public void sendTitle(@Nullable String title, @Nullable String subtitle);
-@@ -1910,7 +2282,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1935,7 +2307,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.
@@ -2957,7 +2957,7 @@ index 6ab82664092c6cedb2ef31b24445ba481fc785d8..0f562dcca9bb0ffc3a3fcb1c2221306e
public void sendTitle(@Nullable String title, @Nullable String subtitle, int fadeIn, int stay, int fadeOut);
/**
-@@ -2185,6 +2559,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2210,6 +2584,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public int getClientViewDistance();
@@ -2972,7 +2972,7 @@ index 6ab82664092c6cedb2ef31b24445ba481fc785d8..0f562dcca9bb0ffc3a3fcb1c2221306e
/**
* Gets the player's estimated ping in milliseconds.
*
-@@ -2210,8 +2592,10 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2235,8 +2617,10 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* they wish.
*
* @return the player's locale
@@ -2983,7 +2983,7 @@ index 6ab82664092c6cedb2ef31b24445ba481fc785d8..0f562dcca9bb0ffc3a3fcb1c2221306e
public String getLocale();
/**
-@@ -2263,6 +2647,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2288,6 +2672,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public boolean isAllowingServerListings();
@@ -2998,7 +2998,7 @@ index 6ab82664092c6cedb2ef31b24445ba481fc785d8..0f562dcca9bb0ffc3a3fcb1c2221306e
// Spigot start
public class Spigot extends Entity.Spigot {
-@@ -2294,11 +2686,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2319,11 +2711,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
throw new UnsupportedOperationException("Not supported yet.");
}
@@ -3012,7 +3012,7 @@ index 6ab82664092c6cedb2ef31b24445ba481fc785d8..0f562dcca9bb0ffc3a3fcb1c2221306e
@Override
public void sendMessage(@NotNull net.md_5.bungee.api.chat.BaseComponent... components) {
throw new UnsupportedOperationException("Not supported yet.");
-@@ -2309,7 +2703,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2334,7 +2728,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*
* @param position the screen position
* @param component the components to send
@@ -3022,7 +3022,7 @@ index 6ab82664092c6cedb2ef31b24445ba481fc785d8..0f562dcca9bb0ffc3a3fcb1c2221306e
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.");
}
-@@ -2319,7 +2715,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2344,7 +2740,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*
* @param position the screen position
* @param components the components to send
@@ -3032,7 +3032,7 @@ index 6ab82664092c6cedb2ef31b24445ba481fc785d8..0f562dcca9bb0ffc3a3fcb1c2221306e
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.");
}
-@@ -2330,7 +2728,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2355,7 +2753,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
@@ -3042,7 +3042,7 @@ index 6ab82664092c6cedb2ef31b24445ba481fc785d8..0f562dcca9bb0ffc3a3fcb1c2221306e
public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @Nullable java.util.UUID sender, @NotNull net.md_5.bungee.api.chat.BaseComponent component) {
throw new UnsupportedOperationException("Not supported yet.");
}
-@@ -2341,7 +2741,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2366,7 +2766,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
diff --git a/patches/api/0011-Timings-v2.patch b/patches/api/0011-Timings-v2.patch
index 3e430feef4..36aae54822 100644
--- a/patches/api/0011-Timings-v2.patch
+++ b/patches/api/0011-Timings-v2.patch
@@ -3484,10 +3484,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 0f562dcca9bb0ffc3a3fcb1c2221306ec156c71b..9e072342eb5af366a4f860db71e15a63b29038aa 100644
+index 84befa1e5123038b80e0734622a5174634f5a982..22de066aef71ad2cf135d5b6f5d6f224de5fcd2d 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -2746,7 +2746,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2771,7 +2771,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@Deprecated // Paper
public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @Nullable java.util.UUID sender, @NotNull net.md_5.bungee.api.chat.BaseComponent... components) {
throw new UnsupportedOperationException("Not supported yet.");
diff --git a/patches/api/0013-Player-affects-spawning-API.patch b/patches/api/0013-Player-affects-spawning-API.patch
index cf908129f8..ebafa9cc70 100644
--- a/patches/api/0013-Player-affects-spawning-API.patch
+++ b/patches/api/0013-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 9e072342eb5af366a4f860db71e15a63b29038aa..fbcf2a18456b6e700003019965354ce7cbe2fd0d 100644
+index 22de066aef71ad2cf135d5b6f5d6f224de5fcd2d..1c25725a2abb36a81b1821102daee447c7170197 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -2598,6 +2598,22 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2623,6 +2623,22 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@Deprecated // Paper
public String getLocale();
diff --git a/patches/api/0017-Add-view-distance-API.patch b/patches/api/0017-Add-view-distance-API.patch
index 493c2f6793..abf7dbde0a 100644
--- a/patches/api/0017-Add-view-distance-API.patch
+++ b/patches/api/0017-Add-view-distance-API.patch
@@ -79,10 +79,10 @@ index 9732929b666b0a5e1a2a41c8e8794cc4f2535e41..0a3a66e04f8785874f10a76603bff464
* Gets all generated structures that intersect the chunk at the given
* coordinates. <br>
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index fbcf2a18456b6e700003019965354ce7cbe2fd0d..18075f35f62b94c24673211be1d287f57f88c0dc 100644
+index 1c25725a2abb36a81b1821102daee447c7170197..28e821ca1ec8ec3eba160ef2ed06ab1bb7387cae 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -2612,6 +2612,82 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2637,6 +2637,82 @@ 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/0020-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch b/patches/api/0020-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch
index 2e693b71af..ab7a581845 100644
--- a/patches/api/0020-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch
+++ b/patches/api/0020-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch
@@ -76,10 +76,10 @@ index d78481bf17818415524f14417caf86d5684b2235..067eb3a5f5676f3b1b3f49a65df9c405
* 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 18075f35f62b94c24673211be1d287f57f88c0dc..9674e920bda2d1c6428081ae7f18cade58b7900d 100644
+index 28e821ca1ec8ec3eba160ef2ed06ab1bb7387cae..fefd6b8a4171c9ec3d2a09d1accb9f37d66aa5b9 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1229,6 +1229,42 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1254,6 +1254,42 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public void sendMap(@NotNull MapView map);
diff --git a/patches/api/0024-Player-Tab-List-and-Title-APIs.patch b/patches/api/0024-Player-Tab-List-and-Title-APIs.patch
index 197c04e321..888137a8b5 100644
--- a/patches/api/0024-Player-Tab-List-and-Title-APIs.patch
+++ b/patches/api/0024-Player-Tab-List-and-Title-APIs.patch
@@ -432,10 +432,10 @@ index 0000000000000000000000000000000000000000..20a028450667edf102b59b6b50ac6e89
+ }
+}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 9674e920bda2d1c6428081ae7f18cade58b7900d..ae5ea0513a0688e229a0c49dadf344bfd6704288 100644
+index fefd6b8a4171c9ec3d2a09d1accb9f37d66aa5b9..2685a6fcda7afa23d3f5067af1d5d2fc89bdb0e6 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1263,6 +1263,131 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1288,6 +1288,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/0026-Complete-resource-pack-API.patch b/patches/api/0026-Complete-resource-pack-API.patch
index 339876b640..ab4274c827 100644
--- a/patches/api/0026-Complete-resource-pack-API.patch
+++ b/patches/api/0026-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 ae5ea0513a0688e229a0c49dadf344bfd6704288..a00afb924b6938e6abb0e1445da0b46415ff0f88 100644
+index 2685a6fcda7afa23d3f5067af1d5d2fc89bdb0e6..47a0d09b433024cd464737eced8a31f995b1ffaf 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -2227,6 +2227,180 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2252,6 +2252,180 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
void setResourcePack(@NotNull UUID uuid, @NotNull String url, byte @Nullable [] hash, net.kyori.adventure.text.@Nullable Component prompt, boolean force);
// Paper end
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 d57aae4afe..c2b98dd46f 100644
--- a/patches/api/0045-Add-String-based-Action-Bar-API.patch
+++ b/patches/api/0045-Add-String-based-Action-Bar-API.patch
@@ -5,10 +5,10 @@ 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 a00afb924b6938e6abb0e1445da0b46415ff0f88..67e2d3e70c13754371591daf5bb11304aeb9fa87 100644
+index 47a0d09b433024cd464737eced8a31f995b1ffaf..9513ce004101bd1bef90ca4a558f6b7c28d97adb 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1230,6 +1230,39 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1255,6 +1255,39 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
public void sendMap(@NotNull MapView map);
// Paper start
@@ -48,7 +48,7 @@ index a00afb924b6938e6abb0e1445da0b46415ff0f88..67e2d3e70c13754371591daf5bb11304
/**
* Sends the component to the player
*
-@@ -1257,9 +1290,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1282,9 +1315,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
*
diff --git a/patches/api/0053-Fix-upstream-javadocs.patch b/patches/api/0053-Fix-upstream-javadocs.patch
index 9f7110425a..151552e5d6 100644
--- a/patches/api/0053-Fix-upstream-javadocs.patch
+++ b/patches/api/0053-Fix-upstream-javadocs.patch
@@ -500,10 +500,10 @@ index ae9eaaa8e38e1d9dfc459926c7fc51ddb89de84a..b2ec535bb1b0ce0c114ddd7638b90218
@Override
public int getConversionTime();
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 67e2d3e70c13754371591daf5bb11304aeb9fa87..68f36afc6124f07d0e4bd75569252f3ebbb319a0 100644
+index 9513ce004101bd1bef90ca4a558f6b7c28d97adb..c8ba70f787a3460c1f9faaeaab086e9e43ecaf6f 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -491,15 +491,15 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -492,15 +492,15 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
/**
* Saves the players current location, health, inventory, motion, and
@@ -523,7 +523,7 @@ index 67e2d3e70c13754371591daf5bb11304aeb9fa87..68f36afc6124f07d0e4bd75569252f3e
* <p>
* Note: This will overwrite the players current inventory, health,
* motion, etc, with the state from the saved dat file.
-@@ -836,7 +836,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -861,7 +861,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
/**
* Plays an effect to just this player.
*
@@ -532,7 +532,7 @@ index 67e2d3e70c13754371591daf5bb11304aeb9fa87..68f36afc6124f07d0e4bd75569252f3e
* @param loc the location to play the effect at
* @param effect the {@link Effect}
* @param data a data bit needed for some effects
-@@ -1247,7 +1247,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1272,7 +1272,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*
* Use supplied alternative character to the section symbol to represent legacy color codes.
*
@@ -541,7 +541,7 @@ index 67e2d3e70c13754371591daf5bb11304aeb9fa87..68f36afc6124f07d0e4bd75569252f3e
* @param message The message to send
* @deprecated use {@link #sendActionBar(net.kyori.adventure.text.Component)}
*/
-@@ -1720,7 +1720,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1745,7 +1745,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
/**
* Allows this player to see a player that was previously hidden. If
@@ -550,7 +550,7 @@ index 67e2d3e70c13754371591daf5bb11304aeb9fa87..68f36afc6124f07d0e4bd75569252f3e
* remain hidden until the other plugin calls this method too.
*
* @param plugin Plugin that wants to show the player
-@@ -1747,7 +1747,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1772,7 +1772,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
/**
* Allows this player to see an entity that was previously hidden. If
@@ -559,7 +559,7 @@ index 67e2d3e70c13754371591daf5bb11304aeb9fa87..68f36afc6124f07d0e4bd75569252f3e
* remain hidden until the other plugin calls this method too.
*
* @param plugin Plugin that wants to show the entity
-@@ -1830,9 +1830,6 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1855,9 +1855,6 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* case this method will have no affect on them. Use the
* {@link PlayerResourcePackStatusEvent} to figure out whether or not
* the player loaded the pack!
@@ -569,7 +569,7 @@ index 67e2d3e70c13754371591daf5bb11304aeb9fa87..68f36afc6124f07d0e4bd75569252f3e
* <li>The request is send with "null" as the hash. This might result
* in newer versions not loading the pack correctly.
* </ul>
-@@ -1866,9 +1863,6 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1891,9 +1888,6 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* case this method will have no affect on them. Use the
* {@link PlayerResourcePackStatusEvent} to figure out whether or not
* the player loaded the pack!
@@ -579,7 +579,7 @@ index 67e2d3e70c13754371591daf5bb11304aeb9fa87..68f36afc6124f07d0e4bd75569252f3e
* <li>The request is send with empty string as the hash. This might result
* in newer versions not loading the pack correctly.
* </ul>
-@@ -1905,9 +1899,6 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1930,9 +1924,6 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* case this method will have no affect on them. Use the
* {@link PlayerResourcePackStatusEvent} to figure out whether or not
* the player loaded the pack!
diff --git a/patches/api/0074-Expose-client-protocol-version-and-virtual-host.patch b/patches/api/0074-Expose-client-protocol-version-and-virtual-host.patch
index 5f15d77dd2..383d46bfff 100644
--- a/patches/api/0074-Expose-client-protocol-version-and-virtual-host.patch
+++ b/patches/api/0074-Expose-client-protocol-version-and-virtual-host.patch
@@ -55,10 +55,10 @@ index 0000000000000000000000000000000000000000..c84ce3fc874eea3d8f0b1cf5273996d9
+
+}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 68f36afc6124f07d0e4bd75569252f3ebbb319a0..a605425b79131f885051d91bb57a30a695e0ce46 100644
+index c8ba70f787a3460c1f9faaeaab086e9e43ecaf6f..1a6ddc4228ed4c26235cfe56b1e0a102c7aa320f 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -57,7 +57,7 @@ import org.jetbrains.annotations.Nullable;
+@@ -58,7 +58,7 @@ import org.jetbrains.annotations.Nullable;
/**
* Represents a player, connected or not
*/
diff --git a/patches/api/0078-Ability-to-apply-mending-to-XP-API.patch b/patches/api/0078-Ability-to-apply-mending-to-XP-API.patch
index 7d05cddb65..b4e68511a4 100644
--- a/patches/api/0078-Ability-to-apply-mending-to-XP-API.patch
+++ b/patches/api/0078-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 a605425b79131f885051d91bb57a30a695e0ce46..f93ede618b3098faf3ba6e63bfbcea6e36ff3146 100644
+index 1a6ddc4228ed4c26235cfe56b1e0a102c7aa320f..0d92eac00ba883d696d45340feb808988be05c16 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1563,6 +1563,15 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1588,6 +1588,15 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public void resetPlayerWeather();
@@ -29,7 +29,7 @@ index a605425b79131f885051d91bb57a30a695e0ce46..f93ede618b3098faf3ba6e63bfbcea6e
/**
* Gets the player's cooldown between picking up experience orbs.
*
-@@ -1588,8 +1597,20 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1613,8 +1622,20 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* Gives the player the amount of experience specified.
*
* @param amount Exp amount to give
diff --git a/patches/api/0089-Player.setPlayerProfile-API.patch b/patches/api/0089-Player.setPlayerProfile-API.patch
index 1af7898bdc..fb9225d8d5 100644
--- a/patches/api/0089-Player.setPlayerProfile-API.patch
+++ b/patches/api/0089-Player.setPlayerProfile-API.patch
@@ -93,10 +93,10 @@ index 7a1b80e8d02f23c5d246c3032e5ced909f10bd41..01c052d90bbdad3fc374eb9c8e0a5133
/**
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index f93ede618b3098faf3ba6e63bfbcea6e36ff3146..9f16ea635a27563a8568d10365f1b284cc93b15a 100644
+index 0d92eac00ba883d696d45340feb808988be05c16..357e12c91a710751dc5bf3138362c10e5a26db1e 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -3129,6 +3129,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -3154,6 +3154,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
}
// Paper end
diff --git a/patches/api/0092-Add-openSign-method-to-HumanEntity.patch b/patches/api/0092-Add-openSign-method-to-HumanEntity.patch
index bef8b5e42d..90ee598a25 100644
--- a/patches/api/0092-Add-openSign-method-to-HumanEntity.patch
+++ b/patches/api/0092-Add-openSign-method-to-HumanEntity.patch
@@ -36,10 +36,10 @@ index 08cef0d9fc27d0c09472cfe7091330d95956d9eb..00b803cee96fef8830e5db8722c98ff1
/**
* 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 9f16ea635a27563a8568d10365f1b284cc93b15a..e1516a8e88aab4bb43a77b773d6682070e8a9b8a 100644
+index 357e12c91a710751dc5bf3138362c10e5a26db1e..ecc0bbf986b065620910f3592115c0f45e863b98 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -3090,10 +3090,12 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -3115,10 +3115,12 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
/**
* Open a Sign for editing by the Player.
*
diff --git a/patches/api/0093-Add-Ban-Methods-to-Player-Objects.patch b/patches/api/0093-Add-Ban-Methods-to-Player-Objects.patch
index b30b80d2f0..62e9847bb6 100644
--- a/patches/api/0093-Add-Ban-Methods-to-Player-Objects.patch
+++ b/patches/api/0093-Add-Ban-Methods-to-Player-Objects.patch
@@ -86,10 +86,10 @@ index abbf3d6f11350ab2dd47a277771d9f46221036bd..a9d63b1630b05b86a0396355fcfee261
/**
* Adds this user to the {@link ProfileBanList}. If a previous ban exists, this will
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index e1516a8e88aab4bb43a77b773d6682070e8a9b8a..4ef6591ce8d85abd15ccefba57ce66091f385e1a 100644
+index ecc0bbf986b065620910f3592115c0f45e863b98..354beb974012fa83fdac0c9d28166016ace93070 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1230,6 +1230,186 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1255,6 +1255,186 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
public void sendMap(@NotNull MapView map);
// Paper start
diff --git a/patches/api/0141-Expose-attack-cooldown-methods-for-Player.patch b/patches/api/0141-Expose-attack-cooldown-methods-for-Player.patch
index baf7c6305e..d8e3d59112 100644
--- a/patches/api/0141-Expose-attack-cooldown-methods-for-Player.patch
+++ b/patches/api/0141-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 4ef6591ce8d85abd15ccefba57ce66091f385e1a..4ee5dd69ba1ab743662f1069eabdb7622f53bc9d 100644
+index 354beb974012fa83fdac0c9d28166016ace93070..76ffe308ae2e3bc36c0e7e1a98adc4b307f4211f 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -3331,6 +3331,28 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -3356,6 +3356,28 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
void setPlayerProfile(com.destroystokyo.paper.profile.@NotNull PlayerProfile profile);
// Paper end - Player Profile API
diff --git a/patches/api/0166-Fix-Spigot-annotation-mistakes.patch b/patches/api/0166-Fix-Spigot-annotation-mistakes.patch
index 9ec07a782b..69952b7034 100644
--- a/patches/api/0166-Fix-Spigot-annotation-mistakes.patch
+++ b/patches/api/0166-Fix-Spigot-annotation-mistakes.patch
@@ -970,10 +970,10 @@ index 60522888bc320ba0a55655532e19185fac816bd1..4aa07d4edb2c81d0ae7999b30ad53ff8
/**
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 4ee5dd69ba1ab743662f1069eabdb7622f53bc9d..2435b7d14b52bbd47c4ddb7bdd6849acf42bffef 100644
+index 76ffe308ae2e3bc36c0e7e1a98adc4b307f4211f..80e894e3d625cde14bfe881d2c367b43a4882cfd 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1655,11 +1655,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1680,11 +1680,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
/**
* Forces an update of the player's entire inventory.
diff --git a/patches/api/0183-Add-Player-Client-Options-API.patch b/patches/api/0183-Add-Player-Client-Options-API.patch
index 5e7bc03bd3..44f597e144 100644
--- a/patches/api/0183-Add-Player-Client-Options-API.patch
+++ b/patches/api/0183-Add-Player-Client-Options-API.patch
@@ -224,10 +224,10 @@ index 0000000000000000000000000000000000000000..6cf6aa876278d0d3e75148608951fc58
+ }
+}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 2435b7d14b52bbd47c4ddb7bdd6849acf42bffef..f4b1ed868a1fc8aa22fd07c3bf3aef886b8c8679 100644
+index 80e894e3d625cde14bfe881d2c367b43a4882cfd..2d3c8febbbab959433101fb9dfc1e0ff9deca192 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -3350,6 +3350,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -3375,6 +3375,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
void resetCooldown();
// Paper end - attack cooldown API
diff --git a/patches/api/0198-Brand-support.patch b/patches/api/0198-Brand-support.patch
index 9c23fa64a0..42971e5ae7 100644
--- a/patches/api/0198-Brand-support.patch
+++ b/patches/api/0198-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 f4b1ed868a1fc8aa22fd07c3bf3aef886b8c8679..38c61979c20768ad7790c2c7d6463c9d10fb3611 100644
+index 2d3c8febbbab959433101fb9dfc1e0ff9deca192..54d33be1297a6a4646635ca09cae1f0a2d3fb7fa 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -3463,6 +3463,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -3488,6 +3488,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
// Paper end
}
diff --git a/patches/api/0208-Player-elytra-boost-API.patch b/patches/api/0208-Player-elytra-boost-API.patch
index 9dcab2869b..c5f8ae83d7 100644
--- a/patches/api/0208-Player-elytra-boost-API.patch
+++ b/patches/api/0208-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 38c61979c20768ad7790c2c7d6463c9d10fb3611..756240eef598bdf44507ab003cf1141ac0122292 100644
+index 54d33be1297a6a4646635ca09cae1f0a2d3fb7fa..d2b74718998761a3f1a1a07547eb49661d5431df 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -3357,6 +3357,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -3382,6 +3382,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
<T> @NotNull T getClientOption(com.destroystokyo.paper.@NotNull ClientOption<T> option);
// Paper end - client option API
diff --git a/patches/api/0235-Add-sendOpLevel-API.patch b/patches/api/0235-Add-sendOpLevel-API.patch
index f6506212bc..c64ed185a2 100644
--- a/patches/api/0235-Add-sendOpLevel-API.patch
+++ b/patches/api/0235-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 756240eef598bdf44507ab003cf1141ac0122292..7e2f2904cc6da994aaf8764399a836c5586cbd70 100644
+index d2b74718998761a3f1a1a07547eb49661d5431df..a03ac5f230521cde2278222de8157f78a152f6a6 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -3376,6 +3376,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -3401,6 +3401,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
}
// Paper end - elytra boost API
diff --git a/patches/api/0280-Add-PlayerKickEvent-causes.patch b/patches/api/0280-Add-PlayerKickEvent-causes.patch
index 69ccfc7735..5520442f07 100644
--- a/patches/api/0280-Add-PlayerKickEvent-causes.patch
+++ b/patches/api/0280-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 7e2f2904cc6da994aaf8764399a836c5586cbd70..b39e8c1cdeee3d554839a055ccbae725aa3d66f5 100644
+index a03ac5f230521cde2278222de8157f78a152f6a6..ff5a0d2b6a070c85545b00cf41c51b8d9cce8d0d 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -334,6 +334,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -335,6 +335,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param message kick message
*/
void kick(final net.kyori.adventure.text.@Nullable Component message);
diff --git a/patches/api/0325-Multi-Block-Change-API.patch b/patches/api/0325-Multi-Block-Change-API.patch
index a53a8e108b..f7cb304e6e 100644
--- a/patches/api/0325-Multi-Block-Change-API.patch
+++ b/patches/api/0325-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 b39e8c1cdeee3d554839a055ccbae725aa3d66f5..d61adb687aedb987e33d66978ef4b77ea1b0356f 100644
+index ff5a0d2b6a070c85545b00cf41c51b8d9cce8d0d..99bad852128f499f8f71552399c49f373d51cf9c 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -952,6 +952,29 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -977,6 +977,29 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public void sendBlockDamage(@NotNull Location loc, float progress);
diff --git a/patches/api/0353-More-Teleport-API.patch b/patches/api/0353-More-Teleport-API.patch
index 48ac16d6f3..7357803c97 100644
--- a/patches/api/0353-More-Teleport-API.patch
+++ b/patches/api/0353-More-Teleport-API.patch
@@ -158,10 +158,10 @@ index f51f3f04ba9efe15f68620c5531b502710078b6e..8bada7f7f0200103edc415ad003132d9
* 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 d61adb687aedb987e33d66978ef4b77ea1b0356f..503a2ecd4ffca92ee529e3e15136c368d75692c0 100644
+index 99bad852128f499f8f71552399c49f373d51cf9c..4371ac4683604919782f6268756dff4f05695a40 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -3536,6 +3536,45 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -3561,6 +3561,45 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
String getClientBrandName();
// Paper end
diff --git a/patches/api/0355-Custom-Chat-Completion-Suggestions-API.patch b/patches/api/0355-Custom-Chat-Completion-Suggestions-API.patch
index d36522af54..5c217eaf6b 100644
--- a/patches/api/0355-Custom-Chat-Completion-Suggestions-API.patch
+++ b/patches/api/0355-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 503a2ecd4ffca92ee529e3e15136c368d75692c0..675053adf68df2c77ef128f2aec72e22f0f48adf 100644
+index 4371ac4683604919782f6268756dff4f05695a40..761e7982d022eddd1adee6f2536fa93c4a9f67ea 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -3420,6 +3420,31 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -3445,6 +3445,31 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
void sendOpLevel(byte level);
// Paper end - sendOpLevel API
diff --git a/patches/api/0364-Elder-Guardian-appearance-API.patch b/patches/api/0364-Elder-Guardian-appearance-API.patch
index 8a3655450e..5adec1def7 100644
--- a/patches/api/0364-Elder-Guardian-appearance-API.patch
+++ b/patches/api/0364-Elder-Guardian-appearance-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Elder Guardian appearance API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 675053adf68df2c77ef128f2aec72e22f0f48adf..9c9077c781b8f11d3a41d479ff9415fe83c70e81 100644
+index 761e7982d022eddd1adee6f2536fa93c4a9f67ea..404f448cf1488a9fa5aeebeeba5d51e9a5427bc7 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -3600,6 +3600,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -3625,6 +3625,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
void lookAt(@NotNull org.bukkit.entity.Entity entity, @NotNull io.papermc.paper.entity.LookAnchor playerAnchor, @NotNull io.papermc.paper.entity.LookAnchor entityAnchor);
// Paper end - Teleport API
diff --git a/patches/api/0371-Add-Player-Warden-Warning-API.patch b/patches/api/0371-Add-Player-Warden-Warning-API.patch
index e766dc65f7..81dbe64546 100644
--- a/patches/api/0371-Add-Player-Warden-Warning-API.patch
+++ b/patches/api/0371-Add-Player-Warden-Warning-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add Player Warden Warning API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 9c9077c781b8f11d3a41d479ff9415fe83c70e81..41a01924b4ffda5e321338ef9831c12ba5ee751a 100644
+index 404f448cf1488a9fa5aeebeeba5d51e9a5427bc7..17d69b6808e581dd69f93d7cb646ca43608b40df 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -3616,6 +3616,59 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -3641,6 +3641,59 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param silent whether sound should be silenced
*/
void showElderGuardian(boolean silent);
diff --git a/patches/api/0381-Add-Sneaking-API-for-Entities.patch b/patches/api/0381-Add-Sneaking-API-for-Entities.patch
index 29e6c98750..ccee097cf0 100644
--- a/patches/api/0381-Add-Sneaking-API-for-Entities.patch
+++ b/patches/api/0381-Add-Sneaking-API-for-Entities.patch
@@ -35,10 +35,10 @@ index 9f4498a955279b8b5c418609801fd09444a1efb5..6dcaf7e9bc9afb708ab569e82f27c878
* Get the category of spawn to which this entity belongs.
*
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 41a01924b4ffda5e321338ef9831c12ba5ee751a..fb72464d86de30775e6c324bfd6a9491cc2bee2b 100644
+index 17d69b6808e581dd69f93d7cb646ca43608b40df..9faabe1dcfd69d8dfbefab98f23d8f0b6700e9b2 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -474,6 +474,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -475,6 +475,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*
* @return true if player is in sneak mode
*/
@@ -46,7 +46,7 @@ index 41a01924b4ffda5e321338ef9831c12ba5ee751a..fb72464d86de30775e6c324bfd6a9491
public boolean isSneaking();
/**
-@@ -481,6 +482,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -482,6 +483,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*
* @param sneak true if player should appear sneaking
*/
diff --git a/patches/api/0383-Flying-Fall-Damage-API.patch b/patches/api/0383-Flying-Fall-Damage-API.patch
index c3b86a21d2..f0e6b1e6ca 100644
--- a/patches/api/0383-Flying-Fall-Damage-API.patch
+++ b/patches/api/0383-Flying-Fall-Damage-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Flying Fall Damage API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index fb72464d86de30775e6c324bfd6a9491cc2bee2b..d1301c8201c56602fbedcf5475650c5b7e600609 100644
+index 9faabe1dcfd69d8dfbefab98f23d8f0b6700e9b2..1f9e9beb9c36d8885e0c4f19e324f26521634ed3 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1923,6 +1923,23 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1948,6 +1948,23 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public void setAllowFlight(boolean flight);
diff --git a/patches/api/0385-Win-Screen-API.patch b/patches/api/0385-Win-Screen-API.patch
index c4ac3dae99..8911de9fcb 100644
--- a/patches/api/0385-Win-Screen-API.patch
+++ b/patches/api/0385-Win-Screen-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Win Screen API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index d1301c8201c56602fbedcf5475650c5b7e600609..ee43ecd0bf4d12549323976a0e1c3b023a41333b 100644
+index 1f9e9beb9c36d8885e0c4f19e324f26521634ed3..dd4ce1d68962ec668db7c687c1e4764db52bc04f 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1262,6 +1262,47 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1287,6 +1287,47 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public void sendMap(@NotNull MapView map);
diff --git a/patches/api/0398-Fix-BanList-API.patch b/patches/api/0398-Fix-BanList-API.patch
index a5c5275a12..0d0a781306 100644
--- a/patches/api/0398-Fix-BanList-API.patch
+++ b/patches/api/0398-Fix-BanList-API.patch
@@ -130,10 +130,10 @@ index e805e629cede1c4c0674282c930cb67852718c3e..5248cf08ef83c7304dd76c42a2f646bb
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index ee43ecd0bf4d12549323976a0e1c3b023a41333b..6103c945b351a9cf6a29b5ab4fa7adb4546097e2 100644
+index dd4ce1d68962ec668db7c687c1e4764db52bc04f..baf7ff3b23be8dd80d2e59299a6ec8f9ce1053df 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -358,7 +358,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -359,7 +359,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* (updated) previous ban
*/
@Nullable
@@ -142,7 +142,7 @@ index ee43ecd0bf4d12549323976a0e1c3b023a41333b..6103c945b351a9cf6a29b5ab4fa7adb4
/**
* Adds this user to the {@link ProfileBanList}. If a previous ban exists, this will
-@@ -374,7 +374,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -375,7 +375,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* (updated) previous ban
*/
@Nullable
@@ -151,7 +151,7 @@ index ee43ecd0bf4d12549323976a0e1c3b023a41333b..6103c945b351a9cf6a29b5ab4fa7adb4
/**
* Adds this user to the {@link ProfileBanList}. If a previous ban exists, this will
-@@ -390,7 +390,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -391,7 +391,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* (updated) previous ban
*/
@Nullable
diff --git a/patches/api/0406-Add-Listing-API-for-Player.patch b/patches/api/0406-Add-Listing-API-for-Player.patch
index acf4f19c19..3135969fe0 100644
--- a/patches/api/0406-Add-Listing-API-for-Player.patch
+++ b/patches/api/0406-Add-Listing-API-for-Player.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add Listing API for Player
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 6103c945b351a9cf6a29b5ab4fa7adb4546097e2..38e296eab48b5408255fdb13d6a7b488471395d2 100644
+index baf7ff3b23be8dd80d2e59299a6ec8f9ce1053df..e128750b1175ab8bbe9b23fdd931665262c8d75e 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -2053,6 +2053,32 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2078,6 +2078,32 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public boolean canSee(@NotNull Entity entity);
diff --git a/patches/api/0420-Add-player-idle-duration-API.patch b/patches/api/0420-Add-player-idle-duration-API.patch
index b11b57b660..ac250c0760 100644
--- a/patches/api/0420-Add-player-idle-duration-API.patch
+++ b/patches/api/0420-Add-player-idle-duration-API.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Add player idle duration API
Implements API for getting and resetting a player's idle duration.
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 38e296eab48b5408255fdb13d6a7b488471395d2..598a1df25f12e2175865bf98dae030b33f78cf7c 100644
+index e128750b1175ab8bbe9b23fdd931665262c8d75e..4297a893799fe39b80029b97f6b5581d543afa8a 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -3757,6 +3757,29 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -3782,6 +3782,29 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
void increaseWardenWarningLevel();
// Paper end
diff --git a/patches/api/0428-Experimental-annotations-change.patch b/patches/api/0428-Experimental-annotations-change.patch
index e009911553..9c079b178f 100644
--- a/patches/api/0428-Experimental-annotations-change.patch
+++ b/patches/api/0428-Experimental-annotations-change.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Experimental annotations change
diff --git a/src/main/java/org/bukkit/FeatureFlag.java b/src/main/java/org/bukkit/FeatureFlag.java
-index 710f8e6242eab7b638e4f42e4e9790007f4c67b7..82f9ba32256bfc1125ee970a7fed0895fe08f145 100644
+index a96600443a0997c3a696a637422ab66ee1884fb0..20eb27ee041f77f295eb271f878c524ce5592251 100644
--- a/src/main/java/org/bukkit/FeatureFlag.java
+++ b/src/main/java/org/bukkit/FeatureFlag.java
@@ -29,6 +29,7 @@ public interface FeatureFlag extends Keyed {
diff --git a/patches/api/0431-Add-experience-points-API.patch b/patches/api/0431-Add-experience-points-API.patch
index 568b3a2494..5581883301 100644
--- a/patches/api/0431-Add-experience-points-API.patch
+++ b/patches/api/0431-Add-experience-points-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add experience points API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 598a1df25f12e2175865bf98dae030b33f78cf7c..f7b9cf1f2b90feb954e4d9b03b3a12abe7864a12 100644
+index 4297a893799fe39b80029b97f6b5581d543afa8a..b3b6cdf5491397e0e802ac91f5805d560ed5d88a 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1922,6 +1922,45 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1947,6 +1947,45 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param exp New total experience points
*/
public void setTotalExperience(int exp);
diff --git a/patches/api/0454-API-for-checking-sent-chunks.patch b/patches/api/0454-API-for-checking-sent-chunks.patch
index bca113f6ab..0c353a8070 100644
--- a/patches/api/0454-API-for-checking-sent-chunks.patch
+++ b/patches/api/0454-API-for-checking-sent-chunks.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] API for checking sent chunks
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index f7b9cf1f2b90feb954e4d9b03b3a12abe7864a12..fc16c3df002ca097d9f815c04687e115c911304f 100644
+index b3b6cdf5491397e0e802ac91f5805d560ed5d88a..20db14b3075d70b34eab16ca6332a2e674b34e75 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -3819,6 +3819,47 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -3844,6 +3844,47 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
void resetIdleDuration();
// Paper end
diff --git a/patches/api/0463-Added-API-to-get-player-ha-proxy-address.patch b/patches/api/0463-Added-API-to-get-player-ha-proxy-address.patch
index 08d7bec703..79b1804796 100644
--- a/patches/api/0463-Added-API-to-get-player-ha-proxy-address.patch
+++ b/patches/api/0463-Added-API-to-get-player-ha-proxy-address.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Added API to get player ha proxy address
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index fc16c3df002ca097d9f815c04687e115c911304f..c8532a25d64217bcfddf075fd09e255aa9a769e7 100644
+index 20db14b3075d70b34eab16ca6332a2e674b34e75..82e92579f899ab3b86c748ba01860262b8ffa17f 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -266,6 +266,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -267,6 +267,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@Nullable
public InetSocketAddress getAddress();
diff --git a/patches/api/0485-Add-FeatureFlag-API.patch b/patches/api/0485-Add-FeatureFlag-API.patch
index ccff287243..9afc644014 100644
--- a/patches/api/0485-Add-FeatureFlag-API.patch
+++ b/patches/api/0485-Add-FeatureFlag-API.patch
@@ -104,7 +104,7 @@ index 0000000000000000000000000000000000000000..0955699df65ccbb8711cfa48f0b34d5a
+ @Unmodifiable Set<FeatureFlag> getFeatureFlags();
+}
diff --git a/src/main/java/org/bukkit/FeatureFlag.java b/src/main/java/org/bukkit/FeatureFlag.java
-index 82f9ba32256bfc1125ee970a7fed0895fe08f145..163b73204f3c94c1a234eb86cc73bd92858bc5e4 100644
+index 20eb27ee041f77f295eb271f878c524ce5592251..0acea3e8d639c252b44cd5da5e3584aa6e6c9b5c 100644
--- a/src/main/java/org/bukkit/FeatureFlag.java
+++ b/src/main/java/org/bukkit/FeatureFlag.java
@@ -1,17 +1,24 @@
@@ -137,7 +137,7 @@ index 82f9ba32256bfc1125ee970a7fed0895fe08f145..163b73204f3c94c1a234eb86cc73bd92
+ FeatureFlag VANILLA = create("vanilla");
/**
- * <strong>AVAILABLE BETWEEN VERSIONS:</strong> 1.19.3 - 1.21.2
+ * <strong>AVAILABLE BETWEEN VERSIONS:</strong> 1.19.3 - 1.21.1
@@ -19,34 +26,43 @@ public interface FeatureFlag extends Keyed {
* @deprecated not available since 1.21.2
*/
diff --git a/patches/api/0490-Improve-entity-effect-API.patch b/patches/api/0490-Improve-entity-effect-API.patch
index 014c984928..4804315568 100644
--- a/patches/api/0490-Improve-entity-effect-API.patch
+++ b/patches/api/0490-Improve-entity-effect-API.patch
@@ -118,10 +118,10 @@ index 725ef320f929d5e3d141c1ed3246d73a7d741f31..d0ae8a94db20281d3664d74718c65234
+ // Paper end - broadcast hurt animation
}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index c8532a25d64217bcfddf075fd09e255aa9a769e7..81e287c8df1c10cf1e268f3bbd262926d60b70c0 100644
+index 82e92579f899ab3b86c748ba01860262b8ffa17f..95f0b3186e313c7fbd5c8531d52b82a69e525f94 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -3874,4 +3874,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -3899,4 +3899,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@Override
Spigot spigot();
// Spigot end
diff --git a/patches/server/0001-Setup-Gradle-project.patch b/patches/server/0001-Setup-Gradle-project.patch
index 7a3394e246..4319f4cd05 100644
--- a/patches/server/0001-Setup-Gradle-project.patch
+++ b/patches/server/0001-Setup-Gradle-project.patch
@@ -165,7 +165,7 @@ index 0000000000000000000000000000000000000000..6ef457b8ea6ff9b89cb74ecbdca20731
+}
diff --git a/pom.xml b/pom.xml
deleted file mode 100644
-index da3dad9b745635f2f4b3dd30350070cace3dfc48..0000000000000000000000000000000000000000
+index c2973479d13a5d2898523cf5f246db39c2ea48e6..0000000000000000000000000000000000000000
--- a/pom.xml
+++ /dev/null
@@ -1,691 +0,0 @@
@@ -175,7 +175,7 @@ index da3dad9b745635f2f4b3dd30350070cace3dfc48..00000000000000000000000000000000
- <groupId>org.spigotmc</groupId>
- <artifactId>spigot</artifactId>
- <packaging>jar</packaging>
-- <version>1.21.2-R0.1-SNAPSHOT</version>
+- <version>1.21.3-R0.1-SNAPSHOT</version>
- <name>Spigot</name>
- <url>https://www.spigotmc.org/</url>
-
diff --git a/patches/server/0008-CB-fixes.patch b/patches/server/0008-CB-fixes.patch
index ce987eb9e7..3c0b7b9d42 100644
--- a/patches/server/0008-CB-fixes.patch
+++ b/patches/server/0008-CB-fixes.patch
@@ -115,7 +115,7 @@ index 163d54a8bf4cedbd1471e86b7ab1a1b850ed3f39..6effe47b32a8551aa6f6b11bc0315714
public class CraftScheduler implements BukkitScheduler {
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index fc444b734aad2c23f0808cd66fca23fc350d9e10..2392aa50aec6468f2f498e0a806f65013ce963d1 100644
+index e95c367d1c14dc28b1bf83cc461c80f454af22af..5187d48ba067d0edf55fecfc912ae5ac34452da3 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -246,7 +246,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
diff --git a/patches/server/0009-MC-Utils.patch b/patches/server/0009-MC-Utils.patch
index 3535d37a45..4b120d89b8 100644
--- a/patches/server/0009-MC-Utils.patch
+++ b/patches/server/0009-MC-Utils.patch
@@ -5619,10 +5619,10 @@ index 799444e4101283c972a160742a9e2548e604173f..456c58877490feab6be3577d34c89ea7
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 8ad04c031656d8a676687001b8e9cdc9a1b3bd70..1f013a6eb2088eccb3aea1a5ecd8aac8cc9597d9 100644
+index 031eed24638659f2633bef0ad2e178832ca058e9..a3550d84c273c9720491484382a4bc50dc3246a6 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2433,4 +2433,34 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2447,4 +2447,34 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.spigot;
}
// Spigot end
diff --git a/patches/server/0010-Adventure.patch b/patches/server/0010-Adventure.patch
index 1009dbf4c9..589db52a3c 100644
--- a/patches/server/0010-Adventure.patch
+++ b/patches/server/0010-Adventure.patch
@@ -2872,7 +2872,7 @@ index e7c407039fef88ef01ba9b6be9ae5bcc3edc026f..5457358bc76889153036818fdfd70a04
@Override
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 2a2197f30db99542cb7d2f99dc1377160ba2dc64..eed5dd58fc37c137c87bf3e55e1e033b74002110 100644
+index 7e276fb310fc9e9217fc12934003611cd616def1..18d56058073b6cc4f9020f0a6137e4ac26eed0b2 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -45,6 +45,7 @@ import net.minecraft.nbt.CompoundTag;
@@ -2892,7 +2892,7 @@ index 2a2197f30db99542cb7d2f99dc1377160ba2dc64..eed5dd58fc37c137c87bf3e55e1e033b
import com.mojang.datafixers.util.Pair;
import java.util.Arrays;
import java.util.concurrent.ExecutionException;
-@@ -1739,9 +1742,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1747,9 +1750,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
*/
this.player.disconnect();
@@ -2907,7 +2907,7 @@ index 2a2197f30db99542cb7d2f99dc1377160ba2dc64..eed5dd58fc37c137c87bf3e55e1e033b
}
// CraftBukkit end
this.player.getTextFilter().leave();
-@@ -1802,10 +1807,10 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1810,10 +1815,10 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
CompletableFuture<FilteredText> completablefuture = this.filterTextPacket(playerchatmessage.signedContent()).thenApplyAsync(Function.identity(), this.server.chatExecutor); // CraftBukkit - async chat
@@ -2921,7 +2921,7 @@ index 2a2197f30db99542cb7d2f99dc1377160ba2dc64..eed5dd58fc37c137c87bf3e55e1e033b
this.broadcastChatMessage(playerchatmessage1);
});
-@@ -2025,7 +2030,15 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2033,7 +2038,15 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.handleCommand(s);
} else if (this.player.getChatVisibility() == ChatVisiblity.SYSTEM) {
// Do nothing, this is coming from a plugin
@@ -2938,7 +2938,7 @@ index 2a2197f30db99542cb7d2f99dc1377160ba2dc64..eed5dd58fc37c137c87bf3e55e1e033b
Player player = this.getCraftPlayer();
AsyncPlayerChatEvent event = new AsyncPlayerChatEvent(async, player, s, new LazyPlayerSet(this.server));
String originalFormat = event.getFormat(), originalMessage = event.getMessage();
-@@ -3058,6 +3071,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -3066,6 +3079,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
public void handleClientInformation(ServerboundClientInformationPacket packet) {
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
this.player.updateOptions(packet.information());
@@ -4155,10 +4155,10 @@ index 55945b83a5426b352bad9507cc9e94afb1278032..9ea1537408ff2d790747b6e5a681d917
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 1f013a6eb2088eccb3aea1a5ecd8aac8cc9597d9..c02ab554fe6e1b7eb01bbd1824a86ff4de1db2f0 100644
+index a3550d84c273c9720491484382a4bc50dc3246a6..2222fd316ec2463f7e40b2673b29fb338b9d6385 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -391,14 +391,40 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -395,14 +395,40 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public String getDisplayName() {
@@ -4199,7 +4199,7 @@ index 1f013a6eb2088eccb3aea1a5ecd8aac8cc9597d9..c02ab554fe6e1b7eb01bbd1824a86ff4
@Override
public String getPlayerListName() {
return this.getHandle().listName == null ? this.getName() : CraftChatMessage.fromComponent(this.getHandle().listName);
-@@ -410,6 +436,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -414,6 +440,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
name = this.getName();
}
this.getHandle().listName = name.equals(this.getName()) ? null : CraftChatMessage.fromStringOrNull(name);
@@ -4207,7 +4207,7 @@ index 1f013a6eb2088eccb3aea1a5ecd8aac8cc9597d9..c02ab554fe6e1b7eb01bbd1824a86ff4
for (ServerPlayer player : (List<ServerPlayer>) this.server.getHandle().players) {
if (player.getBukkitEntity().canSee(this)) {
player.connection.send(new ClientboundPlayerInfoUpdatePacket(ClientboundPlayerInfoUpdatePacket.Action.UPDATE_DISPLAY_NAME, this.getHandle()));
-@@ -429,42 +456,42 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -433,42 +460,42 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.getHandle().listOrder = order;
}
@@ -4259,7 +4259,7 @@ index 1f013a6eb2088eccb3aea1a5ecd8aac8cc9597d9..c02ab554fe6e1b7eb01bbd1824a86ff4
this.getHandle().connection.send(packet);
}
-@@ -494,6 +521,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -498,6 +525,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.getHandle().transferCookieConnection.kickPlayer(CraftChatMessage.fromStringOrEmpty(message, true));
}
@@ -4283,7 +4283,7 @@ index 1f013a6eb2088eccb3aea1a5ecd8aac8cc9597d9..c02ab554fe6e1b7eb01bbd1824a86ff4
@Override
public void setCompassTarget(Location loc) {
Preconditions.checkArgument(loc != null, "Location cannot be null");
-@@ -790,6 +834,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -794,6 +838,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.getHandle().connection.send(packet);
}
@@ -4308,7 +4308,7 @@ index 1f013a6eb2088eccb3aea1a5ecd8aac8cc9597d9..c02ab554fe6e1b7eb01bbd1824a86ff4
@Override
public void sendSignChange(Location loc, String[] lines) {
this.sendSignChange(loc, lines, DyeColor.BLACK);
-@@ -813,6 +875,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -817,6 +879,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
if (this.getHandle().connection == null) return;
Component[] components = CraftSign.sanitizeLines(lines);
@@ -4321,7 +4321,7 @@ index 1f013a6eb2088eccb3aea1a5ecd8aac8cc9597d9..c02ab554fe6e1b7eb01bbd1824a86ff4
SignBlockEntity sign = new SignBlockEntity(CraftLocation.toBlockPosition(loc), Blocks.OAK_SIGN.defaultBlockState());
SignText text = sign.getFrontText();
text = text.setColor(net.minecraft.world.item.DyeColor.byId(dyeColor.getWoolData()));
-@@ -1829,7 +1897,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1843,7 +1911,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void setResourcePack(String url) {
@@ -4330,7 +4330,7 @@ index 1f013a6eb2088eccb3aea1a5ecd8aac8cc9597d9..c02ab554fe6e1b7eb01bbd1824a86ff4
}
@Override
-@@ -1844,7 +1912,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1858,7 +1926,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void setResourcePack(String url, byte[] hash, boolean force) {
@@ -4339,7 +4339,7 @@ index 1f013a6eb2088eccb3aea1a5ecd8aac8cc9597d9..c02ab554fe6e1b7eb01bbd1824a86ff4
}
@Override
-@@ -1881,6 +1949,59 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1895,6 +1963,59 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.handlePushResourcePack(new ClientboundResourcePackPushPacket(id, url, hashStr, force, CraftChatMessage.fromStringOrOptional(prompt, true)), false);
}
@@ -4399,7 +4399,7 @@ index 1f013a6eb2088eccb3aea1a5ecd8aac8cc9597d9..c02ab554fe6e1b7eb01bbd1824a86ff4
@Override
public void removeResourcePack(UUID id) {
Preconditions.checkArgument(id != null, "Resource pack id cannot be null");
-@@ -2301,6 +2422,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2315,6 +2436,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return (this.getHandle().requestedViewDistance() == 0) ? Bukkit.getViewDistance() : this.getHandle().requestedViewDistance();
}
@@ -4412,7 +4412,7 @@ index 1f013a6eb2088eccb3aea1a5ecd8aac8cc9597d9..c02ab554fe6e1b7eb01bbd1824a86ff4
@Override
public int getPing() {
return this.getHandle().connection.latency();
-@@ -2351,6 +2478,248 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2365,6 +2492,248 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.getHandle().allowsListing();
}
@@ -5631,7 +5631,7 @@ index ff040613083c015d9c52c0995591b64305fd5018..95444fd9fecc5bda5462ca8dfeca82c5
boolean hadFormat = false;
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 2392aa50aec6468f2f498e0a806f65013ce963d1..e04586249625dc8d77ad5eecd06b8b88fa288503 100644
+index 5187d48ba067d0edf55fecfc912ae5ac34452da3..aa02e932ea19325694b1058d749b0858465530e8 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -79,6 +79,43 @@ public final class CraftMagicNumbers implements UnsafeValues {
diff --git a/patches/server/0019-Paper-Plugins.patch b/patches/server/0019-Paper-Plugins.patch
index f473973b3c..2ca42e58a6 100644
--- a/patches/server/0019-Paper-Plugins.patch
+++ b/patches/server/0019-Paper-Plugins.patch
@@ -7329,7 +7329,7 @@ index 1b66c5173dd37433d895c0d804257141a3a8c588..e8c1ceed228a1dfb9f3c76b54a91d712
this.enablePlugins(PluginLoadOrder.STARTUP);
this.enablePlugins(PluginLoadOrder.POSTWORLD);
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index e04586249625dc8d77ad5eecd06b8b88fa288503..1aae364ee6c67b6c89a59ad6cab83bb921645453 100644
+index aa02e932ea19325694b1058d749b0858465530e8..0ff9c62636e8709a6df252e9aaf931c9c17bd9bf 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -401,6 +401,16 @@ public final class CraftMagicNumbers implements UnsafeValues {
diff --git a/patches/server/0022-Remap-reflection-calls-in-plugins-using-internals.patch b/patches/server/0022-Remap-reflection-calls-in-plugins-using-internals.patch
index dc4a4d2a0e..3610187c20 100644
--- a/patches/server/0022-Remap-reflection-calls-in-plugins-using-internals.patch
+++ b/patches/server/0022-Remap-reflection-calls-in-plugins-using-internals.patch
@@ -705,7 +705,7 @@ index 2a29f60c3e82239ab7acd85242fc3390cb9129cd..91c6721201b095eb32c5fd5a1aaf2cbc
final Set<RerouteMethodData> rerouteMethodData = new HashSet<>();
String className;
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 1aae364ee6c67b6c89a59ad6cab83bb921645453..a45c08c423248a60f9d5822046014427a6dadd12 100644
+index 0ff9c62636e8709a6df252e9aaf931c9c17bd9bf..4b2377a1de608b9142a28c66389d04290f7c0330 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -74,6 +74,7 @@ import org.bukkit.potion.PotionType;
diff --git a/patches/server/0023-Timings-v2.patch b/patches/server/0023-Timings-v2.patch
index 6cde798187..19ddd183bb 100644
--- a/patches/server/0023-Timings-v2.patch
+++ b/patches/server/0023-Timings-v2.patch
@@ -1245,10 +1245,10 @@ index 6fe373de360570b528b8133043ef3bb9ba12529d..d82f4255faac84ce6af47e86707f5c03
this.entityManager.saveAll();
} else {
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index eed5dd58fc37c137c87bf3e55e1e033b74002110..7a130da1b50a67331a862f96934739845c7b2d67 100644
+index 18d56058073b6cc4f9020f0a6137e4ac26eed0b2..d8fd2103a40d278c7ee4135c19dea3eb4534dda8 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -337,7 +337,6 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -339,7 +339,6 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@Override
public void tick() {
@@ -1256,7 +1256,7 @@ index eed5dd58fc37c137c87bf3e55e1e033b74002110..7a130da1b50a67331a862f9693473984
if (this.ackBlockChangesUpTo > -1) {
this.send(new ClientboundBlockChangedAckPacket(this.ackBlockChangesUpTo));
this.ackBlockChangesUpTo = -1;
-@@ -393,7 +392,6 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -395,7 +394,6 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.player.resetLastActionTime(); // CraftBukkit - SPIGOT-854
this.disconnect((Component) Component.translatable("multiplayer.disconnect.idling"));
}
@@ -1264,7 +1264,7 @@ index eed5dd58fc37c137c87bf3e55e1e033b74002110..7a130da1b50a67331a862f9693473984
}
-@@ -2114,7 +2112,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2122,7 +2120,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
private void handleCommand(String s) {
@@ -1273,7 +1273,7 @@ index eed5dd58fc37c137c87bf3e55e1e033b74002110..7a130da1b50a67331a862f9693473984
if ( org.spigotmc.SpigotConfig.logCommands ) // Spigot
this.LOGGER.info(this.player.getScoreboardName() + " issued server command: " + s);
-@@ -2124,7 +2122,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2132,7 +2130,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.cserver.getPluginManager().callEvent(event);
if (event.isCancelled()) {
@@ -1282,7 +1282,7 @@ index eed5dd58fc37c137c87bf3e55e1e033b74002110..7a130da1b50a67331a862f9693473984
return;
}
-@@ -2137,7 +2135,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2145,7 +2143,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
java.util.logging.Logger.getLogger(ServerGamePacketListenerImpl.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
return;
} finally {
@@ -1824,10 +1824,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 c02ab554fe6e1b7eb01bbd1824a86ff4de1db2f0..dafd4105f4ad4729c7637a7b0e5606ff0ec326d1 100644
+index 2222fd316ec2463f7e40b2673b29fb338b9d6385..1e23ea353a552d156cfddb2f620add11c89abbb0 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2795,6 +2795,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2809,6 +2809,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));
}
@@ -2005,7 +2005,7 @@ index f97eccb6a17c7876e1e002d798eb67bbe80571a0..76effc345d362047e64d064eb64a5222
+ } // Paper
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index a45c08c423248a60f9d5822046014427a6dadd12..1e8b13096b0ebed35290c9cbe6b8fb8f4b054b34 100644
+index 4b2377a1de608b9142a28c66389d04290f7c0330..0285349c0e882c1d928240a7ece2f9cc9f4122f2 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -199,6 +199,12 @@ public final class CraftMagicNumbers implements UnsafeValues {
diff --git a/patches/server/0033-Expose-server-build-information.patch b/patches/server/0033-Expose-server-build-information.patch
index d38434d304..9cdf2aba91 100644
--- a/patches/server/0033-Expose-server-build-information.patch
+++ b/patches/server/0033-Expose-server-build-information.patch
@@ -692,7 +692,7 @@ index 03790abcc3474999db6d8986e50ebc2caf6eba0c..13f811173c67533ee02f70cc4b6b398c
t.printStackTrace();
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 1e8b13096b0ebed35290c9cbe6b8fb8f4b054b34..d5038fb8720bfe39ffaf3fdea072c01487d315f9 100644
+index 0285349c0e882c1d928240a7ece2f9cc9f4122f2..d22eb174d9c0cc5dd6418c478470c616b75801b2 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -459,6 +459,11 @@ public final class CraftMagicNumbers implements UnsafeValues {
diff --git a/patches/server/0034-Player-affects-spawning-API.patch b/patches/server/0034-Player-affects-spawning-API.patch
index d5b03dc4aa..9d430f59c5 100644
--- a/patches/server/0034-Player-affects-spawning-API.patch
+++ b/patches/server/0034-Player-affects-spawning-API.patch
@@ -135,10 +135,10 @@ index f689b2ca0ebc15c099f36ebfd14e455bda540296..fb043d67eaa6336fc0b5d62774b8f110
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 dafd4105f4ad4729c7637a7b0e5606ff0ec326d1..b5f69a6beaf42abf25463530870c2d7311b18571 100644
+index 1e23ea353a552d156cfddb2f620add11c89abbb0..da568a74260a7068437681bddf102929e6b8f168 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2438,6 +2438,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2452,6 +2452,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.getHandle().language;
}
diff --git a/patches/server/0035-Only-refresh-abilities-if-needed.patch b/patches/server/0035-Only-refresh-abilities-if-needed.patch
index 2f754caff9..2d9c017bc3 100644
--- a/patches/server/0035-Only-refresh-abilities-if-needed.patch
+++ b/patches/server/0035-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 b5f69a6beaf42abf25463530870c2d7311b18571..2a6db82c926bb5551035f4b040502215d35355fb 100644
+index da568a74260a7068437681bddf102929e6b8f168..29990d84d9e3ee67a4766149c09be6d582999173 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2106,12 +2106,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2120,12 +2120,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void setFlying(boolean value) {
diff --git a/patches/server/0048-Use-null-Locale-by-default.patch b/patches/server/0048-Use-null-Locale-by-default.patch
index 8d9a047460..7b688c0d3a 100644
--- a/patches/server/0048-Use-null-Locale-by-default.patch
+++ b/patches/server/0048-Use-null-Locale-by-default.patch
@@ -36,10 +36,10 @@ index 4303bde198050cd037f006234d269af406606eff..911ec630c5925b160cc05f99f0d5bb5a
this.server.server.getPluginManager().callEvent(event);
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 2a6db82c926bb5551035f4b040502215d35355fb..955dda9db5f2142a7cb9634a298a4b30d18dbf3c 100644
+index 29990d84d9e3ee67a4766149c09be6d582999173..9409244db73282816e4f7560dd7d73a961f9e1d3 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2436,7 +2436,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2450,7 +2450,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public String getLocale() {
diff --git a/patches/server/0055-Improve-Player-chat-API-handling.patch b/patches/server/0055-Improve-Player-chat-API-handling.patch
index 248a889b8c..8844c6eaf3 100644
--- a/patches/server/0055-Improve-Player-chat-API-handling.patch
+++ b/patches/server/0055-Improve-Player-chat-API-handling.patch
@@ -17,10 +17,10 @@ Co-authored-by: Jake Potrebic <[email protected]>
Co-authored-by: SoSeDiK <[email protected]>
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 7a130da1b50a67331a862f96934739845c7b2d67..6b3023fbbac8ba7d0d0e2968c406b908d81ef7dc 100644
+index d8fd2103a40d278c7ee4135c19dea3eb4534dda8..ab31b31c61d652275a667f34ab018e4c8d0cdc08 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -2024,7 +2024,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2032,7 +2032,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
OutgoingChatMessage outgoing = OutgoingChatMessage.create(original);
@@ -29,7 +29,7 @@ index 7a130da1b50a67331a862f96934739845c7b2d67..6b3023fbbac8ba7d0d0e2968c406b908
this.handleCommand(s);
} else if (this.player.getChatVisibility() == ChatVisiblity.SYSTEM) {
// Do nothing, this is coming from a plugin
-@@ -2111,7 +2111,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2119,7 +2119,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
}
@@ -53,10 +53,10 @@ index 9683759c36de3b9d791e56dc1fb993087c1bc37c..3b58cc979c4e2fb5382f0c67ccfaa844
if (this.commandMap.dispatch(sender, commandLine)) {
return true;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 955dda9db5f2142a7cb9634a298a4b30d18dbf3c..631ebc76f14482b38374fb2a9cdfe12ea15176e2 100644
+index 9409244db73282816e4f7560dd7d73a961f9e1d3..60bf3f000bbaa8dac201e868ff46963f45251062 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -559,7 +559,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -563,7 +563,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
if (this.getHandle().connection == null) return;
diff --git a/patches/server/0059-Player-Tab-List-and-Title-APIs.patch b/patches/server/0059-Player-Tab-List-and-Title-APIs.patch
index 633d3c5d5c..d9b0772237 100644
--- a/patches/server/0059-Player-Tab-List-and-Title-APIs.patch
+++ b/patches/server/0059-Player-Tab-List-and-Title-APIs.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Player Tab List and Title APIs
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 631ebc76f14482b38374fb2a9cdfe12ea15176e2..49befbbd27fb44d564663c140dd594e0f35526f3 100644
+index 60bf3f000bbaa8dac201e868ff46963f45251062..650a9dcb88e9c50fe60e91cfb55f6c440598a356 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -389,6 +389,98 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -393,6 +393,98 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
}
diff --git a/patches/server/0066-Complete-resource-pack-API.patch b/patches/server/0066-Complete-resource-pack-API.patch
index 745d622283..1951dc79ca 100644
--- a/patches/server/0066-Complete-resource-pack-API.patch
+++ b/patches/server/0066-Complete-resource-pack-API.patch
@@ -22,10 +22,10 @@ index 99f89854e43ed6742dc9ac1624fa7140b4594b3b..d4527831f66bf1c55e6273c7f8923d6e
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 49befbbd27fb44d564663c140dd594e0f35526f3..69459b11c77bd0a6d9584f868773dba92f73aa36 100644
+index 650a9dcb88e9c50fe60e91cfb55f6c440598a356..6e86a515bbea29f3287e968569c177c22c033766 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -209,6 +209,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -213,6 +213,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
private double healthScale = 20;
private CraftWorldBorder clientWorldBorder = null;
private BorderChangeListener clientWorldBorderListener = this.createWorldBorderListener();
@@ -33,7 +33,7 @@ index 49befbbd27fb44d564663c140dd594e0f35526f3..69459b11c77bd0a6d9584f868773dba9
public CraftPlayer(CraftServer server, ServerPlayer entity) {
super(server, entity);
-@@ -2107,6 +2108,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2121,6 +2122,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
// Paper end - adventure
diff --git a/patches/server/0074-handle-NaN-health-absorb-values-and-repair-bad-data.patch b/patches/server/0074-handle-NaN-health-absorb-values-and-repair-bad-data.patch
index a547f5a176..6f523d7d27 100644
--- a/patches/server/0074-handle-NaN-health-absorb-values-and-repair-bad-data.patch
+++ b/patches/server/0074-handle-NaN-health-absorb-values-and-repair-bad-data.patch
@@ -44,10 +44,10 @@ index 4fa5e7127549e090338b11e6493413a3fab254a0..14d9e62c86309676ddd7eed19cce2f4b
protected void internalSetAbsorptionAmount(float absorptionAmount) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 69459b11c77bd0a6d9584f868773dba92f73aa36..ca6194580c10cc864430b859a2c60d0b2e6a9a16 100644
+index 6e86a515bbea29f3287e968569c177c22c033766..cbc8c9bea2a92ecd78ead69e35b9b179819a4c5f 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2351,6 +2351,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2365,6 +2365,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
public void setRealHealth(double health) {
diff --git a/patches/server/0083-Add-PlayerUseUnknownEntityEvent.patch b/patches/server/0083-Add-PlayerUseUnknownEntityEvent.patch
index b5de8e9c2a..4f7a58fe85 100644
--- a/patches/server/0083-Add-PlayerUseUnknownEntityEvent.patch
+++ b/patches/server/0083-Add-PlayerUseUnknownEntityEvent.patch
@@ -28,10 +28,10 @@ index 1e9c68cd1868d083e6a790d56006dd4aa432010a..8a0ee9564fc36a2badf1357f7e6c47b5
+ // Paper end - PlayerUseUnknownEntityEvent
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 6b3023fbbac8ba7d0d0e2968c406b908d81ef7dc..0ddc79be416161d89c9f333ef79a16f079ba6e1d 100644
+index ab31b31c61d652275a667f34ab018e4c8d0cdc08..33caf2d025a5770d2e3ebf044562314df6eb2c15 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -2505,7 +2505,26 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2513,7 +2513,26 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
});
}
}
diff --git a/patches/server/0106-Configurable-packet-in-spam-threshold.patch b/patches/server/0106-Configurable-packet-in-spam-threshold.patch
index dea882c559..3a0784210e 100644
--- a/patches/server/0106-Configurable-packet-in-spam-threshold.patch
+++ b/patches/server/0106-Configurable-packet-in-spam-threshold.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable packet in spam threshold
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 0ddc79be416161d89c9f333ef79a16f079ba6e1d..9646788fc1313467e5a93f923109d412d6c44a77 100644
+index 33caf2d025a5770d2e3ebf044562314df6eb2c15..d5952a0ea86a562cb7ff2e9597260ed9c8ad7192 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -1537,13 +1537,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1545,13 +1545,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
// Spigot start - limit place/interactions
private int limitedPackets;
private long lastLimitedPacket = -1;
diff --git a/patches/server/0107-Configurable-flying-kick-messages.patch b/patches/server/0107-Configurable-flying-kick-messages.patch
index e6b2f214c4..1c746539c1 100644
--- a/patches/server/0107-Configurable-flying-kick-messages.patch
+++ b/patches/server/0107-Configurable-flying-kick-messages.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable flying kick messages
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 9646788fc1313467e5a93f923109d412d6c44a77..9289df9663a2dfbc28c2c6dd8c31bf516a6229ae 100644
+index d5952a0ea86a562cb7ff2e9597260ed9c8ad7192..d02c743c8a4fe5d640df53dda881e1d1cba05f5f 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -353,7 +353,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -355,7 +355,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
if (this.clientIsFloating && !this.player.isSleeping() && !this.player.isPassenger() && !this.player.isDeadOrDying()) {
if (++this.aboveGroundTickCount > this.getMaximumFlyingTicks(this.player)) {
ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked for floating too long!", this.player.getName().getString());
@@ -17,7 +17,7 @@ index 9646788fc1313467e5a93f923109d412d6c44a77..9289df9663a2dfbc28c2c6dd8c31bf51
return;
}
} else {
-@@ -372,7 +372,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -374,7 +374,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
if (this.clientVehicleIsFloating && this.lastVehicle.getControllingPassenger() == this.player) {
if (++this.aboveGroundVehicleTickCount > this.getMaximumFlyingTicks(this.lastVehicle)) {
ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked for floating a vehicle too long!", this.player.getName().getString());
diff --git a/patches/server/0119-String-based-Action-Bar-API.patch b/patches/server/0119-String-based-Action-Bar-API.patch
index 69c90a6791..3dfd3c5e76 100644
--- a/patches/server/0119-String-based-Action-Bar-API.patch
+++ b/patches/server/0119-String-based-Action-Bar-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] String based Action Bar API
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index ca6194580c10cc864430b859a2c60d0b2e6a9a16..5085da38a278d8f978e19a5b8df7a8e3d087d753 100644
+index cbc8c9bea2a92ecd78ead69e35b9b179819a4c5f..d3666250037ff4d6594fe859a7b6b0d0ca679d06 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -391,6 +391,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -395,6 +395,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
// Paper start
diff --git a/patches/server/0129-Add-option-to-make-parrots-stay-on-shoulders-despite.patch b/patches/server/0129-Add-option-to-make-parrots-stay-on-shoulders-despite.patch
index 311083326c..90926803a2 100644
--- a/patches/server/0129-Add-option-to-make-parrots-stay-on-shoulders-despite.patch
+++ b/patches/server/0129-Add-option-to-make-parrots-stay-on-shoulders-despite.patch
@@ -14,10 +14,10 @@ To be converted into a Paper-API event at some point in the future?
public net.minecraft.world.entity.player.Player removeEntitiesOnShoulder()V
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 9289df9663a2dfbc28c2c6dd8c31bf516a6229ae..2cc5663878a7c0f4b4d5f4b9a0f69de2326bf415 100644
+index d02c743c8a4fe5d640df53dda881e1d1cba05f5f..74aef01b0b46050f87fd670c435b54e9b98037e1 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -2268,6 +2268,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2276,6 +2276,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
switch (packet.getAction()) {
case PRESS_SHIFT_KEY:
this.player.setShiftKeyDown(true);
diff --git a/patches/server/0151-Add-PlayerJumpEvent.patch b/patches/server/0151-Add-PlayerJumpEvent.patch
index aed4af669b..1a5ee572ed 100644
--- a/patches/server/0151-Add-PlayerJumpEvent.patch
+++ b/patches/server/0151-Add-PlayerJumpEvent.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add PlayerJumpEvent
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 2cc5663878a7c0f4b4d5f4b9a0f69de2326bf415..f80bf569089bdc049f861f876ab91183a1860d54 100644
+index 74aef01b0b46050f87fd670c435b54e9b98037e1..1140eac4bb9443508df61e7a50d54add4b206654 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -1201,7 +1201,34 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1209,7 +1209,34 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
boolean flag1 = d7 > 0.0D;
if (this.player.onGround() && !packet.isOnGround() && flag1) {
diff --git a/patches/server/0153-Expose-client-protocol-version-and-virtual-host.patch b/patches/server/0153-Expose-client-protocol-version-and-virtual-host.patch
index fba936bcfe..e88a2bfe3d 100644
--- a/patches/server/0153-Expose-client-protocol-version-and-virtual-host.patch
+++ b/patches/server/0153-Expose-client-protocol-version-and-virtual-host.patch
@@ -90,10 +90,10 @@ index 7ae4279768b70a4fdc8f4438898871a17c8fe402..582bbb376c75ab5bf737f3015ce8ad45
private void beginLogin(ClientIntentionPacket packet, boolean transfer) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 5085da38a278d8f978e19a5b8df7a8e3d087d753..0b18ef707349c086cd670b3c145144eda64df3fd 100644
+index d3666250037ff4d6594fe859a7b6b0d0ca679d06..ce777a7872e34fed0dfdb984127067ffd835477e 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -337,6 +337,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -341,6 +341,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.getHandle().transferCookieConnection.sendPacket(new ClientboundTransferPacket(host, port));
}
diff --git a/patches/server/0161-AsyncTabCompleteEvent.patch b/patches/server/0161-AsyncTabCompleteEvent.patch
index fba56c021a..8bf913b966 100644
--- a/patches/server/0161-AsyncTabCompleteEvent.patch
+++ b/patches/server/0161-AsyncTabCompleteEvent.patch
@@ -16,10 +16,10 @@ Also adds isCommand and getLocation to the sync TabCompleteEvent
Co-authored-by: Aikar <[email protected]>
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index f80bf569089bdc049f861f876ab91183a1860d54..fd5ce79bb1e976dac5109be12aa4b9b550e94f41 100644
+index 1140eac4bb9443508df61e7a50d54add4b206654..752460c4650bebb2860bea82ca186a0f97b1692b 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -714,21 +714,58 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -722,21 +722,58 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
diff --git a/patches/server/0163-Ability-to-apply-mending-to-XP-API.patch b/patches/server/0163-Ability-to-apply-mending-to-XP-API.patch
index 501c3bc45c..5f8abf9d97 100644
--- a/patches/server/0163-Ability-to-apply-mending-to-XP-API.patch
+++ b/patches/server/0163-Ability-to-apply-mending-to-XP-API.patch
@@ -14,10 +14,10 @@ public net.minecraft.world.entity.ExperienceOrb durabilityToXp(I)I
public net.minecraft.world.entity.ExperienceOrb xpToDurability(I)I
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 0b18ef707349c086cd670b3c145144eda64df3fd..18c0f0550cd6b41fa394e36ee5eb9ee48138dc0b 100644
+index ce777a7872e34fed0dfdb984127067ffd835477e..d98c0b9faa4ec97ef251d397456458668c911012 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1651,7 +1651,41 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1665,7 +1665,41 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
@Override
diff --git a/patches/server/0176-Player.setPlayerProfile-API.patch b/patches/server/0176-Player.setPlayerProfile-API.patch
index 8c5b6401bd..98bd61340a 100644
--- a/patches/server/0176-Player.setPlayerProfile-API.patch
+++ b/patches/server/0176-Player.setPlayerProfile-API.patch
@@ -64,10 +64,10 @@ index 818df09e9245b5d89b4180b1eaa51470b7539341..f6b2ca92fd3510a76cbf56d0ea55aa6c
public Server getServer() {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 18c0f0550cd6b41fa394e36ee5eb9ee48138dc0b..356681047e34b577f51a4f90ebc8892cb1e6eaa8 100644
+index d98c0b9faa4ec97ef251d397456458668c911012..862001f88b4613cb420bf8b8ca1471f41729ad0f 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -250,11 +250,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -254,11 +254,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.server.getPlayer(this.getUniqueId()) != null;
}
@@ -79,7 +79,7 @@ index 18c0f0550cd6b41fa394e36ee5eb9ee48138dc0b..356681047e34b577f51a4f90ebc8892c
@Override
public InetSocketAddress getAddress() {
if (this.getHandle().connection.protocol() == null) return null;
-@@ -1805,8 +1800,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1819,8 +1814,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
private void untrackAndHideEntity(org.bukkit.entity.Entity entity) {
// Remove this entity from the hidden player's EntityTrackerEntry
@@ -96,7 +96,7 @@ index 18c0f0550cd6b41fa394e36ee5eb9ee48138dc0b..356681047e34b577f51a4f90ebc8892c
ChunkMap.TrackedEntity entry = tracker.entityMap.get(other.getId());
if (entry != null) {
entry.removePlayer(this.getHandle());
-@@ -1819,8 +1821,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1833,8 +1835,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.getHandle().connection.send(new ClientboundPlayerInfoRemovePacket(List.of(otherPlayer.getUUID())));
}
}
@@ -105,7 +105,7 @@ index 18c0f0550cd6b41fa394e36ee5eb9ee48138dc0b..356681047e34b577f51a4f90ebc8892c
}
void resetAndHideEntity(org.bukkit.entity.Entity entity) {
-@@ -1885,12 +1885,25 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1899,12 +1899,25 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
private void trackAndShowEntity(org.bukkit.entity.Entity entity) {
@@ -131,7 +131,7 @@ index 18c0f0550cd6b41fa394e36ee5eb9ee48138dc0b..356681047e34b577f51a4f90ebc8892c
}
ChunkMap.TrackedEntity entry = tracker.entityMap.get(other.getId());
-@@ -1900,6 +1913,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1914,6 +1927,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.server.getPluginManager().callEvent(new PlayerShowEntityEvent(this, entity));
}
@@ -171,7 +171,7 @@ index 18c0f0550cd6b41fa394e36ee5eb9ee48138dc0b..356681047e34b577f51a4f90ebc8892c
void resetAndShowEntity(org.bukkit.entity.Entity entity) {
// SPIGOT-7312: Can't show/hide self
-@@ -1911,6 +1957,34 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1925,6 +1971,34 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.trackAndShowEntity(entity);
}
}
diff --git a/patches/server/0181-Flag-to-disable-the-channel-limit.patch b/patches/server/0181-Flag-to-disable-the-channel-limit.patch
index 1950fdda93..415d4913b1 100644
--- a/patches/server/0181-Flag-to-disable-the-channel-limit.patch
+++ b/patches/server/0181-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 356681047e34b577f51a4f90ebc8892cb1e6eaa8..e7477aaad01c26e56e3d5e90bd403311deae8d59 100644
+index 862001f88b4613cb420bf8b8ca1471f41729ad0f..b295c2cb3758f653b28120291b2f6c08ad2e4acf 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -210,6 +210,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -214,6 +214,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
private CraftWorldBorder clientWorldBorder = null;
private BorderChangeListener clientWorldBorderListener = this.createWorldBorderListener();
public org.bukkit.event.player.PlayerResourcePackStatusEvent.Status resourcePackStatus; // Paper - more resource pack API
@@ -20,7 +20,7 @@ index 356681047e34b577f51a4f90ebc8892cb1e6eaa8..e7477aaad01c26e56e3d5e90bd403311
public CraftPlayer(CraftServer server, ServerPlayer entity) {
super(server, entity);
-@@ -2282,7 +2283,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2296,7 +2297,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
public void addChannel(String channel) {
diff --git a/patches/server/0207-InventoryCloseEvent-Reason-API.patch b/patches/server/0207-InventoryCloseEvent-Reason-API.patch
index 94f20cfc2c..1384bfc2db 100644
--- a/patches/server/0207-InventoryCloseEvent-Reason-API.patch
+++ b/patches/server/0207-InventoryCloseEvent-Reason-API.patch
@@ -75,10 +75,10 @@ index 98aeafcc51e23a7534c8d57e4db0eb58abb3f30b..29b836a75b835f0d5233db419fc5ca8d
this.doCloseContainer();
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index fd5ce79bb1e976dac5109be12aa4b9b550e94f41..9033c0e720a432d9abffdd7aebee2d26e595ee93 100644
+index 752460c4650bebb2860bea82ca186a0f97b1692b..5f514f87b171c5c845d5d7714d2d2179fbb0c1a1 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -2633,10 +2633,15 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2641,10 +2641,15 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@Override
public void handleContainerClose(ServerboundContainerClosePacket packet) {
@@ -165,10 +165,10 @@ index 6d4e0a90c70f7a66450cbb18ebec1d7bf9200af2..5ff159be1a6dfb4b1a5b9aa1e435d294
@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 e7477aaad01c26e56e3d5e90bd403311deae8d59..ad75996926b7e054f1053d07fb978ac745f22ce6 100644
+index b295c2cb3758f653b28120291b2f6c08ad2e4acf..dc0a04f68482a5101acd19bfc61a64aea689b773 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1286,7 +1286,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1290,7 +1290,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
// Close any foreign inventory
if (this.getHandle().containerMenu != this.getHandle().inventoryMenu) {
diff --git a/patches/server/0221-Break-up-and-make-tab-spam-limits-configurable.patch b/patches/server/0221-Break-up-and-make-tab-spam-limits-configurable.patch
index 25b1469681..ceaa06bf27 100644
--- a/patches/server/0221-Break-up-and-make-tab-spam-limits-configurable.patch
+++ b/patches/server/0221-Break-up-and-make-tab-spam-limits-configurable.patch
@@ -22,10 +22,10 @@ to take the burden of this into their own hand without having to rely on
plugins doing unsafe things.
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 9033c0e720a432d9abffdd7aebee2d26e595ee93..c20ae23e4ca340cd5ec093578f88d16529c3523a 100644
+index 5f514f87b171c5c845d5d7714d2d2179fbb0c1a1..4f6985d4458cfba8fd8323d06363763871da2fa0 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -272,6 +272,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -274,6 +274,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
private int tickCount;
private int ackBlockChangesUpTo = -1;
private final TickThrottler chatSpamThrottler = new TickThrottler(20, 200);
@@ -33,7 +33,7 @@ index 9033c0e720a432d9abffdd7aebee2d26e595ee93..c20ae23e4ca340cd5ec093578f88d165
private final TickThrottler dropSpamThrottler = new TickThrottler(20, 1480);
private double firstGoodX;
private double firstGoodY;
-@@ -387,6 +388,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -389,6 +390,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.keepConnectionAlive();
this.chatSpamThrottler.tick();
@@ -41,7 +41,7 @@ index 9033c0e720a432d9abffdd7aebee2d26e595ee93..c20ae23e4ca340cd5ec093578f88d165
this.dropSpamThrottler.tick();
if (this.player.getLastActionTime() > 0L && this.server.getPlayerIdleTimeout() > 0 && Util.getMillis() - this.player.getLastActionTime() > (long) this.server.getPlayerIdleTimeout() * 1000L * 60L) {
this.player.resetLastActionTime(); // CraftBukkit - SPIGOT-854
-@@ -722,7 +724,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -730,7 +732,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
public void handleCustomCommandSuggestions(ServerboundCommandSuggestionPacket packet) {
// PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); // Paper - AsyncTabCompleteEvent; run this async
// CraftBukkit start
diff --git a/patches/server/0240-Expose-attack-cooldown-methods-for-Player.patch b/patches/server/0240-Expose-attack-cooldown-methods-for-Player.patch
index 889ae1c623..9e8e772688 100644
--- a/patches/server/0240-Expose-attack-cooldown-methods-for-Player.patch
+++ b/patches/server/0240-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 ad75996926b7e054f1053d07fb978ac745f22ce6..535e0438b02fd7c10aee0d24786a6e38c6e48359 100644
+index dc0a04f68482a5101acd19bfc61a64aea689b773..e3048a5ce7528c056a90a3bc75cea25d832c1d8c 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2993,6 +2993,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -3007,6 +3007,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.adventure$pointers;
}
diff --git a/patches/server/0241-Improve-death-events.patch b/patches/server/0241-Improve-death-events.patch
index d6a1886270..c2ce8d6f23 100644
--- a/patches/server/0241-Improve-death-events.patch
+++ b/patches/server/0241-Improve-death-events.patch
@@ -420,10 +420,10 @@ index 2caba38a50b7ea535337a3540aa5272d4a9f1878..e20565cf256aacd012a1722c5ebbf901
// CraftBukkit end
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 535e0438b02fd7c10aee0d24786a6e38c6e48359..c132b4d4d871eaeadec78921a99ba7066c59ddda 100644
+index e3048a5ce7528c056a90a3bc75cea25d832c1d8c..d7db67d8bf1f8c9f94547d43e8291e13c9ba34ac 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2530,7 +2530,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2544,7 +2544,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void sendHealthUpdate() {
FoodData foodData = this.getHandle().getFoodData();
diff --git a/patches/server/0257-Add-option-to-prevent-players-from-moving-into-unloa.patch b/patches/server/0257-Add-option-to-prevent-players-from-moving-into-unloa.patch
index 15dac08b66..33cebcaddb 100644
--- a/patches/server/0257-Add-option-to-prevent-players-from-moving-into-unloa.patch
+++ b/patches/server/0257-Add-option-to-prevent-players-from-moving-into-unloa.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Add option to prevent players from moving into unloaded
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index c20ae23e4ca340cd5ec093578f88d16529c3523a..ff378b29a2dfec293f7a926d1e8383627795303a 100644
+index 4f6985d4458cfba8fd8323d06363763871da2fa0..b15cd1b5b4e4e20a70099acd351e3ac1025a6f31 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -490,9 +490,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -498,9 +498,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
double d0 = entity.getX();
double d1 = entity.getY();
double d2 = entity.getZ();
@@ -22,7 +22,7 @@ index c20ae23e4ca340cd5ec093578f88d16529c3523a..ff378b29a2dfec293f7a926d1e838362
float f = Mth.wrapDegrees(packet.getYRot());
float f1 = Mth.wrapDegrees(packet.getXRot());
double d6 = d3 - this.vehicleFirstGoodX;
-@@ -526,6 +526,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -534,6 +534,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
speed *= 2f; // TODO: Get the speed of the vehicle instead of the player
@@ -39,7 +39,7 @@ index c20ae23e4ca340cd5ec093578f88d16529c3523a..ff378b29a2dfec293f7a926d1e838362
if (d10 - d9 > Math.max(100.0D, Math.pow((double) (org.spigotmc.SpigotConfig.movedTooQuicklyMultiplier * (float) i * speed), 2)) && !this.isSingleplayerOwner()) {
// CraftBukkit end
ServerGamePacketListenerImpl.LOGGER.warn("{} (vehicle of {}) moved too quickly! {},{},{}", new Object[]{entity.getName().getString(), this.player.getName().getString(), d6, d7, d8});
-@@ -1159,9 +1169,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1167,9 +1177,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
if (!this.updateAwaitingTeleport()) {
@@ -52,7 +52,7 @@ index c20ae23e4ca340cd5ec093578f88d16529c3523a..ff378b29a2dfec293f7a926d1e838362
float f = Mth.wrapDegrees(packet.getYRot(this.player.getYRot()));
float f1 = Mth.wrapDegrees(packet.getXRot(this.player.getXRot()));
-@@ -1219,6 +1229,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1227,6 +1237,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
} else {
speed = this.player.getAbilities().walkingSpeed * 10f;
}
diff --git a/patches/server/0264-Don-t-allow-digging-into-unloaded-chunks.patch b/patches/server/0264-Don-t-allow-digging-into-unloaded-chunks.patch
index 1ec1ba0901..ccd3f8c7b2 100644
--- a/patches/server/0264-Don-t-allow-digging-into-unloaded-chunks.patch
+++ b/patches/server/0264-Don-t-allow-digging-into-unloaded-chunks.patch
@@ -59,10 +59,10 @@ index 4c8189a2a7edea824545a24dccb376b8eceac001..4623c8acd125dff4919c4e2045b84831
this.level.destroyBlockProgress(this.player.getId(), pos, -1);
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index ff378b29a2dfec293f7a926d1e8383627795303a..3f9025405e90ebcbab5ce4c1edef55fe74e529c6 100644
+index b15cd1b5b4e4e20a70099acd351e3ac1025a6f31..7edc3590c43ba51a4b3ec7e089d32f7dfab411dd 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -1598,6 +1598,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1606,6 +1606,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
case START_DESTROY_BLOCK:
case ABORT_DESTROY_BLOCK:
case STOP_DESTROY_BLOCK:
diff --git a/patches/server/0268-Book-size-limits.patch b/patches/server/0268-Book-size-limits.patch
index 9f54605774..92491902e4 100644
--- a/patches/server/0268-Book-size-limits.patch
+++ b/patches/server/0268-Book-size-limits.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Book size limits
Puts some limits on the size of books.
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 3f9025405e90ebcbab5ce4c1edef55fe74e529c6..c234ee2b72249accbaee4f8005fa4c2f1be0fdc8 100644
+index 7edc3590c43ba51a4b3ec7e089d32f7dfab411dd..2c0ebe9f37233877d6507e05bf1db0b5c01f6c35 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -1048,6 +1048,44 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1056,6 +1056,44 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@Override
public void handleEditBook(ServerboundEditBookPacket packet) {
diff --git a/patches/server/0270-Replace-OfflinePlayer-getLastPlayed.patch b/patches/server/0270-Replace-OfflinePlayer-getLastPlayed.patch
index 5b71e0546e..ac848098b4 100644
--- a/patches/server/0270-Replace-OfflinePlayer-getLastPlayed.patch
+++ b/patches/server/0270-Replace-OfflinePlayer-getLastPlayed.patch
@@ -106,10 +106,10 @@ index f6b2ca92fd3510a76cbf56d0ea55aa6caaf12ba1..e0d342a0ddd140b342f7af138c71596c
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 c132b4d4d871eaeadec78921a99ba7066c59ddda..da5fbeaea4bbb4fd3cac2eb4ff31bd3849754280 100644
+index d7db67d8bf1f8c9f94547d43e8291e13c9ba34ac..5e14d93fe151847969d8c4ca9e1aa960aad39dcc 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -211,6 +211,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -215,6 +215,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
private BorderChangeListener clientWorldBorderListener = this.createWorldBorderListener();
public org.bukkit.event.player.PlayerResourcePackStatusEvent.Status resourcePackStatus; // Paper - more resource pack API
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 c132b4d4d871eaeadec78921a99ba7066c59ddda..da5fbeaea4bbb4fd3cac2eb4ff31bd38
public CraftPlayer(CraftServer server, ServerPlayer entity) {
super(server, entity);
-@@ -2062,6 +2063,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2076,6 +2077,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.firstPlayed = firstPlayed;
}
@@ -136,7 +136,7 @@ index c132b4d4d871eaeadec78921a99ba7066c59ddda..da5fbeaea4bbb4fd3cac2eb4ff31bd38
public void readExtraData(CompoundTag nbttagcompound) {
this.hasPlayedBefore = true;
if (nbttagcompound.contains("bukkit")) {
-@@ -2084,6 +2097,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2098,6 +2111,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
public void setExtraData(CompoundTag nbttagcompound) {
@@ -145,7 +145,7 @@ index c132b4d4d871eaeadec78921a99ba7066c59ddda..da5fbeaea4bbb4fd3cac2eb4ff31bd38
if (!nbttagcompound.contains("bukkit")) {
nbttagcompound.put("bukkit", new CompoundTag());
}
-@@ -2098,6 +2113,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2112,6 +2127,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/0272-Dont-block-Player-remove-if-the-handle-is-a-custom-p.patch b/patches/server/0272-Dont-block-Player-remove-if-the-handle-is-a-custom-p.patch
index 2f17f2f3ab..52e9b55fd2 100644
--- a/patches/server/0272-Dont-block-Player-remove-if-the-handle-is-a-custom-p.patch
+++ b/patches/server/0272-Dont-block-Player-remove-if-the-handle-is-a-custom-p.patch
@@ -8,10 +8,10 @@ We just add a check to ensure that the CraftPlayer's handle
is a ServerPlayer
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index da5fbeaea4bbb4fd3cac2eb4ff31bd3849754280..df99bc022b25e61dc8827c67fb4eb2909bba097f 100644
+index 5e14d93fe151847969d8c4ca9e1aa960aad39dcc..d4b6a3c2bb63022c00f5d847a1e406ed4efd98c6 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -225,8 +225,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -229,8 +229,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void remove() {
diff --git a/patches/server/0275-Brigadier-Mojang-API.patch b/patches/server/0275-Brigadier-Mojang-API.patch
index 080f3c0fe5..2c5c3190ef 100644
--- a/patches/server/0275-Brigadier-Mojang-API.patch
+++ b/patches/server/0275-Brigadier-Mojang-API.patch
@@ -119,10 +119,10 @@ index e812cc865baaa1ee03872f7969ee98600b82483b..c847fbdb6f52386570eb4c070fcc01d3
if (commandnode2.canUse(source)) {
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index c234ee2b72249accbaee4f8005fa4c2f1be0fdc8..77e111973ae33389315af72eb950b6f9d9abee12 100644
+index 2c0ebe9f37233877d6507e05bf1db0b5c01f6c35..4592ac291b6a80785157b7909ad8e249f06e25f5 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -772,19 +772,34 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -780,19 +780,34 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
builder.suggest(completion.suggestion(), PaperAdventure.asVanilla(completion.tooltip()));
}
}
diff --git a/patches/server/0276-Limit-Client-Sign-length-more.patch b/patches/server/0276-Limit-Client-Sign-length-more.patch
index 0cbe0df00c..c6ce69862e 100644
--- a/patches/server/0276-Limit-Client-Sign-length-more.patch
+++ b/patches/server/0276-Limit-Client-Sign-length-more.patch
@@ -22,10 +22,10 @@ it only impacts data sent from the client.
Set -DPaper.maxSignLength=XX to change limit or -1 to disable
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 77e111973ae33389315af72eb950b6f9d9abee12..fd5ad700154a7b75f2ecff6a8d47f6d75ac789e4 100644
+index 4592ac291b6a80785157b7909ad8e249f06e25f5..df2718d7e7dd7969f49b3467347fa2adcf60132a 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -306,6 +306,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -308,6 +308,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
private final MessageSignatureCache messageSignatureCache = MessageSignatureCache.createDefault();
private final FutureChain chatMessageChain;
private boolean waitingForSwitchToConfig;
@@ -33,7 +33,7 @@ index 77e111973ae33389315af72eb950b6f9d9abee12..fd5ad700154a7b75f2ecff6a8d47f6d7
public ServerGamePacketListenerImpl(MinecraftServer server, Connection connection, ServerPlayer player, CommonListenerCookie clientData) {
super(server, connection, clientData, player); // CraftBukkit
-@@ -3196,7 +3197,19 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -3204,7 +3205,19 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@Override
public void handleSignUpdate(ServerboundSignUpdatePacket packet) {
diff --git a/patches/server/0324-Add-Raw-Byte-ItemStack-Serialization.patch b/patches/server/0324-Add-Raw-Byte-ItemStack-Serialization.patch
index d918d6fca7..62d4045771 100644
--- a/patches/server/0324-Add-Raw-Byte-ItemStack-Serialization.patch
+++ b/patches/server/0324-Add-Raw-Byte-ItemStack-Serialization.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Add Raw Byte ItemStack Serialization
Serializes using NBT which is safer for server data migrations than bukkits format.
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index d5038fb8720bfe39ffaf3fdea072c01487d315f9..180259d1e5401777e121a8c1ec95034afbc0917b 100644
+index d22eb174d9c0cc5dd6418c478470c616b75801b2..f78459e65fd27a5fd9839d2ad1c95758c8d95489 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -464,6 +464,53 @@ public final class CraftMagicNumbers implements UnsafeValues {
diff --git a/patches/server/0337-Implement-Player-Client-Options-API.patch b/patches/server/0337-Implement-Player-Client-Options-API.patch
index 943a64b447..6bd62a8882 100644
--- a/patches/server/0337-Implement-Player-Client-Options-API.patch
+++ b/patches/server/0337-Implement-Player-Client-Options-API.patch
@@ -136,10 +136,10 @@ index 363175d3325c012f31ba84060bb0bfac694f6ab8..9911e231ad021286f2da90057b06874f
this.adventure$locale = java.util.Objects.requireNonNullElse(net.kyori.adventure.translation.Translator.parseLocale(this.language), java.util.Locale.US); // Paper
this.requestedViewDistance = clientOptions.viewDistance();
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index df99bc022b25e61dc8827c67fb4eb2909bba097f..f836a65db1028b51ebd425251ca37e0c439d4ad6 100644
+index d4b6a3c2bb63022c00f5d847a1e406ed4efd98c6..077d47858ac87f732d8ff0d22191b35bc2a58c42 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -666,6 +666,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -670,6 +670,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
connection.disconnect(message == null ? net.kyori.adventure.text.Component.empty() : message);
}
}
diff --git a/patches/server/0346-Validate-PickItem-Packet-and-kick-for-invalid.patch b/patches/server/0346-Validate-PickItem-Packet-and-kick-for-invalid.patch
index 324c88b698..cc98d91687 100644
--- a/patches/server/0346-Validate-PickItem-Packet-and-kick-for-invalid.patch
+++ b/patches/server/0346-Validate-PickItem-Packet-and-kick-for-invalid.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Validate PickItem Packet and kick for invalid
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index fd5ad700154a7b75f2ecff6a8d47f6d75ac789e4..7d3a64ad036470e9cd540131c2c3a58d871bc392 100644
+index df2718d7e7dd7969f49b3467347fa2adcf60132a..1b82e733c107540618cb1f69511ea9e1a4a13fc8 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -898,7 +898,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -906,7 +906,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@Override
public void handlePickItem(ServerboundPickItemPacket packet) {
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
diff --git a/patches/server/0349-Prevent-teleporting-dead-entities.patch b/patches/server/0349-Prevent-teleporting-dead-entities.patch
index 8016bc2454..ee1f3e1a97 100644
--- a/patches/server/0349-Prevent-teleporting-dead-entities.patch
+++ b/patches/server/0349-Prevent-teleporting-dead-entities.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Prevent teleporting dead entities
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 7d3a64ad036470e9cd540131c2c3a58d871bc392..452fdd64669765d5dc73faa90d94bf474cbe1a07 100644
+index 1b82e733c107540618cb1f69511ea9e1a4a13fc8..9286012c7a07e1a621035b0563cb06a3421ea945 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -1563,6 +1563,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1571,6 +1571,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
public void internalTeleport(PositionMoveRotation positionmoverotation, Set<Relative> set) {
diff --git a/patches/server/0364-Prevent-position-desync-causing-tp-exploit.patch b/patches/server/0364-Prevent-position-desync-causing-tp-exploit.patch
index 9acb04239e..ebbd08637a 100644
--- a/patches/server/0364-Prevent-position-desync-causing-tp-exploit.patch
+++ b/patches/server/0364-Prevent-position-desync-causing-tp-exploit.patch
@@ -13,10 +13,10 @@ behaviour, we need to move all of this dangerous logic outside
of the move call and into an appropriate place in the tick method.
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 452fdd64669765d5dc73faa90d94bf474cbe1a07..4ac071f31583cd7fa0d80d8bbaddd3f5de8d648c 100644
+index 9286012c7a07e1a621035b0563cb06a3421ea945..f4f2b6733780312c289af96ec8ffe1fbf732651e 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -1351,6 +1351,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1359,6 +1359,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.player.move(MoverType.PLAYER, new Vec3(d6, d7, d8));
this.player.onGround = packet.isOnGround(); // CraftBukkit - SPIGOT-5810, SPIGOT-5835, SPIGOT-6828: reset by this.player.move
diff --git a/patches/server/0366-Add-PlayerRecipeBookClickEvent.patch b/patches/server/0366-Add-PlayerRecipeBookClickEvent.patch
index e6174267bc..504a8bac86 100644
--- a/patches/server/0366-Add-PlayerRecipeBookClickEvent.patch
+++ b/patches/server/0366-Add-PlayerRecipeBookClickEvent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add PlayerRecipeBookClickEvent
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 4ac071f31583cd7fa0d80d8bbaddd3f5de8d648c..b180bc19f4a8fa413a84429895bcd5d0f6a30a43 100644
+index f4f2b6733780312c289af96ec8ffe1fbf732651e..09b478545ab5eed86dda17c5c74c585c7d3e6df8 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -199,6 +199,7 @@ import net.minecraft.world.phys.Vec3;
@@ -16,7 +16,7 @@ index 4ac071f31583cd7fa0d80d8bbaddd3f5de8d648c..b180bc19f4a8fa413a84429895bcd5d0
import org.slf4j.Logger;
// CraftBukkit start
-@@ -3085,21 +3086,41 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -3093,21 +3094,41 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
ServerGamePacketListenerImpl.LOGGER.debug("Player {} tried to place impossible recipe {}", this.player, recipeholder.id().location());
return;
}
diff --git a/patches/server/0368-Add-permission-for-command-blocks.patch b/patches/server/0368-Add-permission-for-command-blocks.patch
index f7d0a92c42..f971d5b25a 100644
--- a/patches/server/0368-Add-permission-for-command-blocks.patch
+++ b/patches/server/0368-Add-permission-for-command-blocks.patch
@@ -18,10 +18,10 @@ index 4623c8acd125dff4919c4e2045b848310d785da5..86e4559da2344f228ef4d1c4ac3c115f
return false;
} else if (this.player.blockActionRestricted(this.level, pos, this.gameModeForPlayer)) {
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index b180bc19f4a8fa413a84429895bcd5d0f6a30a43..ac073dab2d2552f9bb0394379a237a4dc37c8fb2 100644
+index 09b478545ab5eed86dda17c5c74c585c7d3e6df8..acf13898f316c0ddf3c31c0ac716322c23234318 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -810,7 +810,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -818,7 +818,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
if (!this.server.isCommandBlockEnabled()) {
this.player.sendSystemMessage(Component.translatable("advMode.notEnabled"));
@@ -30,7 +30,7 @@ index b180bc19f4a8fa413a84429895bcd5d0f6a30a43..ac073dab2d2552f9bb0394379a237a4d
this.player.sendSystemMessage(Component.translatable("advMode.notAllowed"));
} else {
BaseCommandBlock commandblocklistenerabstract = null;
-@@ -877,7 +877,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -885,7 +885,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
if (!this.server.isCommandBlockEnabled()) {
this.player.sendSystemMessage(Component.translatable("advMode.notEnabled"));
diff --git a/patches/server/0370-Fix-Per-World-Difficulty-Remembering-Difficulty.patch b/patches/server/0370-Fix-Per-World-Difficulty-Remembering-Difficulty.patch
index b0483140f3..3be0b64188 100644
--- a/patches/server/0370-Fix-Per-World-Difficulty-Remembering-Difficulty.patch
+++ b/patches/server/0370-Fix-Per-World-Difficulty-Remembering-Difficulty.patch
@@ -76,10 +76,10 @@ index 82d5f1235d158326ce6fb1eb6d481c00f57467d3..20a3138c6c2a6c8ada8b6008913abae0
@Override
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index ac073dab2d2552f9bb0394379a237a4dc37c8fb2..7865ff33b0163460a9ffdb7ed4bb3970b5674344 100644
+index acf13898f316c0ddf3c31c0ac716322c23234318..fa25c989433379b3be384f08b7e3cf47a8eac9b7 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -3303,7 +3303,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -3311,7 +3311,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
public void handleChangeDifficulty(ServerboundChangeDifficultyPacket packet) {
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
if (this.player.hasPermissions(2) || this.isSingleplayerOwner()) {
diff --git a/patches/server/0376-Do-not-accept-invalid-client-settings.patch b/patches/server/0376-Do-not-accept-invalid-client-settings.patch
index 590c7811c8..b3c22c0c65 100644
--- a/patches/server/0376-Do-not-accept-invalid-client-settings.patch
+++ b/patches/server/0376-Do-not-accept-invalid-client-settings.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Do not accept invalid client settings
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 7865ff33b0163460a9ffdb7ed4bb3970b5674344..f146787c935287eb5cc545643036eeb2a2d7dc9b 100644
+index fa25c989433379b3be384f08b7e3cf47a8eac9b7..49039d929681891beb76b8c7f6e6d8bb614a7bf0 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -3295,6 +3295,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -3303,6 +3303,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@Override
public void handleClientInformation(ServerboundClientInformationPacket packet) {
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
diff --git a/patches/server/0389-Brand-support.patch b/patches/server/0389-Brand-support.patch
index 7404740417..226edc4d04 100644
--- a/patches/server/0389-Brand-support.patch
+++ b/patches/server/0389-Brand-support.patch
@@ -57,10 +57,10 @@ index b9fbaddcc8239bf737fdea51790f678306e511eb..9a8b08d4b70b8890961e4af7ce6e870a
} catch (Exception ex) {
ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t dispatch custom payload", ex);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index f836a65db1028b51ebd425251ca37e0c439d4ad6..eb2954c9b51d4fd76cf5aec17899218f4de7076d 100644
+index 077d47858ac87f732d8ff0d22191b35bc2a58c42..9042bbcfb161d91b1e2c4d6e0461f141fa41872e 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -3152,6 +3152,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -3166,6 +3166,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
// Paper end
};
diff --git a/patches/server/0393-Add-moon-phase-API.patch b/patches/server/0393-Add-moon-phase-API.patch
index be42d9302b..2fcd34c334 100644
--- a/patches/server/0393-Add-moon-phase-API.patch
+++ b/patches/server/0393-Add-moon-phase-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add moon phase API
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
-index 2b5e8d01a31de154faa18c55cdddd3bd7f462891..93dadbf659e41c923268d8ec782fcbdc8aaeff68 100644
+index 92a0c2049fa1df76cedfe7dfbd6e5fe402859f4b..15da29058f80a2d7cf2be26c48421c1746815a10 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
-@@ -509,4 +509,11 @@ public abstract class CraftRegionAccessor implements RegionAccessor {
+@@ -515,4 +515,11 @@ public abstract class CraftRegionAccessor implements RegionAccessor {
throw new IllegalArgumentException("Cannot spawn an entity for " + clazz.getName());
}
diff --git a/patches/server/0404-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch b/patches/server/0404-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch
index 2cb92d0cf8..a05ecacdce 100644
--- a/patches/server/0404-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch
+++ b/patches/server/0404-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch
@@ -9,10 +9,10 @@ as this is how Vanilla teleports entities.
Cancel any pending motion when teleported.
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index f146787c935287eb5cc545643036eeb2a2d7dc9b..c430434485baa7fc5a213efd9523cee8c2c46b44 100644
+index 49039d929681891beb76b8c7f6e6d8bb614a7bf0..b634a90e87f52c79b74c256c13b659b51556f7fe 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -677,7 +677,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -685,7 +685,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
return;
}
diff --git a/patches/server/0408-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch b/patches/server/0408-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch
index a9c355af59..2b99da73b9 100644
--- a/patches/server/0408-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch
+++ b/patches/server/0408-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch
@@ -21,7 +21,7 @@ index f8fd729d53248c7598a118d89fedf340f82cdd61..ac1b2b3982e5ceb8fecf20867dd2ac6e
+ // Paper end - Expose entity id counter
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 180259d1e5401777e121a8c1ec95034afbc0917b..3448ada171a9fb8c8294b0ba93eb2c846788a679 100644
+index f78459e65fd27a5fd9839d2ad1c95758c8d95489..249c0f717a80b9ca8e200ebdbf72a0dc4c3730cc 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -511,6 +511,11 @@ public final class CraftMagicNumbers implements UnsafeValues {
diff --git a/patches/server/0414-Fix-for-large-move-vectors-crashing-server.patch b/patches/server/0414-Fix-for-large-move-vectors-crashing-server.patch
index 241260a915..7e52db071f 100644
--- a/patches/server/0414-Fix-for-large-move-vectors-crashing-server.patch
+++ b/patches/server/0414-Fix-for-large-move-vectors-crashing-server.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Fix for large move vectors crashing server
Check movement distance also based on current position.
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index c430434485baa7fc5a213efd9523cee8c2c46b44..e3e43c361d8612dbc79fe88730a3794eb44d85e4 100644
+index b634a90e87f52c79b74c256c13b659b51556f7fe..a45078fc6a63742682040518e419fe0e2f704065 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -489,9 +489,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -497,9 +497,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
float prevYaw = this.player.getYRot();
float prevPitch = this.player.getXRot();
// CraftBukkit end
@@ -22,7 +22,7 @@ index c430434485baa7fc5a213efd9523cee8c2c46b44..e3e43c361d8612dbc79fe88730a3794e
double d3 = ServerGamePacketListenerImpl.clampHorizontal(packet.getX()); final double toX = d3; // Paper - OBFHELPER
double d4 = ServerGamePacketListenerImpl.clampVertical(packet.getY()); final double toY = d4; // Paper - OBFHELPER
double d5 = ServerGamePacketListenerImpl.clampHorizontal(packet.getZ()); final double toZ = d5; // Paper - OBFHELPER
-@@ -501,7 +501,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -509,7 +509,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
double d7 = d4 - this.vehicleFirstGoodY;
double d8 = d5 - this.vehicleFirstGoodZ;
double d9 = entity.getDeltaMovement().lengthSqr();
@@ -40,7 +40,7 @@ index c430434485baa7fc5a213efd9523cee8c2c46b44..e3e43c361d8612dbc79fe88730a3794e
// CraftBukkit start - handle custom speeds and skipped ticks
this.allowedPlayerTicks += (System.currentTimeMillis() / 50) - this.lastTick;
-@@ -547,9 +556,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -555,9 +564,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
boolean flag = worldserver.noCollision(entity, entity.getBoundingBox().deflate(0.0625D));
@@ -53,7 +53,7 @@ index c430434485baa7fc5a213efd9523cee8c2c46b44..e3e43c361d8612dbc79fe88730a3794e
boolean flag1 = entity.verticalCollisionBelow;
if (entity instanceof LivingEntity) {
-@@ -1256,7 +1265,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1264,7 +1273,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
double d7 = d1 - this.firstGoodY;
double d8 = d2 - this.firstGoodZ;
double d9 = this.player.getDeltaMovement().lengthSqr();
@@ -71,7 +71,7 @@ index c430434485baa7fc5a213efd9523cee8c2c46b44..e3e43c361d8612dbc79fe88730a3794e
if (this.player.isSleeping()) {
if (d10 > 1.0D) {
-@@ -1312,9 +1330,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1320,9 +1338,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
AABB axisalignedbb = this.player.getBoundingBox();
diff --git a/patches/server/0424-Fix-client-lag-on-advancement-loading.patch b/patches/server/0424-Fix-client-lag-on-advancement-loading.patch
index e62e28f8d5..ecae324f16 100644
--- a/patches/server/0424-Fix-client-lag-on-advancement-loading.patch
+++ b/patches/server/0424-Fix-client-lag-on-advancement-loading.patch
@@ -15,7 +15,7 @@ manually reload the advancement data for all players, which
normally takes place as a part of the datapack reloading.
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 3448ada171a9fb8c8294b0ba93eb2c846788a679..ea9c9ae832c4044a2eccbf901e20ff042df68bf3 100644
+index 249c0f717a80b9ca8e200ebdbf72a0dc4c3730cc..6e8351363af9aea752286311074d53f245196e8d 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -323,7 +323,13 @@ public final class CraftMagicNumbers implements UnsafeValues {
diff --git a/patches/server/0430-Fix-Player-spawnParticle-x-y-z-precision-loss.patch b/patches/server/0430-Fix-Player-spawnParticle-x-y-z-precision-loss.patch
index 185bc677ac..535ffd4869 100644
--- a/patches/server/0430-Fix-Player-spawnParticle-x-y-z-precision-loss.patch
+++ b/patches/server/0430-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 eb2954c9b51d4fd76cf5aec17899218f4de7076d..786b8c10a647d777b951b760e4c51eef057b2edd 100644
+index 9042bbcfb161d91b1e2c4d6e0461f141fa41872e..8d9c2c58f7216e1ae7dc382732bd6920c7c72e5c 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2720,7 +2720,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2734,7 +2734,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public <T> void spawnParticle(Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, T data, boolean force) {
diff --git a/patches/server/0438-Limit-recipe-packets.patch b/patches/server/0438-Limit-recipe-packets.patch
index 5ce5387ca5..d227002698 100644
--- a/patches/server/0438-Limit-recipe-packets.patch
+++ b/patches/server/0438-Limit-recipe-packets.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Limit recipe packets
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index e3e43c361d8612dbc79fe88730a3794eb44d85e4..b61cb778196a31df2139deb31dfd924abc6e5d1c 100644
+index a45078fc6a63742682040518e419fe0e2f704065..bca6e44c6a6584be2537d8be1279497b3394c447 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -275,6 +275,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -277,6 +277,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
private final TickThrottler chatSpamThrottler = new TickThrottler(20, 200);
private final TickThrottler tabSpamThrottler = new TickThrottler(io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.tabSpamIncrement, io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.tabSpamLimit); // Paper - configurable tab spam limits
private final TickThrottler dropSpamThrottler = new TickThrottler(20, 1480);
@@ -16,7 +16,7 @@ index e3e43c361d8612dbc79fe88730a3794eb44d85e4..b61cb778196a31df2139deb31dfd924a
private double firstGoodX;
private double firstGoodY;
private double firstGoodZ;
-@@ -391,6 +392,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -393,6 +394,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.keepConnectionAlive();
this.chatSpamThrottler.tick();
this.tabSpamThrottler.tick(); // Paper - configurable tab spam limits
@@ -24,7 +24,7 @@ index e3e43c361d8612dbc79fe88730a3794eb44d85e4..b61cb778196a31df2139deb31dfd924a
this.dropSpamThrottler.tick();
if (this.player.getLastActionTime() > 0L && this.server.getPlayerIdleTimeout() > 0 && Util.getMillis() - this.player.getLastActionTime() > (long) this.server.getPlayerIdleTimeout() * 1000L * 60L) {
this.player.resetLastActionTime(); // CraftBukkit - SPIGOT-854
-@@ -3083,6 +3085,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -3091,6 +3093,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@Override
public void handlePlaceRecipe(ServerboundPlaceRecipePacket packet) {
diff --git a/patches/server/0452-Fix-interact-event-not-being-called-sometimes.patch b/patches/server/0452-Fix-interact-event-not-being-called-sometimes.patch
index 9aa0d988fa..aba682dc6c 100644
--- a/patches/server/0452-Fix-interact-event-not-being-called-sometimes.patch
+++ b/patches/server/0452-Fix-interact-event-not-being-called-sometimes.patch
@@ -11,10 +11,10 @@ Subject: [PATCH] Fix interact event not being called sometimes
Co-authored-by: Moulberry <[email protected]>
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index b61cb778196a31df2139deb31dfd924abc6e5d1c..0c413f4981038c5c3f12ba17309ce354c3f13ec6 100644
+index bca6e44c6a6584be2537d8be1279497b3394c447..0254ca5ed57de292ecd17900bb4f3d2874e12556 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -1777,7 +1777,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1785,7 +1785,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
} else if (enuminteractionresult instanceof InteractionResult.Success) {
InteractionResult.Success enuminteractionresult_d = (InteractionResult.Success) enuminteractionresult;
@@ -23,7 +23,7 @@ index b61cb778196a31df2139deb31dfd924abc6e5d1c..0c413f4981038c5c3f12ba17309ce354
this.player.swing(enumhand, true);
}
}
-@@ -2401,13 +2401,20 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2409,13 +2409,20 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
double d3 = Math.max(this.player.blockInteractionRange(), this.player.entityInteractionRange());
// SPIGOT-5607: Only call interact event if no block or entity is being clicked. Use bukkit ray trace method, because it handles blocks and entities at the same time
// SPIGOT-7429: Make sure to call PlayerInteractEvent for spectators and non-pickable entities
diff --git a/patches/server/0466-Add-sendOpLevel-API.patch b/patches/server/0466-Add-sendOpLevel-API.patch
index e37d133769..e10d6a9c4f 100644
--- a/patches/server/0466-Add-sendOpLevel-API.patch
+++ b/patches/server/0466-Add-sendOpLevel-API.patch
@@ -32,10 +32,10 @@ index 70b7871091ab9b64d2a5503620a71c3d5585c25d..7676dbe55b4bf6e0472dc0190c01e6ec
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 786b8c10a647d777b951b760e4c51eef057b2edd..678099cdcf418b9e3eafed965384e6dcdd9404e3 100644
+index 8d9c2c58f7216e1ae7dc382732bd6920c7c72e5c..680909750f9db56d3cc062b63913e3bd9f69d8a5 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -690,6 +690,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -694,6 +694,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
// Paper end
diff --git a/patches/server/0495-Allow-using-signs-inside-spawn-protection.patch b/patches/server/0495-Allow-using-signs-inside-spawn-protection.patch
index 84ca07a4a1..09955d8b69 100644
--- a/patches/server/0495-Allow-using-signs-inside-spawn-protection.patch
+++ b/patches/server/0495-Allow-using-signs-inside-spawn-protection.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Allow using signs inside spawn protection
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 0c413f4981038c5c3f12ba17309ce354c3f13ec6..628260aa644539a966e4cc5acf8da34144fcabd0 100644
+index 0254ca5ed57de292ecd17900bb4f3d2874e12556..d93dfaf50c48b1975d59f9aa24b895f151d2e1b1 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -1762,7 +1762,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1770,7 +1770,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
int i = this.player.level().getMaxY();
if (blockposition.getY() <= i) {
diff --git a/patches/server/0496-Expand-world-key-API.patch b/patches/server/0496-Expand-world-key-API.patch
index beef586467..da317765ce 100644
--- a/patches/server/0496-Expand-world-key-API.patch
+++ b/patches/server/0496-Expand-world-key-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Expand world key API
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
-index 93dadbf659e41c923268d8ec782fcbdc8aaeff68..21e5dd6624e50dec35859b7d1be4a304e4427883 100644
+index 15da29058f80a2d7cf2be26c48421c1746815a10..a070b2a83edaa702b13bc6d3026914126c211576 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
-@@ -515,5 +515,10 @@ public abstract class CraftRegionAccessor implements RegionAccessor {
+@@ -521,5 +521,10 @@ public abstract class CraftRegionAccessor implements RegionAccessor {
public io.papermc.paper.world.MoonPhase getMoonPhase() {
return io.papermc.paper.world.MoonPhase.getPhase(this.getHandle().dayTime() / 24000L);
}
@@ -67,7 +67,7 @@ index ee231d93d216571a45b11b49663b2ea91c47a1c7..dc20a383950a72aba5d056912d257912
// Check if a World already exists with the UID.
if (this.getWorld(world.getUID()) != null) {
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index ea9c9ae832c4044a2eccbf901e20ff042df68bf3..407fa9f1f3d418597eb490e2cf41aee39c715d3a 100644
+index 6e8351363af9aea752286311074d53f245196e8d..e53610ac0ef0c80932e6e50f0c3971938b4bcf9b 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -522,6 +522,11 @@ public final class CraftMagicNumbers implements UnsafeValues {
diff --git a/patches/server/0500-Don-t-ignore-result-of-PlayerEditBookEvent.patch b/patches/server/0500-Don-t-ignore-result-of-PlayerEditBookEvent.patch
index 1946415e72..17de34812a 100644
--- a/patches/server/0500-Don-t-ignore-result-of-PlayerEditBookEvent.patch
+++ b/patches/server/0500-Don-t-ignore-result-of-PlayerEditBookEvent.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Don't ignore result of PlayerEditBookEvent
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 628260aa644539a966e4cc5acf8da34144fcabd0..ed6c07cfa69788eb6adcaf8293b2ca2040f057a0 100644
+index d93dfaf50c48b1975d59f9aa24b895f151d2e1b1..c753af9216fae7aa78247f18c064aa2f0f579fcf 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -1157,7 +1157,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1165,7 +1165,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
List<Filterable<String>> list1 = pages.stream().map(this::filterableFromOutgoing).toList();
itemstack.set(DataComponents.WRITABLE_BOOK_CONTENT, new WritableBookContent(list1));
diff --git a/patches/server/0501-Expose-protocol-version.patch b/patches/server/0501-Expose-protocol-version.patch
index 1cc14ceba2..2dcd012c6c 100644
--- a/patches/server/0501-Expose-protocol-version.patch
+++ b/patches/server/0501-Expose-protocol-version.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Expose protocol version
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 407fa9f1f3d418597eb490e2cf41aee39c715d3a..2f7cb2bd5998204d61c9d758224b3a2e3351de48 100644
+index e53610ac0ef0c80932e6e50f0c3971938b4bcf9b..e546cf93d79b109d50840ebf1fb133ad3c9331d3 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -527,6 +527,11 @@ public final class CraftMagicNumbers implements UnsafeValues {
diff --git a/patches/server/0508-add-get-set-drop-chance-to-EntityEquipment.patch b/patches/server/0508-add-get-set-drop-chance-to-EntityEquipment.patch
index 0b6de6ac3a..e794470410 100644
--- a/patches/server/0508-add-get-set-drop-chance-to-EntityEquipment.patch
+++ b/patches/server/0508-add-get-set-drop-chance-to-EntityEquipment.patch
@@ -51,7 +51,7 @@ index cb704cef3845727c465fe3ea7210a11545da56c8..fdcc414f4fa246082ad0732133c870d9
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java
-index b6dbdabcf0fbf9fae8d995fef291ae0aaaa92d2c..5e40faa88c51b0ebd76493fd1731d16ca1051f4a 100644
+index f039c5041e783ef55e19194cb7db7610429b1d96..107fa1d4bd977d17dc062da280dda46eb3c5f81c 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java
@@ -353,4 +353,15 @@ public class CraftInventoryPlayer extends CraftInventory implements org.bukkit.i
diff --git a/patches/server/0510-fix-PlayerItemHeldEvent-firing-twice.patch b/patches/server/0510-fix-PlayerItemHeldEvent-firing-twice.patch
index d089fabba8..33e91362d9 100644
--- a/patches/server/0510-fix-PlayerItemHeldEvent-firing-twice.patch
+++ b/patches/server/0510-fix-PlayerItemHeldEvent-firing-twice.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] fix PlayerItemHeldEvent firing twice
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index ed6c07cfa69788eb6adcaf8293b2ca2040f057a0..04fed7cee8ea816c194dc1d38f82c2c04d2abc23 100644
+index c753af9216fae7aa78247f18c064aa2f0f579fcf..e6a927e991779bad84a02d81010057a4e36b9c95 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -1946,6 +1946,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1954,6 +1954,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
if (this.player.isImmobile()) return; // CraftBukkit
if (packet.getSlot() >= 0 && packet.getSlot() < Inventory.getSelectionSize()) {
diff --git a/patches/server/0527-Expand-PlayerGameModeChangeEvent.patch b/patches/server/0527-Expand-PlayerGameModeChangeEvent.patch
index af1d58d2f5..c9ccc145c0 100644
--- a/patches/server/0527-Expand-PlayerGameModeChangeEvent.patch
+++ b/patches/server/0527-Expand-PlayerGameModeChangeEvent.patch
@@ -134,10 +134,10 @@ index 546be40a8e4470fb5a6686072cdd342cdaa6fe15..e000a918230187f6841b03b7b0dd7368
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 04fed7cee8ea816c194dc1d38f82c2c04d2abc23..e07f859a407bdf799bfd79f4bec3c7c4f505c4b8 100644
+index e6a927e991779bad84a02d81010057a4e36b9c95..9007a0f01b823c613c39c974d9e0f5858cd40d15 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -2746,7 +2746,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2754,7 +2754,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.player = this.server.getPlayerList().respawn(this.player, false, Entity.RemovalReason.KILLED, RespawnReason.DEATH); // CraftBukkit
this.resetPosition();
if (this.server.isHardcore()) {
@@ -147,10 +147,10 @@ index 04fed7cee8ea816c194dc1d38f82c2c04d2abc23..e07f859a407bdf799bfd79f4bec3c7c4
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 678099cdcf418b9e3eafed965384e6dcdd9404e3..b54b773a4e1472f94c5c28188f706fbeb2cfb067 100644
+index 680909750f9db56d3cc062b63913e3bd9f69d8a5..3cb6f46492a3441c09a452836d01c15d1837f6ea 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1667,7 +1667,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1681,7 +1681,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
Preconditions.checkArgument(mode != null, "GameMode cannot be null");
if (this.getHandle().connection == null) return;
diff --git a/patches/server/0528-ItemStack-repair-check-API.patch b/patches/server/0528-ItemStack-repair-check-API.patch
index 14d1154819..cd4d723393 100644
--- a/patches/server/0528-ItemStack-repair-check-API.patch
+++ b/patches/server/0528-ItemStack-repair-check-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] ItemStack repair check API
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 2f7cb2bd5998204d61c9d758224b3a2e3351de48..b791cb8c78b92163cf261a460b39b724e568013c 100644
+index e546cf93d79b109d50840ebf1fb133ad3c9331d3..1ae77ef4bd47a4aea894242cd48dbf042477da33 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -532,6 +532,14 @@ public final class CraftMagicNumbers implements UnsafeValues {
diff --git a/patches/server/0530-Move-range-check-for-block-placing-up.patch b/patches/server/0530-Move-range-check-for-block-placing-up.patch
index a6de02452f..4cedf6b84b 100644
--- a/patches/server/0530-Move-range-check-for-block-placing-up.patch
+++ b/patches/server/0530-Move-range-check-for-block-placing-up.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Move range check for block placing up
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index e07f859a407bdf799bfd79f4bec3c7c4f505c4b8..8080ef483a49bfeeaad8d69276684ee08198b1e9 100644
+index 9007a0f01b823c613c39c974d9e0f5858cd40d15..6839d13bc5cfad7c408d55e0cd477085333c7e41 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -1749,6 +1749,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1757,6 +1757,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
if (itemstack.isItemEnabled(worldserver.enabledFeatures())) {
BlockHitResult movingobjectpositionblock = packet.getHitResult();
Vec3 vec3d = movingobjectpositionblock.getLocation();
diff --git a/patches/server/0533-Add-Unix-domain-socket-support.patch b/patches/server/0533-Add-Unix-domain-socket-support.patch
index de6a5f626d..a2359131a0 100644
--- a/patches/server/0533-Add-Unix-domain-socket-support.patch
+++ b/patches/server/0533-Add-Unix-domain-socket-support.patch
@@ -87,10 +87,10 @@ index d6d7f1c446ba5507f67038ff27775ba75156f4a7..c63c194c44646e6bc1a5942655278701
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 8080ef483a49bfeeaad8d69276684ee08198b1e9..7990bd0279839558bed18a3dca7739ef74ecb74a 100644
+index 6839d13bc5cfad7c408d55e0cd477085333c7e41..674149f3a392a600a506e55f20db044619328cd2 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -2561,6 +2561,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2569,6 +2569,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
// Spigot Start
public SocketAddress getRawAddress()
{
diff --git a/patches/server/0535-Improve-item-default-attribute-API.patch b/patches/server/0535-Improve-item-default-attribute-API.patch
index 3eca60ef25..c9eb3843be 100644
--- a/patches/server/0535-Improve-item-default-attribute-API.patch
+++ b/patches/server/0535-Improve-item-default-attribute-API.patch
@@ -62,7 +62,7 @@ index 68756419ac6ee292db9569eab380a5c14d748002..6d76cc1db3ac3f1ae74c13511937fb86
return defaultAttributes.build();
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index b791cb8c78b92163cf261a460b39b724e568013c..821f9a2780dc6fa9926fadbec18b51a915767730 100644
+index 1ae77ef4bd47a4aea894242cd48dbf042477da33..0d9c90a99aa2d8fcf421680aeef4c2fd7ec0fd57 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -391,7 +391,11 @@ public final class CraftMagicNumbers implements UnsafeValues {
diff --git a/patches/server/0539-Add-PlayerKickEvent-causes.patch b/patches/server/0539-Add-PlayerKickEvent-causes.patch
index 16f523acdd..80eabf6425 100644
--- a/patches/server/0539-Add-PlayerKickEvent-causes.patch
+++ b/patches/server/0539-Add-PlayerKickEvent-causes.patch
@@ -229,10 +229,10 @@ index f8ae8c8eff73e4e87eb34d0f2635517f1688a6f1..59d20fd62e850a38380d877cef95ed69
if (this.cserver.getServer().isRunning()) {
this.cserver.getPluginManager().callEvent(event);
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 7990bd0279839558bed18a3dca7739ef74ecb74a..f4d92374f7865a39a0442d79eb5f146ed4bd2b52 100644
+index 674149f3a392a600a506e55f20db044619328cd2..0fb16f3193c88c5f58d16aaf85129bbfd01fdfcd 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -357,7 +357,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -359,7 +359,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
if (this.clientIsFloating && !this.player.isSleeping() && !this.player.isPassenger() && !this.player.isDeadOrDying()) {
if (++this.aboveGroundTickCount > this.getMaximumFlyingTicks(this.player)) {
ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked for floating too long!", this.player.getName().getString());
@@ -241,7 +241,7 @@ index 7990bd0279839558bed18a3dca7739ef74ecb74a..f4d92374f7865a39a0442d79eb5f146e
return;
}
} else {
-@@ -376,7 +376,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -378,7 +378,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
if (this.clientVehicleIsFloating && this.lastVehicle.getControllingPassenger() == this.player) {
if (++this.aboveGroundVehicleTickCount > this.getMaximumFlyingTicks(this.lastVehicle)) {
ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked for floating a vehicle too long!", this.player.getName().getString());
@@ -250,7 +250,7 @@ index 7990bd0279839558bed18a3dca7739ef74ecb74a..f4d92374f7865a39a0442d79eb5f146e
return;
}
} else {
-@@ -396,7 +396,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -398,7 +398,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.dropSpamThrottler.tick();
if (this.player.getLastActionTime() > 0L && this.server.getPlayerIdleTimeout() > 0 && Util.getMillis() - this.player.getLastActionTime() > (long) this.server.getPlayerIdleTimeout() * 1000L * 60L) {
this.player.resetLastActionTime(); // CraftBukkit - SPIGOT-854
@@ -259,7 +259,7 @@ index 7990bd0279839558bed18a3dca7739ef74ecb74a..f4d92374f7865a39a0442d79eb5f146e
}
}
-@@ -478,7 +478,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -486,7 +486,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
public void handleMoveVehicle(ServerboundMoveVehiclePacket packet) {
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
if (ServerGamePacketListenerImpl.containsInvalidValues(packet.getX(), packet.getY(), packet.getZ(), packet.getYRot(), packet.getXRot())) {
@@ -268,7 +268,7 @@ index 7990bd0279839558bed18a3dca7739ef74ecb74a..f4d92374f7865a39a0442d79eb5f146e
} else if (!this.updateAwaitingTeleport()) {
Entity entity = this.player.getRootVehicle();
-@@ -684,7 +684,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -692,7 +692,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
if (packet.getId() == this.awaitingTeleport) {
if (this.awaitingPositionFromClient == null) {
@@ -277,7 +277,7 @@ index 7990bd0279839558bed18a3dca7739ef74ecb74a..f4d92374f7865a39a0442d79eb5f146e
return;
}
-@@ -748,7 +748,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -756,7 +756,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
// PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); // Paper - AsyncTabCompleteEvent; run this async
// CraftBukkit start
if (!this.tabSpamThrottler.isIncrementAndUnderThreshold() && !this.server.getPlayerList().isOp(this.player.getGameProfile()) && !this.server.isSingleplayerOwner(this.player.getGameProfile())) { // Paper - configurable tab spam limits
@@ -286,7 +286,7 @@ index 7990bd0279839558bed18a3dca7739ef74ecb74a..f4d92374f7865a39a0442d79eb5f146e
return;
}
// CraftBukkit end
-@@ -913,7 +913,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -921,7 +921,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
// Paper start - validate pick item position
if (!(packet.getSlot() >= 0 && packet.getSlot() < this.player.getInventory().items.size())) {
ServerGamePacketListenerImpl.LOGGER.warn("{} tried to set an invalid carried item", this.player.getName().getString());
@@ -295,7 +295,7 @@ index 7990bd0279839558bed18a3dca7739ef74ecb74a..f4d92374f7865a39a0442d79eb5f146e
return;
}
this.player.getInventory().pickSlot(packet.getSlot()); // Paper - Diff above if changed
-@@ -1116,14 +1116,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1124,14 +1124,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
if (byteTotal > byteAllowed) {
ServerGamePacketListenerImpl.LOGGER.warn("{} tried to send a book too large. Book size: {} - Allowed: {} - Pages: {}", this.player.getScoreboardName(), byteTotal, byteAllowed, pageList.size());
@@ -312,7 +312,7 @@ index 7990bd0279839558bed18a3dca7739ef74ecb74a..f4d92374f7865a39a0442d79eb5f146e
return;
}
this.lastBookTick = MinecraftServer.currentTick;
-@@ -1232,7 +1232,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1240,7 +1240,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
public void handleMovePlayer(ServerboundMovePlayerPacket packet) {
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
if (ServerGamePacketListenerImpl.containsInvalidValues(packet.getX(0.0D), packet.getY(0.0D), packet.getZ(0.0D), packet.getYRot(0.0F), packet.getXRot(0.0F))) {
@@ -321,7 +321,7 @@ index 7990bd0279839558bed18a3dca7739ef74ecb74a..f4d92374f7865a39a0442d79eb5f146e
} else {
ServerLevel worldserver = this.player.serverLevel();
-@@ -1671,7 +1671,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1679,7 +1679,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.dropCount++;
if (this.dropCount >= 20) {
ServerGamePacketListenerImpl.LOGGER.warn(this.player.getScoreboardName() + " dropped their items too quickly!");
@@ -330,7 +330,7 @@ index 7990bd0279839558bed18a3dca7739ef74ecb74a..f4d92374f7865a39a0442d79eb5f146e
return;
}
}
-@@ -1968,7 +1968,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1976,7 +1976,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.player.resetLastActionTime();
} else {
ServerGamePacketListenerImpl.LOGGER.warn("{} tried to set an invalid carried item", this.player.getName().getString());
@@ -339,7 +339,7 @@ index 7990bd0279839558bed18a3dca7739ef74ecb74a..f4d92374f7865a39a0442d79eb5f146e
}
}
-@@ -2166,7 +2166,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2174,7 +2174,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
private void tryHandleChat(String s, Runnable runnable, boolean sync) { // CraftBukkit
if (ServerGamePacketListenerImpl.isChatMessageIllegal(s)) {
@@ -348,7 +348,7 @@ index 7990bd0279839558bed18a3dca7739ef74ecb74a..f4d92374f7865a39a0442d79eb5f146e
} else if (this.player.isRemoved() || this.player.getChatVisibility() == ChatVisiblity.HIDDEN) { // CraftBukkit - dead men tell no tales
this.send(new ClientboundSystemChatPacket(Component.translatable("chat.disabled.options").withStyle(ChatFormatting.RED), false));
} else {
-@@ -2189,7 +2189,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2197,7 +2197,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
if (optional.isEmpty()) {
ServerGamePacketListenerImpl.LOGGER.warn("Failed to validate message acknowledgements from {}", this.player.getName().getString());
@@ -357,7 +357,7 @@ index 7990bd0279839558bed18a3dca7739ef74ecb74a..f4d92374f7865a39a0442d79eb5f146e
}
return optional;
-@@ -2373,7 +2373,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2381,7 +2381,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
// this.chatSpamThrottler.increment();
if (!this.chatSpamThrottler.isIncrementAndUnderThreshold() && !this.server.getPlayerList().isOp(this.player.getGameProfile()) && !this.server.isSingleplayerOwner(this.player.getGameProfile())) {
// CraftBukkit end
@@ -366,7 +366,7 @@ index 7990bd0279839558bed18a3dca7739ef74ecb74a..f4d92374f7865a39a0442d79eb5f146e
}
}
-@@ -2385,7 +2385,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2393,7 +2393,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
synchronized (this.lastSeenMessages) {
if (!this.lastSeenMessages.applyOffset(packet.offset())) {
ServerGamePacketListenerImpl.LOGGER.warn("Failed to validate message acknowledgements from {}", this.player.getName().getString());
@@ -375,7 +375,7 @@ index 7990bd0279839558bed18a3dca7739ef74ecb74a..f4d92374f7865a39a0442d79eb5f146e
}
}
-@@ -2533,7 +2533,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2541,7 +2541,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
if (i > 4096) {
@@ -384,7 +384,7 @@ index 7990bd0279839558bed18a3dca7739ef74ecb74a..f4d92374f7865a39a0442d79eb5f146e
}
}
-@@ -2591,7 +2591,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2599,7 +2599,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
// Spigot Start
if ( entity == this.player && !this.player.isSpectator() )
{
@@ -393,7 +393,7 @@ index 7990bd0279839558bed18a3dca7739ef74ecb74a..f4d92374f7865a39a0442d79eb5f146e
return;
}
// Spigot End
-@@ -2707,7 +2707,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2715,7 +2715,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
}
@@ -402,7 +402,7 @@ index 7990bd0279839558bed18a3dca7739ef74ecb74a..f4d92374f7865a39a0442d79eb5f146e
ServerGamePacketListenerImpl.LOGGER.warn("Player {} tried to attack an invalid entity", ServerGamePacketListenerImpl.this.player.getName().getString());
}
});
-@@ -3106,7 +3106,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -3114,7 +3114,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
// Paper start - auto recipe limit
if (!org.bukkit.Bukkit.isPrimaryThread()) {
if (!this.recipeSpamPackets.isIncrementAndUnderThreshold()) {
@@ -411,7 +411,7 @@ index 7990bd0279839558bed18a3dca7739ef74ecb74a..f4d92374f7865a39a0442d79eb5f146e
return;
}
}
-@@ -3377,7 +3377,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -3385,7 +3385,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
if (!Objects.equals(profilepublickey_a, profilepublickey_a1)) {
if (profilepublickey_a != null && profilepublickey_a1.expiresAt().isBefore(profilepublickey_a.expiresAt())) {
@@ -420,7 +420,7 @@ index 7990bd0279839558bed18a3dca7739ef74ecb74a..f4d92374f7865a39a0442d79eb5f146e
} else {
try {
SignatureValidator signaturevalidator = this.server.getProfileKeySignatureValidator();
-@@ -3390,7 +3390,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -3398,7 +3398,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.resetPlayerChatState(remotechatsession_a.validate(this.player.getGameProfile(), signaturevalidator));
} catch (ProfilePublicKey.ValidationException profilepublickey_b) {
ServerGamePacketListenerImpl.LOGGER.error("Failed to validate profile key: {}", profilepublickey_b.getMessage());
@@ -495,10 +495,10 @@ index 9e2ad78b12cadbf0e2bda1e12fe844120529c347..6a7d7fad990fc44fdda6849d43dad141
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index b54b773a4e1472f94c5c28188f706fbeb2cfb067..5347ad30130d598644902cdc8902e0b77ac4dfb1 100644
+index 3cb6f46492a3441c09a452836d01c15d1837f6ea..4b28318dbdeb3fa5935949740343c996d30aa2dd 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -276,7 +276,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -280,7 +280,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
void sendPacket(Packet<?> packet);
@@ -507,7 +507,7 @@ index b54b773a4e1472f94c5c28188f706fbeb2cfb067..5347ad30130d598644902cdc8902e0b7
}
public record CookieFuture(ResourceLocation key, CompletableFuture<byte[]> future) {
-@@ -648,7 +648,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -652,7 +652,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void kickPlayer(String message) {
org.spigotmc.AsyncCatcher.catchOp("player kick"); // Spigot
@@ -516,7 +516,7 @@ index b54b773a4e1472f94c5c28188f706fbeb2cfb067..5347ad30130d598644902cdc8902e0b7
}
// Paper start
-@@ -660,10 +660,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -664,10 +664,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void kick(final net.kyori.adventure.text.Component message) {
@@ -533,7 +533,7 @@ index b54b773a4e1472f94c5c28188f706fbeb2cfb067..5347ad30130d598644902cdc8902e0b7
}
}
-@@ -722,7 +727,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -726,7 +731,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
// Paper start - Improve chat handling
if (ServerGamePacketListenerImpl.isChatMessageIllegal(msg)) {
diff --git a/patches/server/0548-Line-Of-Sight-Changes.patch b/patches/server/0548-Line-Of-Sight-Changes.patch
index 08eb10296b..2b40552d3f 100644
--- a/patches/server/0548-Line-Of-Sight-Changes.patch
+++ b/patches/server/0548-Line-Of-Sight-Changes.patch
@@ -19,10 +19,10 @@ index b7cc3d84c724772e3e1250c5e99bb32e01112220..eeed7d1d4b7fee0e8ab1f43f9b7ec6f7
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
-index 21e5dd6624e50dec35859b7d1be4a304e4427883..123824f6b8306900ed5c0b3addb884301dbcab7e 100644
+index a070b2a83edaa702b13bc6d3026914126c211576..ca35e93239eea09b3d0dc6ef18f58743e633996b 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
-@@ -520,5 +520,21 @@ public abstract class CraftRegionAccessor implements RegionAccessor {
+@@ -526,5 +526,21 @@ public abstract class CraftRegionAccessor implements RegionAccessor {
public org.bukkit.NamespacedKey getKey() {
return org.bukkit.craftbukkit.util.CraftNamespacedKey.fromMinecraft(this.getHandle().getLevel().dimension().location());
}
diff --git a/patches/server/0557-Add-PlayerArmSwingEvent.patch b/patches/server/0557-Add-PlayerArmSwingEvent.patch
index 0b60bfb4b9..c334885378 100644
--- a/patches/server/0557-Add-PlayerArmSwingEvent.patch
+++ b/patches/server/0557-Add-PlayerArmSwingEvent.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add PlayerArmSwingEvent
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index f4d92374f7865a39a0442d79eb5f146ed4bd2b52..c8ab002ddfcea910f916ee503e930085f6c5cb5a 100644
+index 0fb16f3193c88c5f58d16aaf85129bbfd01fdfcd..7e11789a8d64b112c5eb354a30ae9618722526b1 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -2423,7 +2423,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2431,7 +2431,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
} // Paper end - Call interact event
// Arm swing animation
diff --git a/patches/server/0558-Fix-kick-event-leave-message-not-being-sent.patch b/patches/server/0558-Fix-kick-event-leave-message-not-being-sent.patch
index 837a22ba70..0068fffc6e 100644
--- a/patches/server/0558-Fix-kick-event-leave-message-not-being-sent.patch
+++ b/patches/server/0558-Fix-kick-event-leave-message-not-being-sent.patch
@@ -55,10 +55,10 @@ index 59d20fd62e850a38380d877cef95ed69cb46ecbd..fc242acade3ff06c9213428cde103cf0
MinecraftServer minecraftserver = this.server;
Connection networkmanager = this.connection;
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index c8ab002ddfcea910f916ee503e930085f6c5cb5a..e9e5b35cd09fe50ce4f2116ca5c38137408105bf 100644
+index 7e11789a8d64b112c5eb354a30ae9618722526b1..a550f23227770001862e5e837ab2f09e746d76f1 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -1907,6 +1907,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1915,6 +1915,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@Override
public void onDisconnect(DisconnectionDetails info) {
@@ -71,7 +71,7 @@ index c8ab002ddfcea910f916ee503e930085f6c5cb5a..e9e5b35cd09fe50ce4f2116ca5c38137
// CraftBukkit start - Rarely it would send a disconnect line twice
if (this.processedDisconnect) {
return;
-@@ -1915,11 +1921,17 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1923,11 +1929,17 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
// CraftBukkit end
ServerGamePacketListenerImpl.LOGGER.info("{} lost connection: {}", this.player.getName().getString(), info.reason().getString());
@@ -91,7 +91,7 @@ index c8ab002ddfcea910f916ee503e930085f6c5cb5a..e9e5b35cd09fe50ce4f2116ca5c38137
this.chatMessageChain.close();
// CraftBukkit start - Replace vanilla quit message handling with our own.
/*
-@@ -1929,7 +1941,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1937,7 +1949,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.player.disconnect();
// Paper start - Adventure
diff --git a/patches/server/0564-Prevent-AFK-kick-while-watching-end-credits.patch b/patches/server/0564-Prevent-AFK-kick-while-watching-end-credits.patch
index a717ad883a..3413c09bda 100644
--- a/patches/server/0564-Prevent-AFK-kick-while-watching-end-credits.patch
+++ b/patches/server/0564-Prevent-AFK-kick-while-watching-end-credits.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Prevent AFK kick while watching end credits
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index e9e5b35cd09fe50ce4f2116ca5c38137408105bf..74b21852d9346708a62033c78fac04050b98c80b 100644
+index a550f23227770001862e5e837ab2f09e746d76f1..ea793f9ccf3082a7abcb003b9df03901f9b4c0f0 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -394,7 +394,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -396,7 +396,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.tabSpamThrottler.tick(); // Paper - configurable tab spam limits
this.recipeSpamPackets.tick(); // Paper - auto recipe limit
this.dropSpamThrottler.tick();
diff --git a/patches/server/0566-Add-PlayerSetSpawnEvent.patch b/patches/server/0566-Add-PlayerSetSpawnEvent.patch
index 11ac225f56..ddf33c1b0d 100644
--- a/patches/server/0566-Add-PlayerSetSpawnEvent.patch
+++ b/patches/server/0566-Add-PlayerSetSpawnEvent.patch
@@ -187,10 +187,10 @@ index db26b5a0464bd6087eeacaf6dd61eba37365df92..9117c035d5a6ff114b028fad3380ceb1
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 5347ad30130d598644902cdc8902e0b77ac4dfb1..b3efe7391b7e43327bcca419efe72811574c0664 100644
+index 4b28318dbdeb3fa5935949740343c996d30aa2dd..eacfcaee0f534ff63c723af11517e6c895bc84ed 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1426,9 +1426,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1430,9 +1430,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void setRespawnLocation(Location location, boolean override) {
if (location == null) {
diff --git a/patches/server/0580-Get-entity-default-attributes.patch b/patches/server/0580-Get-entity-default-attributes.patch
index 0c9552e4ca..d383f32269 100644
--- a/patches/server/0580-Get-entity-default-attributes.patch
+++ b/patches/server/0580-Get-entity-default-attributes.patch
@@ -81,7 +81,7 @@ index 0000000000000000000000000000000000000000..ec9ebd2d539333293c51b7edfa18f18b
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 821f9a2780dc6fa9926fadbec18b51a915767730..d6e9eccd5edce73c9be99e1b9becadf89c593035 100644
+index 0d9c90a99aa2d8fcf421680aeef4c2fd7ec0fd57..5c0a6d93b424db91a5f6474165434f5db3d15a8a 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -544,6 +544,18 @@ public final class CraftMagicNumbers implements UnsafeValues {
diff --git a/patches/server/0589-Add-Raw-Byte-Entity-Serialization.patch b/patches/server/0589-Add-Raw-Byte-Entity-Serialization.patch
index 7519082dc2..34f5031fb4 100644
--- a/patches/server/0589-Add-Raw-Byte-Entity-Serialization.patch
+++ b/patches/server/0589-Add-Raw-Byte-Entity-Serialization.patch
@@ -50,7 +50,7 @@ index 0c1c9033646dedcf1d11dee74d6965683adadf0a..1ed01978611cddb2558e441863dadc46
@Override
public boolean isInvisible() { // Paper - moved up from LivingEntity
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index d6e9eccd5edce73c9be99e1b9becadf89c593035..98bbbdbf8fd067df936655334ad5ea25ec07daef 100644
+index 5c0a6d93b424db91a5f6474165434f5db3d15a8a..e2873a1eeb01516b689d0175b091808b2797995f 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -494,7 +494,33 @@ public final class CraftMagicNumbers implements UnsafeValues {
diff --git a/patches/server/0593-Improve-and-expand-AsyncCatcher.patch b/patches/server/0593-Improve-and-expand-AsyncCatcher.patch
index 136d3b3fdb..3a42eb978d 100644
--- a/patches/server/0593-Improve-and-expand-AsyncCatcher.patch
+++ b/patches/server/0593-Improve-and-expand-AsyncCatcher.patch
@@ -17,10 +17,10 @@ Async catch modifications to critical entity state
Co-authored-by: Jake Potrebic <[email protected]>
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 74b21852d9346708a62033c78fac04050b98c80b..020aed78c0eb1fdb9fd0d633bf2fe45bb9eb7532 100644
+index ea793f9ccf3082a7abcb003b9df03901f9b4c0f0..8084bf547a52f3e5c890d2be3757acb364370d34 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -1589,6 +1589,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1597,6 +1597,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
public void internalTeleport(PositionMoveRotation positionmoverotation, Set<Relative> set) {
diff --git a/patches/server/0607-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch b/patches/server/0607-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch
index e07fa22e05..60d634041c 100644
--- a/patches/server/0607-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch
+++ b/patches/server/0607-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Don't respond to ServerboundCommandSuggestionPacket when
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 020aed78c0eb1fdb9fd0d633bf2fe45bb9eb7532..7b858178ce7d0e33fec17311f1710bead5f0837d 100644
+index 8084bf547a52f3e5c890d2be3757acb364370d34..0790d904a408652c593dc8d87b1b2087169e7490 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -752,6 +752,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -760,6 +760,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
return;
}
// CraftBukkit end
diff --git a/patches/server/0649-Multi-Block-Change-API-Implementation.patch b/patches/server/0649-Multi-Block-Change-API-Implementation.patch
index 75fd9baa24..7a27fe0df9 100644
--- a/patches/server/0649-Multi-Block-Change-API-Implementation.patch
+++ b/patches/server/0649-Multi-Block-Change-API-Implementation.patch
@@ -24,10 +24,10 @@ index 926ff9be3d9e3f5d620e4c7ccb22b9f64865ff8c..1a37654aff9a9c86c9f7af10a1cf7213
buf.writeLong(this.sectionPos.asLong());
buf.writeVarInt(this.positions.length);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index b3efe7391b7e43327bcca419efe72811574c0664..2347e260780d4703cff01b84a7971861fd924b20 100644
+index eacfcaee0f534ff63c723af11517e6c895bc84ed..0bb2a75b2dd3d6d5d7815d3f4b1d8b11b002db62 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -943,6 +943,32 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -947,6 +947,32 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.getHandle().connection.send(packet);
}
diff --git a/patches/server/0665-Custom-Potion-Mixes.patch b/patches/server/0665-Custom-Potion-Mixes.patch
index 5ff6d93023..1e7656e306 100644
--- a/patches/server/0665-Custom-Potion-Mixes.patch
+++ b/patches/server/0665-Custom-Potion-Mixes.patch
@@ -312,7 +312,7 @@ index 29a71a050e49f1131ce9945c4275a33909ea3091..f0eb8284b537014b591e45f034f1498e
// Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftRecipe.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftRecipe.java
-index 6f1da5aa8714d64b8454dc79258f941ead986e46..a68e036a12b354c4f04b6596dfb9cd6e7663718b 100644
+index 6d955c0d2ae166fb39fa38c604729c9a66132352..a30950287646524c4906574d193ec7ce94b4eb34 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftRecipe.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftRecipe.java
@@ -25,6 +25,11 @@ public interface CraftRecipe extends Recipe {
diff --git a/patches/server/0672-Don-t-allow-vehicle-movement-from-players-while-tele.patch b/patches/server/0672-Don-t-allow-vehicle-movement-from-players-while-tele.patch
index b0a250292c..c8f2f8a3b8 100644
--- a/patches/server/0672-Don-t-allow-vehicle-movement-from-players-while-tele.patch
+++ b/patches/server/0672-Don-t-allow-vehicle-movement-from-players-while-tele.patch
@@ -7,10 +7,10 @@ Bring the vehicle move packet behavior in line with the
regular player move packet.
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 7b858178ce7d0e33fec17311f1710bead5f0837d..33f76a6df7997ecdc789004bf0b230e74ad07f5a 100644
+index 0790d904a408652c593dc8d87b1b2087169e7490..65e0ad4cae47a1912ad12ea1e6eaa3672d4f12e8 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -481,6 +481,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -489,6 +489,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.disconnect((Component) Component.translatable("multiplayer.disconnect.invalid_vehicle_movement"), org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_VEHICLE_MOVEMENT); // Paper - kick event cause
} else if (!this.updateAwaitingTeleport()) {
Entity entity = this.player.getRootVehicle();
diff --git a/patches/server/0673-Implement-getComputedBiome-API.patch b/patches/server/0673-Implement-getComputedBiome-API.patch
index 3028eee933..dab55a6218 100644
--- a/patches/server/0673-Implement-getComputedBiome-API.patch
+++ b/patches/server/0673-Implement-getComputedBiome-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Implement getComputedBiome API
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
-index 123824f6b8306900ed5c0b3addb884301dbcab7e..244cff4f84792fd0efe146e6faf47db0b0a0dc87 100644
+index ca35e93239eea09b3d0dc6ef18f58743e633996b..a7748f4b7c5a1630937c702b3fd5fded93793d64 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
@@ -77,6 +77,13 @@ public abstract class CraftRegionAccessor implements RegionAccessor {
diff --git a/patches/server/0674-Make-some-itemstacks-nonnull.patch b/patches/server/0674-Make-some-itemstacks-nonnull.patch
index 5254271c7e..20944d9088 100644
--- a/patches/server/0674-Make-some-itemstacks-nonnull.patch
+++ b/patches/server/0674-Make-some-itemstacks-nonnull.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Make some itemstacks nonnull
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java
-index 5e40faa88c51b0ebd76493fd1731d16ca1051f4a..46d0b324498510c73a8439611f44269edee62313 100644
+index 107fa1d4bd977d17dc062da280dda46eb3c5f81c..e62baea16df017f1e394e3c706157e158066eb93 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java
@@ -155,13 +155,13 @@ public class CraftInventoryPlayer extends CraftInventory implements org.bukkit.i
@@ -24,5 +24,5 @@ index 5e40faa88c51b0ebd76493fd1731d16ca1051f4a..46d0b324498510c73a8439611f44269e
- return this.getHelmet();
+ return java.util.Objects.requireNonNullElseGet(this.getHelmet(), () -> new ItemStack(org.bukkit.Material.AIR)); // Paper - make nonnull
default:
- throw new IllegalArgumentException("Not implemented. This is a bug");
+ throw new IllegalArgumentException("Could not get slot " + slot + " - not a valid slot for PlayerInventory");
}
diff --git a/patches/server/0685-Prevent-tile-entity-copies-loading-chunks.patch b/patches/server/0685-Prevent-tile-entity-copies-loading-chunks.patch
index cbd52db735..e679734f77 100644
--- a/patches/server/0685-Prevent-tile-entity-copies-loading-chunks.patch
+++ b/patches/server/0685-Prevent-tile-entity-copies-loading-chunks.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Prevent tile entity copies loading chunks
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 33f76a6df7997ecdc789004bf0b230e74ad07f5a..ffd8e7a537fd8c6276674f5e0034412bb93ca82c 100644
+index 65e0ad4cae47a1912ad12ea1e6eaa3672d4f12e8..ac2ad33a44ce04d9673adc08ff21a167d606e4db 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -3240,7 +3240,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -3248,7 +3248,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
BlockPos blockposition = BlockEntity.getPosFromTag(customdata.getUnsafe());
if (this.player.level().isLoaded(blockposition)) {
diff --git a/patches/server/0716-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch b/patches/server/0716-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch
index 710573f4a2..d96ba39bb4 100644
--- a/patches/server/0716-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch
+++ b/patches/server/0716-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Fix Spigot Config not using commands.spam-exclusions
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index ffd8e7a537fd8c6276674f5e0034412bb93ca82c..84132f9642f51e1774d6c242330deebc6dfa163a 100644
+index ac2ad33a44ce04d9673adc08ff21a167d606e4db..b34245e82306c4ce607aa984ab8f597dec2ba4b5 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -2394,7 +2394,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2402,7 +2402,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
// Spigot end
// this.chatSpamThrottler.increment();
diff --git a/patches/server/0717-More-Teleport-API.patch b/patches/server/0717-More-Teleport-API.patch
index 0454f4acd2..95e3046bb2 100644
--- a/patches/server/0717-More-Teleport-API.patch
+++ b/patches/server/0717-More-Teleport-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] More Teleport API
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 84132f9642f51e1774d6c242330deebc6dfa163a..60d3a3497a49c26120650016ffff04123efa1caf 100644
+index b34245e82306c4ce607aa984ab8f597dec2ba4b5..ebe3d51ccc02b46d9bae4ba4f9185eadfec278f2 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -1577,11 +1577,17 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1585,11 +1585,17 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
return true; // CraftBukkit - Return event status
}
@@ -112,10 +112,10 @@ index 4e6afa243d6108cb946a8a7cf96c4036a3c2ac0c..43786eacc72cdf3bb209d3dfb1808ea9
private final org.bukkit.entity.Entity.Spigot spigot = new org.bukkit.entity.Entity.Spigot()
{
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 2347e260780d4703cff01b84a7971861fd924b20..884b02409968c22b8d0926ffb195ba050f51f9bc 100644
+index 0bb2a75b2dd3d6d5d7815d3f4b1d8b11b002db62..d2029d88a4d9b060e199431ae092ce87ad5a09de 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1299,13 +1299,101 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1303,13 +1303,101 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void setRotation(float yaw, float pitch) {
@@ -218,7 +218,7 @@ index 2347e260780d4703cff01b84a7971861fd924b20..884b02409968c22b8d0926ffb195ba05
location.checkFinite();
ServerPlayer entity = this.getHandle();
-@@ -1318,7 +1406,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1322,7 +1410,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return false;
}
@@ -227,7 +227,7 @@ index 2347e260780d4703cff01b84a7971861fd924b20..884b02409968c22b8d0926ffb195ba05
return false;
}
-@@ -1327,7 +1415,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1331,7 +1419,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
// To = Players new Location if Teleport is Successful
Location to = location;
// Create & Call the Teleport Event.
@@ -236,7 +236,7 @@ index 2347e260780d4703cff01b84a7971861fd924b20..884b02409968c22b8d0926ffb195ba05
this.server.getPluginManager().callEvent(event);
// Return False to inform the Plugin that the Teleport was unsuccessful/cancelled.
-@@ -1336,7 +1424,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1340,7 +1428,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
// If this player is riding another entity, we must dismount before teleporting.
@@ -245,7 +245,7 @@ index 2347e260780d4703cff01b84a7971861fd924b20..884b02409968c22b8d0926ffb195ba05
// SPIGOT-5509: Wakeup, similar to riding
if (this.isSleeping()) {
-@@ -1352,13 +1440,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1356,13 +1444,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
ServerLevel toWorld = ((CraftWorld) to.getWorld()).getHandle();
// Close any foreign inventory
diff --git a/patches/server/0720-Send-block-entities-after-destroy-prediction.patch b/patches/server/0720-Send-block-entities-after-destroy-prediction.patch
index 2636e599bd..8cc9f6fcd4 100644
--- a/patches/server/0720-Send-block-entities-after-destroy-prediction.patch
+++ b/patches/server/0720-Send-block-entities-after-destroy-prediction.patch
@@ -57,10 +57,10 @@ index 5c3e5c348e6fececccd8097355f423b9e7ad982b..064a7a3e1c4d192010e072a5e985a541
}
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 60d3a3497a49c26120650016ffff04123efa1caf..5f567d6a8ac93113c2f57d38736c4891c5f9ae19 100644
+index ebe3d51ccc02b46d9bae4ba4f9185eadfec278f2..19b90fe644da59216e11b35af33e62c0fc66db7b 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -1715,8 +1715,28 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1723,8 +1723,28 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
return;
}
// Paper end - Don't allow digging into unloaded chunks
diff --git a/patches/server/0722-Custom-Chat-Completion-Suggestions-API.patch b/patches/server/0722-Custom-Chat-Completion-Suggestions-API.patch
index d07b1f664e..f1b41f3210 100644
--- a/patches/server/0722-Custom-Chat-Completion-Suggestions-API.patch
+++ b/patches/server/0722-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 884b02409968c22b8d0926ffb195ba050f51f9bc..025c392f2ca89a87f6301d4af64c4d7daec58409 100644
+index d2029d88a4d9b060e199431ae092ce87ad5a09de..7fd3cb7c69aa212449739f5733de661af662611f 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -704,6 +704,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -708,6 +708,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
// Paper end - Add sendOpLevel API
diff --git a/patches/server/0724-Collision-API.patch b/patches/server/0724-Collision-API.patch
index 1d22083ef1..892f39211e 100644
--- a/patches/server/0724-Collision-API.patch
+++ b/patches/server/0724-Collision-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Collision API
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
-index 244cff4f84792fd0efe146e6faf47db0b0a0dc87..6baa06dc0f102fe83b10015dbbe1410066961c82 100644
+index a7748f4b7c5a1630937c702b3fd5fded93793d64..a93a879117ee1eb06842242aa03f757a4a676946 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
-@@ -543,5 +543,12 @@ public abstract class CraftRegionAccessor implements RegionAccessor {
+@@ -549,5 +549,12 @@ public abstract class CraftRegionAccessor implements RegionAccessor {
return this.getHandle().clip(new net.minecraft.world.level.ClipContext(start, end, net.minecraft.world.level.ClipContext.Block.COLLIDER, net.minecraft.world.level.ClipContext.Fluid.NONE, net.minecraft.world.phys.shapes.CollisionContext.empty())).getType() == net.minecraft.world.phys.HitResult.Type.MISS;
}
diff --git a/patches/server/0728-Add-NamespacedKey-biome-methods.patch b/patches/server/0728-Add-NamespacedKey-biome-methods.patch
index 04815e385e..0991968c4d 100644
--- a/patches/server/0728-Add-NamespacedKey-biome-methods.patch
+++ b/patches/server/0728-Add-NamespacedKey-biome-methods.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Add NamespacedKey biome methods
Co-authored-by: Thonk <[email protected]>
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 98bbbdbf8fd067df936655334ad5ea25ec07daef..a5a3a0f0460252415c243dfe3019d103b9589c5b 100644
+index e2873a1eeb01516b689d0175b091808b2797995f..66913ab43bb1e9066487749ff60248c22fc8e824 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -584,6 +584,21 @@ public final class CraftMagicNumbers implements UnsafeValues {
diff --git a/patches/server/0741-Fix-a-bunch-of-vanilla-bugs.patch b/patches/server/0741-Fix-a-bunch-of-vanilla-bugs.patch
index f21808be3a..051aef0e0e 100644
--- a/patches/server/0741-Fix-a-bunch-of-vanilla-bugs.patch
+++ b/patches/server/0741-Fix-a-bunch-of-vanilla-bugs.patch
@@ -130,10 +130,10 @@ index 064a7a3e1c4d192010e072a5e985a54135748d87..a706f0855fdf88cc9aece3ba00ef574b
this.player.server.getPlayerList().broadcastAll(new ClientboundPlayerInfoUpdatePacket(ClientboundPlayerInfoUpdatePacket.Action.UPDATE_GAME_MODE, this.player), this.player); // CraftBukkit
this.level.updateSleepingPlayerList();
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 5f567d6a8ac93113c2f57d38736c4891c5f9ae19..6c7c6cd7c071b722faf7ec06e022a6ad8b1ecc42 100644
+index 19b90fe644da59216e11b35af33e62c0fc66db7b..8c615974a738b87116830538646750bb6f7ef7f0 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -1823,7 +1823,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1831,7 +1831,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.player.swing(enumhand, true);
}
}
diff --git a/patches/server/0747-Elder-Guardian-appearance-API.patch b/patches/server/0747-Elder-Guardian-appearance-API.patch
index c354816072..75a2208ae0 100644
--- a/patches/server/0747-Elder-Guardian-appearance-API.patch
+++ b/patches/server/0747-Elder-Guardian-appearance-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Elder Guardian appearance API
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 025c392f2ca89a87f6301d4af64c4d7daec58409..1dc5f21c337bc3fb67e5919308228d75b03989d1 100644
+index 7fd3cb7c69aa212449739f5733de661af662611f..997a90a7567a90ef357530f9ed5677f0fce4d402 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -3311,6 +3311,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -3325,6 +3325,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
// Paper end
diff --git a/patches/server/0759-Add-Player-Warden-Warning-API.patch b/patches/server/0759-Add-Player-Warden-Warning-API.patch
index 1ac290e09b..32eaa6033a 100644
--- a/patches/server/0759-Add-Player-Warden-Warning-API.patch
+++ b/patches/server/0759-Add-Player-Warden-Warning-API.patch
@@ -10,10 +10,10 @@ public net.minecraft.world.entity.monster.warden.WardenSpawnTracker cooldownTick
public net.minecraft.world.entity.monster.warden.WardenSpawnTracker increaseWarningLevel()V
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 1dc5f21c337bc3fb67e5919308228d75b03989d1..2c38725e6fc0a264df3a0d34c21ab774ad3e2fb5 100644
+index 997a90a7567a90ef357530f9ed5677f0fce4d402..2eafa35e87411ae0b78f445d3d0573ba6e832797 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -3316,6 +3316,41 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -3330,6 +3330,41 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public void showElderGuardian(boolean silent) {
if (getHandle().connection != null) getHandle().connection.send(new ClientboundGameEventPacket(ClientboundGameEventPacket.GUARDIAN_ELDER_EFFECT, silent ? 0F : 1F));
}
diff --git a/patches/server/0763-Fix-async-entity-add-due-to-fungus-trees.patch b/patches/server/0763-Fix-async-entity-add-due-to-fungus-trees.patch
index 44c121394e..009feeb37a 100644
--- a/patches/server/0763-Fix-async-entity-add-due-to-fungus-trees.patch
+++ b/patches/server/0763-Fix-async-entity-add-due-to-fungus-trees.patch
@@ -17,7 +17,7 @@ index 5bf438bb58833c1df3620e82d3d2b90207366372..2e72e92762877b28dd908711671e1dfb
BlockEntity tileentity = iblockdata.hasBlockEntity() ? this.getBlockEntity(pos) : null;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
-index 6baa06dc0f102fe83b10015dbbe1410066961c82..29825ea687827c075b87e88c45672e7b0093ed17 100644
+index a93a879117ee1eb06842242aa03f757a4a676946..4c234e887c42b27754ed8f05f2000d9309274427 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
@@ -261,10 +261,10 @@ public abstract class CraftRegionAccessor implements RegionAccessor {
diff --git a/patches/server/0771-fix-Instruments.patch b/patches/server/0771-fix-Instruments.patch
index 215623c640..194ed300cf 100644
--- a/patches/server/0771-fix-Instruments.patch
+++ b/patches/server/0771-fix-Instruments.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] fix Instruments
properly handle Player#playNote
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 2c38725e6fc0a264df3a0d34c21ab774ad3e2fb5..2a0ca017130a76aff3f15064a334cc0be501d782 100644
+index 2eafa35e87411ae0b78f445d3d0573ba6e832797..283e7caa8c564bb0455e29f1ee606b6993f3e57c 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -781,7 +781,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -785,7 +785,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
Sound instrumentSound = instrument.getSound();
if (instrumentSound == null) return;
diff --git a/patches/server/0775-Improve-logging-and-errors.patch b/patches/server/0775-Improve-logging-and-errors.patch
index 4a5cccd9ae..242eb6cb0e 100644
--- a/patches/server/0775-Improve-logging-and-errors.patch
+++ b/patches/server/0775-Improve-logging-and-errors.patch
@@ -52,10 +52,10 @@ index 4037a1057ebc87e3df6333e0d546fc85b5148d2a..eb9dab7be7da11ab1c4046a7fc4a29d5
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 6c7c6cd7c071b722faf7ec06e022a6ad8b1ecc42..1a9003f703f6911e37a086f490d4d65ab9d27014 100644
+index 8c615974a738b87116830538646750bb6f7ef7f0..abe5490b54bda4e0767a65244c29b236a40ec8d6 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -3443,7 +3443,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -3451,7 +3451,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.resetPlayerChatState(remotechatsession_a.validate(this.player.getGameProfile(), signaturevalidator));
} catch (ProfilePublicKey.ValidationException profilepublickey_b) {
diff --git a/patches/server/0778-Add-missing-SpigotConfig-logCommands-check.patch b/patches/server/0778-Add-missing-SpigotConfig-logCommands-check.patch
index 2e59f69e05..c4fb5944f4 100644
--- a/patches/server/0778-Add-missing-SpigotConfig-logCommands-check.patch
+++ b/patches/server/0778-Add-missing-SpigotConfig-logCommands-check.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Add missing SpigotConfig logCommands check
Co-authored-by: david <[email protected]>
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 1a9003f703f6911e37a086f490d4d65ab9d27014..e29cae56ddeb019d2ffd8dad412fd32e4db67091 100644
+index abe5490b54bda4e0767a65244c29b236a40ec8d6..984ee21a6fc59efeabc2e5eeedced548d03f413d 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -2070,7 +2070,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2078,7 +2078,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
private void performUnsignedChatCommand(String command) {
// CraftBukkit start
String command1 = "/" + command;
@@ -19,7 +19,7 @@ index 1a9003f703f6911e37a086f490d4d65ab9d27014..e29cae56ddeb019d2ffd8dad412fd32e
PlayerCommandPreprocessEvent event = new PlayerCommandPreprocessEvent(this.getCraftPlayer(), command1, new LazyPlayerSet(this.server));
this.cserver.getPluginManager().callEvent(event);
-@@ -2110,7 +2112,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2118,7 +2120,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
private void performSignedChatCommand(ServerboundChatCommandSignedPacket packet, LastSeenMessages lastSeenMessages) {
// CraftBukkit start
String command = "/" + packet.command();
diff --git a/patches/server/0780-Flying-Fall-Damage.patch b/patches/server/0780-Flying-Fall-Damage.patch
index d3c19b0590..6d32390b03 100644
--- a/patches/server/0780-Flying-Fall-Damage.patch
+++ b/patches/server/0780-Flying-Fall-Damage.patch
@@ -26,10 +26,10 @@ index 30e0a5fe3f9bd85d2b702c2c877c5682ed35d461..aca888c2f02b09ac6739bdc81b194c45
} else {
if (fallDistance >= 2.0F) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 2a0ca017130a76aff3f15064a334cc0be501d782..83a121331e3922ed8b90e530c2495bf19406c08d 100644
+index 283e7caa8c564bb0455e29f1ee606b6993f3e57c..d9164eda358b56fe5e3b88e9bc7e23ab39034f0f 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2594,6 +2594,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2608,6 +2608,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.getHandle().onUpdateAbilities();
}
diff --git a/patches/server/0783-Use-single-player-info-update-packet-on-join.patch b/patches/server/0783-Use-single-player-info-update-packet-on-join.patch
index 14893c3080..f0e844f29c 100644
--- a/patches/server/0783-Use-single-player-info-update-packet-on-join.patch
+++ b/patches/server/0783-Use-single-player-info-update-packet-on-join.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Use single player info update packet on join
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index e29cae56ddeb019d2ffd8dad412fd32e4db67091..d77ab963802fcd7551058987a534ba54f080027a 100644
+index 984ee21a6fc59efeabc2e5eeedced548d03f413d..f9dffac2a10a6d2aea488197d1302de06980d354 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -3481,7 +3481,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -3489,7 +3489,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.signedMessageDecoder = session.createMessageDecoder(this.player.getUUID());
this.chatMessageChain.append(() -> {
this.player.setChatSession(session);
diff --git a/patches/server/0785-Win-Screen-API.patch b/patches/server/0785-Win-Screen-API.patch
index 330a77aa21..f52ebd1415 100644
--- a/patches/server/0785-Win-Screen-API.patch
+++ b/patches/server/0785-Win-Screen-API.patch
@@ -7,10 +7,10 @@ Subject: [PATCH] Win Screen API
public net.minecraft.server.level.ServerPlayer seenCredits
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 83a121331e3922ed8b90e530c2495bf19406c08d..76d8f0d390abf588886b42b6d2e3ed6f79a4d991 100644
+index d9164eda358b56fe5e3b88e9bc7e23ab39034f0f..e6a678dee21b51d5f7005c2cf5038089447d0e7c 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1318,6 +1318,25 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1322,6 +1322,25 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.getHandle().connection.send(packet);
}
diff --git a/patches/server/0800-Treat-sequence-violations-like-they-should-be.patch b/patches/server/0800-Treat-sequence-violations-like-they-should-be.patch
index 3cb7bfe536..d881aea8c0 100644
--- a/patches/server/0800-Treat-sequence-violations-like-they-should-be.patch
+++ b/patches/server/0800-Treat-sequence-violations-like-they-should-be.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Treat sequence violations like they should be
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index d77ab963802fcd7551058987a534ba54f080027a..74054e0acd2ecdc6d7ccdf035c9ec120872f6ef4 100644
+index f9dffac2a10a6d2aea488197d1302de06980d354..90392c7c87feb08711b0af80163a4ea8021448f4 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -1989,6 +1989,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1997,6 +1997,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
public void ackBlockChangesUpTo(int sequence) {
if (sequence < 0) {
diff --git a/patches/server/0801-Prevent-causing-expired-keys-from-impacting-new-join.patch b/patches/server/0801-Prevent-causing-expired-keys-from-impacting-new-join.patch
index 8c461c04b6..b1858d9775 100644
--- a/patches/server/0801-Prevent-causing-expired-keys-from-impacting-new-join.patch
+++ b/patches/server/0801-Prevent-causing-expired-keys-from-impacting-new-join.patch
@@ -26,10 +26,10 @@ index d0b2a8b5ded71a9a41753f4addea1c49826b34a3..29b465fc1dc50e0e84ddb889c5303e80
UPDATE_GAME_MODE((serialized, buf) -> serialized.gameMode = GameType.byId(buf.readVarInt()), (buf, entry) -> buf.writeVarInt(entry.gameMode().getId())),
UPDATE_LISTED((serialized, buf) -> serialized.listed = buf.readBoolean(), (buf, entry) -> buf.writeBoolean(entry.listed())),
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 74054e0acd2ecdc6d7ccdf035c9ec120872f6ef4..5d261106b0cd12e9ed737833b1f6d2572d15ab4e 100644
+index 90392c7c87feb08711b0af80163a4ea8021448f4..eb81cd8421aa2fc011e5cb38e8a52b55fc1938b7 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -303,6 +303,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -305,6 +305,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
private boolean receivedMovementThisTick;
@Nullable
private RemoteChatSession chatSession;
@@ -37,7 +37,7 @@ index 74054e0acd2ecdc6d7ccdf035c9ec120872f6ef4..5d261106b0cd12e9ed737833b1f6d257
private SignedMessageChain.Decoder signedMessageDecoder;
private final LastSeenMessagesValidator lastSeenMessages = new LastSeenMessagesValidator(20);
private final MessageSignatureCache messageSignatureCache = MessageSignatureCache.createDefault();
-@@ -399,6 +400,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -401,6 +402,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.disconnect((Component) Component.translatable("multiplayer.disconnect.idling"), org.bukkit.event.player.PlayerKickEvent.Cause.IDLING); // Paper - kick event cause
}
@@ -51,7 +51,7 @@ index 74054e0acd2ecdc6d7ccdf035c9ec120872f6ef4..5d261106b0cd12e9ed737833b1f6d257
}
private int getMaximumFlyingTicks(Entity vehicle) {
-@@ -3479,6 +3487,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -3487,6 +3495,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
private void resetPlayerChatState(RemoteChatSession session) {
this.chatSession = session;
diff --git a/patches/server/0810-Expand-PlayerItemMendEvent.patch b/patches/server/0810-Expand-PlayerItemMendEvent.patch
index 12d3c700ea..396bdd4c45 100644
--- a/patches/server/0810-Expand-PlayerItemMendEvent.patch
+++ b/patches/server/0810-Expand-PlayerItemMendEvent.patch
@@ -30,10 +30,10 @@ index 3a7af27bb1ce0cbe56bd3760cd400083daf98d4c..bf0838f574fa3fb9654e087d602b8d38
if (l > 0) {
// this.value = l; // CraftBukkit - update exp value of orb for PlayerItemMendEvent calls // Paper - the value field should not be mutated here because it doesn't take "count" into account
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 76d8f0d390abf588886b42b6d2e3ed6f79a4d991..cdc53abb5572fa57b4ec98a694c5583ad0982a05 100644
+index e6a678dee21b51d5f7005c2cf5038089447d0e7c..90187f6412a073a3c89da3eb01310e39406bb69c 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1866,11 +1866,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1880,11 +1880,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
handle.serverLevel(), itemstack, amount
);
int i = Math.min(possibleDurabilityFromXp, itemstack.getDamageValue());
diff --git a/patches/server/0829-Fix-BanList-API.patch b/patches/server/0829-Fix-BanList-API.patch
index aa0028893c..2621cc9868 100644
--- a/patches/server/0829-Fix-BanList-API.patch
+++ b/patches/server/0829-Fix-BanList-API.patch
@@ -208,10 +208,10 @@ index 172202accf4448a933fcf1ff820316c7910dd7f7..50ee7656580d386db473c054f5c5ec57
return null;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index cdc53abb5572fa57b4ec98a694c5583ad0982a05..79e35265978357eeb27c43205433d6b24335f401 100644
+index 90187f6412a073a3c89da3eb01310e39406bb69c..78a12f857db37ec5305d6c14847bc7653669bcc0 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1760,23 +1760,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1774,23 +1774,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
@Override
@@ -240,7 +240,7 @@ index cdc53abb5572fa57b4ec98a694c5583ad0982a05..79e35265978357eeb27c43205433d6b2
if (kickPlayer) {
this.kickPlayer(reason);
}
-@@ -1784,12 +1784,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1798,12 +1798,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
@Override
diff --git a/patches/server/0836-Implement-PlayerFailMoveEvent.patch b/patches/server/0836-Implement-PlayerFailMoveEvent.patch
index 99859fc143..6d31aefbe8 100644
--- a/patches/server/0836-Implement-PlayerFailMoveEvent.patch
+++ b/patches/server/0836-Implement-PlayerFailMoveEvent.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Implement PlayerFailMoveEvent
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 5d261106b0cd12e9ed737833b1f6d2572d15ab4e..618c620b4bca535c454691f9a87c9b36a36021e2 100644
+index eb81cd8421aa2fc011e5cb38e8a52b55fc1938b7..3b5beeb1599700fcc92f741613f84d6141078626 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -1263,8 +1263,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1271,8 +1271,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
double d0 = ServerGamePacketListenerImpl.clampHorizontal(packet.getX(this.player.getX())); final double toX = d0; // Paper - OBFHELPER
double d1 = ServerGamePacketListenerImpl.clampVertical(packet.getY(this.player.getY())); final double toY = d1; // Paper - OBFHELPER
double d2 = ServerGamePacketListenerImpl.clampHorizontal(packet.getZ(this.player.getZ())); final double toZ = d2; // Paper - OBFHELPER
@@ -19,7 +19,7 @@ index 5d261106b0cd12e9ed737833b1f6d2572d15ab4e..618c620b4bca535c454691f9a87c9b36
if (this.player.isPassenger()) {
this.player.absMoveTo(this.player.getX(), this.player.getY(), this.player.getZ(), f, f1);
-@@ -1331,8 +1331,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1339,8 +1339,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
// Paper start - Prevent moving into unloaded chunks
if (this.player.level().paperConfig().chunks.preventMovingIntoUnloadedChunks && (this.player.getX() != toX || this.player.getZ() != toZ) && !worldserver.areChunksLoadedForMove(this.player.getBoundingBox().expandTowards(new Vec3(toX, toY, toZ).subtract(this.player.position())))) {
@@ -36,7 +36,7 @@ index 5d261106b0cd12e9ed737833b1f6d2572d15ab4e..618c620b4bca535c454691f9a87c9b36
}
// Paper end - Prevent moving into unloaded chunks
-@@ -1341,9 +1347,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1349,9 +1355,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
if (d10 - d9 > Math.max(f2, Math.pow((double) (org.spigotmc.SpigotConfig.movedTooQuicklyMultiplier * (float) i * speed), 2))) {
// CraftBukkit end
@@ -56,7 +56,7 @@ index 5d261106b0cd12e9ed737833b1f6d2572d15ab4e..618c620b4bca535c454691f9a87c9b36
}
}
}
-@@ -1405,14 +1418,31 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1413,14 +1426,31 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
d8 = d2 - this.player.getZ();
d10 = d6 * d6 + d7 * d7 + d8 * d8;
@@ -91,7 +91,7 @@ index 5d261106b0cd12e9ed737833b1f6d2572d15ab4e..618c620b4bca535c454691f9a87c9b36
this.internalTeleport(d3, d4, d5, f, f1); // CraftBukkit - SPIGOT-1807: Don't call teleport event, when the client thinks the player is falling, because the chunks are not loaded on the client yet.
this.player.doCheckFallDamage(this.player.getX() - d3, this.player.getY() - d4, this.player.getZ() - d5, packet.isOnGround());
} else {
-@@ -3529,4 +3559,17 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -3537,4 +3567,17 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
InteractionResult run(ServerPlayer player, Entity entity, InteractionHand hand);
}
diff --git a/patches/server/0846-Fix-custom-statistic-criteria-creation.patch b/patches/server/0846-Fix-custom-statistic-criteria-creation.patch
index 9301d80ab3..6e562a7f2d 100644
--- a/patches/server/0846-Fix-custom-statistic-criteria-creation.patch
+++ b/patches/server/0846-Fix-custom-statistic-criteria-creation.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Fix custom statistic criteria creation
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index a5a3a0f0460252415c243dfe3019d103b9589c5b..a4998c2df341a1b9a337afb24284428cd98e59d8 100644
+index 66913ab43bb1e9066487749ff60248c22fc8e824..78b5578ece76c88a4dafcd4220a82081e85cf735 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -599,6 +599,14 @@ public final class CraftMagicNumbers implements UnsafeValues {
diff --git a/patches/server/0847-Bandaid-fix-for-Effect.patch b/patches/server/0847-Bandaid-fix-for-Effect.patch
index 9aec13d2df..c5be523db0 100644
--- a/patches/server/0847-Bandaid-fix-for-Effect.patch
+++ b/patches/server/0847-Bandaid-fix-for-Effect.patch
@@ -81,10 +81,10 @@ index 03cef3e33de1cf2a1ad4c7a5ba9a65ee3b69ee52..536ad499e893c5b9898fb02582eeca54
// Special case: the axis is optional for ELECTRIC_SPARK
Preconditions.checkArgument(effect.getData() == null || effect == Effect.ELECTRIC_SPARK, "Wrong kind of data for the %s effect", effect);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 79e35265978357eeb27c43205433d6b24335f401..e20e8ba103a0ba094e00ef08ff0fc3b741a9bce5 100644
+index 78a12f857db37ec5305d6c14847bc7653669bcc0..3b0d27c6c07ce4bce0b4ab8877d94a937708d2ae 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -930,7 +930,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -934,7 +934,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
Preconditions.checkArgument(effect != null, "Effect cannot be null");
if (data != null) {
Preconditions.checkArgument(effect.getData() != null, "Effect.%s does not have a valid Data", effect);
diff --git a/patches/server/0851-Don-t-tab-complete-namespaced-commands-if-send-names.patch b/patches/server/0851-Don-t-tab-complete-namespaced-commands-if-send-names.patch
index 0e8de9d68d..43c52d9c14 100644
--- a/patches/server/0851-Don-t-tab-complete-namespaced-commands-if-send-names.patch
+++ b/patches/server/0851-Don-t-tab-complete-namespaced-commands-if-send-names.patch
@@ -11,10 +11,10 @@ This patch prevents server from sending namespaced commands when player
requests tab-complete only commands.
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 618c620b4bca535c454691f9a87c9b36a36021e2..f21a5b9de17db9a094b22267b33bbffbf7ef8966 100644
+index 3b5beeb1599700fcc92f741613f84d6141078626..8e877e4cea2a14cc0a8fed41e983712645ba8c48 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -824,6 +824,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -832,6 +832,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
ParseResults<CommandSourceStack> parseresults = this.server.getCommands().getDispatcher().parse(stringreader, this.player.createCommandSourceStack());
this.server.getCommands().getDispatcher().getCompletionSuggestions(parseresults).thenAccept((suggestions) -> {
diff --git a/patches/server/0855-Add-Listing-API-for-Player.patch b/patches/server/0855-Add-Listing-API-for-Player.patch
index d6ed7ccd47..815bcea717 100644
--- a/patches/server/0855-Add-Listing-API-for-Player.patch
+++ b/patches/server/0855-Add-Listing-API-for-Player.patch
@@ -122,10 +122,10 @@ index 7356a027ae3bca3a9f2056ef6849d5fab38a0df3..a4937d11b79cef41f3fbf79282c0c435
// Paper end - Use single player info update packet on join
player.sentListPacket = true;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index e20e8ba103a0ba094e00ef08ff0fc3b741a9bce5..b6093a1bbd8176cde85ef034373ae71f9dd8f1c1 100644
+index 3b0d27c6c07ce4bce0b4ab8877d94a937708d2ae..2658c7a0257d7bab26d043626abb9f2310f284e2 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -202,6 +202,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -206,6 +206,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
private final ConversationTracker conversationTracker = new ConversationTracker();
private final Set<String> channels = new HashSet<String>();
private final Map<UUID, Set<WeakReference<Plugin>>> invertedVisibilityEntities = new HashMap<>();
@@ -133,7 +133,7 @@ index e20e8ba103a0ba094e00ef08ff0fc3b741a9bce5..b6093a1bbd8176cde85ef034373ae71f
private static final WeakHashMap<Plugin, WeakReference<Plugin>> pluginWeakReferences = new WeakHashMap<>();
private int hash = 0;
private double health = 20;
-@@ -2105,7 +2106,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2119,7 +2120,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
otherPlayer.setUUID(uuidOverride);
}
// Paper end
@@ -142,7 +142,7 @@ index e20e8ba103a0ba094e00ef08ff0fc3b741a9bce5..b6093a1bbd8176cde85ef034373ae71f
if (original != null) otherPlayer.setUUID(original); // Paper - uuid override
}
-@@ -2209,6 +2210,41 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2223,6 +2224,41 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return (entity != null) ? this.canSee(entity) : false; // If we can't find it, we can't see it
}
diff --git a/patches/server/0861-Add-PlayerPickItemEvent.patch b/patches/server/0861-Add-PlayerPickItemEvent.patch
index 747014f964..8309e2c118 100644
--- a/patches/server/0861-Add-PlayerPickItemEvent.patch
+++ b/patches/server/0861-Add-PlayerPickItemEvent.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add PlayerPickItemEvent
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index f21a5b9de17db9a094b22267b33bbffbf7ef8966..c6f51c3a1c0ff9bc6b6bfe3c7091be324a2129ed 100644
+index 8e877e4cea2a14cc0a8fed41e983712645ba8c48..d4250cc73bc51c51b78a9392a9879d47dc67f159 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -939,7 +939,17 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -947,7 +947,17 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.disconnect(Component.literal("Invalid hotbar selection (Hacking?)"), org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION); // Paper - kick event cause
return;
}
diff --git a/patches/server/0865-Implement-OfflinePlayer-isConnected.patch b/patches/server/0865-Implement-OfflinePlayer-isConnected.patch
index 67483270a7..245ae43622 100644
--- a/patches/server/0865-Implement-OfflinePlayer-isConnected.patch
+++ b/patches/server/0865-Implement-OfflinePlayer-isConnected.patch
@@ -23,10 +23,10 @@ index 2c2c4db31a746b4eb853dc04c6b3e5631bbfa034..4f4e3ee18d586f61706504218cddc06a
public String getName() {
Player player = this.getPlayer();
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index b6093a1bbd8176cde85ef034373ae71f9dd8f1c1..3f55fbf41a85e71a62628db18fde4afb3dd923c3 100644
+index 2658c7a0257d7bab26d043626abb9f2310f284e2..060f4cade69dbd41e96d1684b4fba34762f5eaa7 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -257,6 +257,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -261,6 +261,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.server.getPlayer(this.getUniqueId()) != null;
}
diff --git a/patches/server/0866-Fix-slot-desync.patch b/patches/server/0866-Fix-slot-desync.patch
index 449fa59ed0..b85e196ed6 100644
--- a/patches/server/0866-Fix-slot-desync.patch
+++ b/patches/server/0866-Fix-slot-desync.patch
@@ -22,10 +22,10 @@ index 1a7d2ade0e85dd5e6cd6c9202e3277cc2fa43d4a..37defbc0674e67a26e5a9aebb811310e
this.containerMenu.findSlot(this.getInventory(), this.getInventory().selected).ifPresent(s -> {
this.containerSynchronizer.sendSlotChange(this.containerMenu, s, this.getMainHandItem());
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index c6f51c3a1c0ff9bc6b6bfe3c7091be324a2129ed..fe23c77efae996dfa6c3530c11e51202bccca378 100644
+index d4250cc73bc51c51b78a9392a9879d47dc67f159..182897b4ab9415b7aab0b968274993dd43a47903 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -2741,10 +2741,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2749,10 +2749,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
// Refresh the current entity metadata
entity.refreshEntityData(ServerGamePacketListenerImpl.this.player);
// SPIGOT-7136 - Allays
diff --git a/patches/server/0871-Add-slot-sanity-checks-in-container-clicks.patch b/patches/server/0871-Add-slot-sanity-checks-in-container-clicks.patch
index e09447a233..22ddd65752 100644
--- a/patches/server/0871-Add-slot-sanity-checks-in-container-clicks.patch
+++ b/patches/server/0871-Add-slot-sanity-checks-in-container-clicks.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add slot sanity checks in container clicks
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index fe23c77efae996dfa6c3530c11e51202bccca378..8b5be8870a0077b82e345027b323b8b4f448f231 100644
+index 182897b4ab9415b7aab0b968274993dd43a47903..17402d393df27474b38c8d9b0b7aa424ec34d1a9 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -3003,6 +3003,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -3011,6 +3011,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
break;
case SWAP:
if ((packet.getButtonNum() >= 0 && packet.getButtonNum() < 9) || packet.getButtonNum() == 40) {
diff --git a/patches/server/0884-Fix-UnsafeValues-loadAdvancement.patch b/patches/server/0884-Fix-UnsafeValues-loadAdvancement.patch
index 3bf5c53ea0..57e986f1b7 100644
--- a/patches/server/0884-Fix-UnsafeValues-loadAdvancement.patch
+++ b/patches/server/0884-Fix-UnsafeValues-loadAdvancement.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Fix UnsafeValues#loadAdvancement
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index a4998c2df341a1b9a337afb24284428cd98e59d8..fa3add7cc39997d137b9dbc2178e08e9a6e5f31a 100644
+index 78b5578ece76c88a4dafcd4220a82081e85cf735..bd77a942a264a5d9cdaba4cc63099b8ae00c48f6 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -308,9 +308,30 @@ public final class CraftMagicNumbers implements UnsafeValues {
diff --git a/patches/server/0885-Add-player-idle-duration-API.patch b/patches/server/0885-Add-player-idle-duration-API.patch
index 85d9444c87..69a1a77c2f 100644
--- a/patches/server/0885-Add-player-idle-duration-API.patch
+++ b/patches/server/0885-Add-player-idle-duration-API.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Add player idle duration API
Implements API for getting and resetting a player's idle duration.
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 3f55fbf41a85e71a62628db18fde4afb3dd923c3..6de8cd1961a3d5bb50043cc4f1135a981e398666 100644
+index 060f4cade69dbd41e96d1684b4fba34762f5eaa7..1681653f686133b5d2c0c10c368f86134b295d20 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -3432,6 +3432,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -3446,6 +3446,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
// Paper end
diff --git a/patches/server/0888-Allow-null-itemstack-for-Player-sendEquipmentChange.patch b/patches/server/0888-Allow-null-itemstack-for-Player-sendEquipmentChange.patch
index 102c7e1673..d52f931c35 100644
--- a/patches/server/0888-Allow-null-itemstack-for-Player-sendEquipmentChange.patch
+++ b/patches/server/0888-Allow-null-itemstack-for-Player-sendEquipmentChange.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Allow null itemstack for Player#sendEquipmentChange
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 6de8cd1961a3d5bb50043cc4f1135a981e398666..620977c5afae38b8769cea8ccd5e97b311da6fc3 100644
+index 1681653f686133b5d2c0c10c368f86134b295d20..bdc9ac5bee552c1de110d6588d3850a6b3cd5723 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1140,7 +1140,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1144,7 +1144,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void sendEquipmentChange(LivingEntity entity, EquipmentSlot slot, ItemStack item) {
diff --git a/patches/server/0908-Add-experience-points-API.patch b/patches/server/0908-Add-experience-points-API.patch
index c6ac9ee89a..0ab86e2d01 100644
--- a/patches/server/0908-Add-experience-points-API.patch
+++ b/patches/server/0908-Add-experience-points-API.patch
@@ -18,10 +18,10 @@ index aca888c2f02b09ac6739bdc81b194c4527dd69f5..a19a795deaa7f46c92b97912e2ade006
// Paper start - send while respecting visibility
private static void sendSoundEffect(Player fromEntity, double x, double y, double z, SoundEvent soundEffect, SoundSource soundCategory, float volume, float pitch) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 620977c5afae38b8769cea8ccd5e97b311da6fc3..24b05e9b21ec84a4677f58ed790d308e700741b5 100644
+index bdc9ac5bee552c1de110d6588d3850a6b3cd5723..d5d30252241d5051b038cf4f487e956afd554ee0 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1934,6 +1934,49 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1948,6 +1948,49 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
Preconditions.checkArgument(exp >= 0, "Total experience points must not be negative (%s)", exp);
this.getHandle().totalExperience = exp;
}
diff --git a/patches/server/0918-Add-api-for-spawn-egg-texture-colors.patch b/patches/server/0918-Add-api-for-spawn-egg-texture-colors.patch
index 519fc3ea81..255e25785b 100644
--- a/patches/server/0918-Add-api-for-spawn-egg-texture-colors.patch
+++ b/patches/server/0918-Add-api-for-spawn-egg-texture-colors.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add api for spawn egg texture colors
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index fa3add7cc39997d137b9dbc2178e08e9a6e5f31a..b6591836a8d9301b8cf909223426df0e8e675c1f 100644
+index bd77a942a264a5d9cdaba4cc63099b8ae00c48f6..db177cb5a99b3529b2eed291bc794234214f8e7c 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -643,6 +643,15 @@ public final class CraftMagicNumbers implements UnsafeValues {
diff --git a/patches/server/0919-Add-Lifecycle-Event-system.patch b/patches/server/0919-Add-Lifecycle-Event-system.patch
index 2f7888db41..fe8a2a22de 100644
--- a/patches/server/0919-Add-Lifecycle-Event-system.patch
+++ b/patches/server/0919-Add-Lifecycle-Event-system.patch
@@ -743,7 +743,7 @@ index 2934e232c84603224470fdaba0103d42fc06e8b4..4dc64ab006399d62251f4a238d9c2cae
this.reloadCount++;
this.configuration = YamlConfiguration.loadConfiguration(this.getConfigFile());
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index b6591836a8d9301b8cf909223426df0e8e675c1f..6396af834c5ca2328896613c5d97e43624eb305d 100644
+index db177cb5a99b3529b2eed291bc794234214f8e7c..5a94b9a5c400818818cc427160d696f10470f3a2 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -652,6 +652,13 @@ public final class CraftMagicNumbers implements UnsafeValues {
diff --git a/patches/server/0920-ItemStack-Tooltip-API.patch b/patches/server/0920-ItemStack-Tooltip-API.patch
index 006236f389..c7e83e2f18 100644
--- a/patches/server/0920-ItemStack-Tooltip-API.patch
+++ b/patches/server/0920-ItemStack-Tooltip-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] ItemStack Tooltip API
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 6396af834c5ca2328896613c5d97e43624eb305d..6e070dada87083656a19b4abf78db63f4b2513e6 100644
+index 5a94b9a5c400818818cc427160d696f10470f3a2..b24ccbff89db873f5bdf62cbebcca0049b94a8d5 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -628,6 +628,21 @@ public final class CraftMagicNumbers implements UnsafeValues {
diff --git a/patches/server/0922-Add-FluidState-API.patch b/patches/server/0922-Add-FluidState-API.patch
index 8fa8aecc02..e1e2fe004f 100644
--- a/patches/server/0922-Add-FluidState-API.patch
+++ b/patches/server/0922-Add-FluidState-API.patch
@@ -173,7 +173,7 @@ index 0000000000000000000000000000000000000000..c0c2805cb045cdd835b402776a6923fe
+
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
-index 29825ea687827c075b87e88c45672e7b0093ed17..9af491e6e9ac96fc766462a1f672f44f8fc50ef1 100644
+index 4c234e887c42b27754ed8f05f2000d9309274427..f0bd7d01f56bb792886354ca4f199e46c2cf7503 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
@@ -108,6 +108,13 @@ public abstract class CraftRegionAccessor implements RegionAccessor {
diff --git a/patches/server/0928-Add-CartographyItemEvent.patch b/patches/server/0928-Add-CartographyItemEvent.patch
index ca08d014f8..e02b1544db 100644
--- a/patches/server/0928-Add-CartographyItemEvent.patch
+++ b/patches/server/0928-Add-CartographyItemEvent.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add CartographyItemEvent
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 8b5be8870a0077b82e345027b323b8b4f448f231..80755a80dfd484af361c208fd4de309ca7ef8553 100644
+index 17402d393df27474b38c8d9b0b7aa424ec34d1a9..605488d9b2b20c82906b5870ffe4e0e37b6d36bf 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -3125,6 +3125,19 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -3133,6 +3133,19 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
}
diff --git a/patches/server/0938-Improve-tag-parser-handling.patch b/patches/server/0938-Improve-tag-parser-handling.patch
index 9435db11ac..a3ceebed68 100644
--- a/patches/server/0938-Improve-tag-parser-handling.patch
+++ b/patches/server/0938-Improve-tag-parser-handling.patch
@@ -252,10 +252,10 @@ index 898b19887ed34c87003fc63cb5905df2ba6234a5..b47eeb23055b135d5567552ba983bfbc
private void write(FriendlyByteBuf buf) {
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 80755a80dfd484af361c208fd4de309ca7ef8553..74b70c7a41d03bae57e1b2863b7ce947f951da46 100644
+index 605488d9b2b20c82906b5870ffe4e0e37b6d36bf..ac2a2722e154bdee0c4bbea22f3fb032c3ba39c9 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -770,6 +770,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -778,6 +778,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
return;
}
// Paper end - Don't suggest if tab-complete is disabled
@@ -269,7 +269,7 @@ index 80755a80dfd484af361c208fd4de309ca7ef8553..74b70c7a41d03bae57e1b2863b7ce947
// Paper start - AsyncTabCompleteEvent
TAB_COMPLETE_EXECUTOR.execute(() -> this.handleCustomCommandSuggestions0(packet));
}
-@@ -822,6 +829,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -830,6 +837,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
private void sendServerSuggestions(final ServerboundCommandSuggestionPacket packet, final StringReader stringreader) {
// Paper end - AsyncTabCompleteEvent
ParseResults<CommandSourceStack> parseresults = this.server.getCommands().getDispatcher().parse(stringreader, this.player.createCommandSourceStack());
diff --git a/patches/server/0953-Added-API-to-get-player-ha-proxy-address.patch b/patches/server/0953-Added-API-to-get-player-ha-proxy-address.patch
index 4ff67e86ed..e71ca83a36 100644
--- a/patches/server/0953-Added-API-to-get-player-ha-proxy-address.patch
+++ b/patches/server/0953-Added-API-to-get-player-ha-proxy-address.patch
@@ -35,10 +35,10 @@ index c62df32af11636ad408b584fcc590590ce4fb0d0..baed0bb80d44973f9323bbe536551182
} else {
super.channelRead(ctx, msg);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 24b05e9b21ec84a4677f58ed790d308e700741b5..60a5eb5bd23bb267648bc55c1ee6bdfb29f806ce 100644
+index d5d30252241d5051b038cf4f487e956afd554ee0..8d16575c74b81ada4e4efe70e8f077f07cd0a3f0 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -266,7 +266,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -270,7 +270,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public InetSocketAddress getAddress() {
@@ -47,7 +47,7 @@ index 24b05e9b21ec84a4677f58ed790d308e700741b5..60a5eb5bd23bb267648bc55c1ee6bdfb
SocketAddress addr = this.getHandle().connection.getRemoteAddress();
if (addr instanceof InetSocketAddress) {
-@@ -276,6 +276,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -280,6 +280,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
}
diff --git a/patches/server/0957-Brigadier-based-command-API.patch b/patches/server/0957-Brigadier-based-command-API.patch
index 6eb0d9779c..86df1cfd97 100644
--- a/patches/server/0957-Brigadier-based-command-API.patch
+++ b/patches/server/0957-Brigadier-based-command-API.patch
@@ -2338,10 +2338,10 @@ index eb9dab7be7da11ab1c4046a7fc4a29d5bddf31d2..39c9c0dad159744da8322c3dfa3bfae4
this.setPvpAllowed(dedicatedserverproperties.pvp);
this.setFlightAllowed(dedicatedserverproperties.allowFlight);
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 74b70c7a41d03bae57e1b2863b7ce947f951da46..7508434475ea93f9153f3976c5fa95c7678807e9 100644
+index ac2a2722e154bdee0c4bbea22f3fb032c3ba39c9..4ac4ab815edf34e8037e9f16ec2f8d29b1f2cabd 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -2421,33 +2421,20 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2429,33 +2429,20 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
}
diff --git a/patches/server/0958-Fix-issues-with-Recipe-API.patch b/patches/server/0958-Fix-issues-with-Recipe-API.patch
index bcc33fc956..ab2b6a47ef 100644
--- a/patches/server/0958-Fix-issues-with-Recipe-API.patch
+++ b/patches/server/0958-Fix-issues-with-Recipe-API.patch
@@ -18,13 +18,13 @@ index dd02af6574dd97404bc9c02c9ead84e1dd537efe..980fea65899ef5f37808506b822fd3de
}
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftRecipe.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftRecipe.java
-index a68e036a12b354c4f04b6596dfb9cd6e7663718b..d8af6522f7516de93e33cb9da8490f5ec14e7553 100644
+index a30950287646524c4906574d193ec7ce94b4eb34..d270e17f10cc8abe3f5209d82991fcb0b2bb1ba7 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftRecipe.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftRecipe.java
@@ -38,6 +38,10 @@ public interface CraftRecipe extends Recipe {
stack = Ingredient.of(((RecipeChoice.MaterialChoice) bukkit).getChoices().stream().map((mat) -> CraftItemType.bukkitToMinecraft(mat)));
} else if (bukkit instanceof RecipeChoice.ExactChoice) {
- stack = Ingredient.ofStacks(((RecipeChoice.ExactChoice) bukkit).getChoices().stream().map((mat) -> CraftItemStack.asNMSCopy(mat)));
+ stack = Ingredient.ofStacks(((RecipeChoice.ExactChoice) bukkit).getChoices().stream().map((mat) -> CraftItemStack.asNMSCopy(mat)).toList());
+ // Paper start - support "empty" choices
+ } else if (bukkit == RecipeChoice.empty()) {
+ stack = Ingredient.of();
diff --git a/patches/server/0959-Fix-equipment-slot-and-group-API.patch b/patches/server/0959-Fix-equipment-slot-and-group-API.patch
index ecc15fdf24..962f6d77b2 100644
--- a/patches/server/0959-Fix-equipment-slot-and-group-API.patch
+++ b/patches/server/0959-Fix-equipment-slot-and-group-API.patch
@@ -26,7 +26,7 @@ index a62d17b72c675120b447e625cb3dc437681bdf20..f16067b674118a47735ad22797988d50
+ // Paper end - Expose canUseSlot
}
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java
-index 46d0b324498510c73a8439611f44269edee62313..69982103d8ea31e9b83b18c4c03a7b021bb983b9 100644
+index e62baea16df017f1e394e3c706157e158066eb93..656c9a6d8cd42891141ee29ec91ab5d166051ed6 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java
@@ -135,6 +135,10 @@ public class CraftInventoryPlayer extends CraftInventory implements org.bukkit.i
@@ -38,7 +38,7 @@ index 46d0b324498510c73a8439611f44269edee62313..69982103d8ea31e9b83b18c4c03a7b02
+ throw new IllegalArgumentException("BODY is not valid for players!");
+ // Paper end
default:
- throw new IllegalArgumentException("Not implemented. This is a bug");
+ throw new IllegalArgumentException("Could not set slot " + slot + " - not a valid slot for PlayerInventory");
}
@@ -162,6 +166,10 @@ public class CraftInventoryPlayer extends CraftInventory implements org.bukkit.i
return java.util.Objects.requireNonNullElseGet(this.getChestplate(), () -> new ItemStack(org.bukkit.Material.AIR)); // Paper - make nonnull
@@ -49,7 +49,7 @@ index 46d0b324498510c73a8439611f44269edee62313..69982103d8ea31e9b83b18c4c03a7b02
+ throw new IllegalArgumentException("BODY is not valid for players!");
+ // Paper end
default:
- throw new IllegalArgumentException("Not implemented. This is a bug");
+ throw new IllegalArgumentException("Could not get slot " + slot + " - not a valid slot for PlayerInventory");
}
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
index 63567251d101b5e50ffd7e2825b1411fcb433c8c..450c5aa14b4195eb7123492c7a111ec6f40ce412 100644
diff --git a/patches/server/0961-Prevent-sending-oversized-item-data-in-equipment-and.patch b/patches/server/0961-Prevent-sending-oversized-item-data-in-equipment-and.patch
index b2a9a23cfe..b49ee289c2 100644
--- a/patches/server/0961-Prevent-sending-oversized-item-data-in-equipment-and.patch
+++ b/patches/server/0961-Prevent-sending-oversized-item-data-in-equipment-and.patch
@@ -209,10 +209,10 @@ index f3456aeeab7eee5b6d0383a4bf1338dd8cc95bb3..b2fd3e936559c8fcb8b02ae3ef63c4f3
((LivingEntity) this.entity).detectEquipmentUpdatesPublic(); // CraftBukkit - SPIGOT-3789: sync again immediately after sending
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 7508434475ea93f9153f3976c5fa95c7678807e9..dc8f2d0bc3adc87088e7289a90c9186483e21cf4 100644
+index 4ac4ab815edf34e8037e9f16ec2f8d29b1f2cabd..93451a4cfc71ba00610c13011b73905e613b0b10 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -2743,7 +2743,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2751,7 +2751,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
entity.refreshEntityData(ServerGamePacketListenerImpl.this.player);
// SPIGOT-7136 - Allays
if (entity instanceof Allay || entity instanceof net.minecraft.world.entity.animal.horse.AbstractHorse) { // Paper - Fix horse armor desync
diff --git a/patches/server/0965-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch b/patches/server/0965-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch
index fedf5ac805..642be4bf78 100644
--- a/patches/server/0965-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch
+++ b/patches/server/0965-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Deprecate InvAction#HOTBAR_MOVE_AND_READD
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index dc8f2d0bc3adc87088e7289a90c9186483e21cf4..2533c0a54e74666a55a8478c7d4da12d26e31fd4 100644
+index 93451a4cfc71ba00610c13011b73905e613b0b10..46f4d7a05d4febd1f8fd3cc2cae635a9e3da0e9e 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -3014,14 +3014,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -3022,14 +3022,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
Slot clickedSlot = this.player.containerMenu.getSlot(packet.getSlotNum());
if (clickedSlot.mayPickup(this.player)) {
ItemStack hotbar = this.player.getInventory().getItem(packet.getButtonNum());
diff --git a/work/BuildData b/work/BuildData
-Subproject 0ea6fcc9bc8ad9e7c729f5031123bcc69ce2b03
+Subproject 0c5ebabcb4ce41f69a7d2319b468b6faee43403
diff --git a/work/Bukkit b/work/Bukkit
-Subproject f6ac70751dbb9d2280a14b3706248987c243e31
+Subproject 553558256cab26217919a0809cc26f7aad22995
diff --git a/work/CraftBukkit b/work/CraftBukkit
-Subproject 459c38af307944fbf03a472cba33c71d93287d3
+Subproject 18b8ae18390763d48ea292435b75c1eabf5dbff
diff --git a/work/Spigot b/work/Spigot
-Subproject a084d85da8604d468f81091f56dc81166d91293
+Subproject 5eb8a94b2f4dfefed5c71a40f87a84c34d1c882