aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorLulu13022002 <[email protected]>2024-11-26 18:46:12 +0100
committerGitHub <[email protected]>2024-11-26 18:46:12 +0100
commitf4741f22e813e0909a3f5ceacbadeac4f2b03f3b (patch)
treec99cb955ec3042893c236cf291aaa4512203c98b
parent5f0932b6c8ac9a3c900075fc40f77b506c63ed82 (diff)
downloadPaper-f4741f22e813e0909a3f5ceacbadeac4f2b03f3b.tar.gz
Paper-f4741f22e813e0909a3f5ceacbadeac4f2b03f3b.zip
Expose particle status client option (#11573)
-rw-r--r--patches/api/0183-Add-Player-Client-Options-API.patch49
-rw-r--r--patches/server/0337-Implement-Player-Client-Options-API.patch74
-rw-r--r--patches/server/0388-Brand-support.patch6
-rw-r--r--patches/server/0400-Add-methods-to-get-translation-keys.patch15
-rw-r--r--patches/server/0429-Fix-Player-spawnParticle-x-y-z-precision-loss.patch4
-rw-r--r--patches/server/0465-Add-sendOpLevel-API.patch4
-rw-r--r--patches/server/0526-Expand-PlayerGameModeChangeEvent.patch8
-rw-r--r--patches/server/0538-Add-PlayerKickEvent-causes.patch4
-rw-r--r--patches/server/0551-Fix-PlayerDropItemEvent-using-wrong-item.patch4
-rw-r--r--patches/server/0565-Add-PlayerSetSpawnEvent.patch10
-rw-r--r--patches/server/0647-Multi-Block-Change-API-Implementation.patch4
-rw-r--r--patches/server/0714-More-Teleport-API.patch12
-rw-r--r--patches/server/0719-Custom-Chat-Completion-Suggestions-API.patch4
-rw-r--r--patches/server/0744-Elder-Guardian-appearance-API.patch4
-rw-r--r--patches/server/0756-Add-Player-Warden-Warning-API.patch4
-rw-r--r--patches/server/0768-fix-Instruments.patch4
-rw-r--r--patches/server/0777-Flying-Fall-Damage.patch4
-rw-r--r--patches/server/0782-Win-Screen-API.patch4
-rw-r--r--patches/server/0807-Expand-PlayerItemMendEvent.patch4
-rw-r--r--patches/server/0826-Fix-BanList-API.patch6
-rw-r--r--patches/server/0845-Bandaid-fix-for-Effect.patch4
-rw-r--r--patches/server/0853-Add-Listing-API-for-Player.patch6
-rw-r--r--patches/server/0883-Add-player-idle-duration-API.patch4
-rw-r--r--patches/server/0886-Allow-null-itemstack-for-Player-sendEquipmentChange.patch4
-rw-r--r--patches/server/0906-Add-experience-points-API.patch4
-rw-r--r--patches/server/0973-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch2
-rw-r--r--patches/server/1027-Improve-entity-effect-API.patch8
-rw-r--r--patches/server/1038-Moonrise-optimisation-patches.patch10
-rw-r--r--patches/server/1039-API-for-checking-sent-chunks.patch4
-rw-r--r--patches/server/1056-Allow-using-old-ender-pearl-behavior.patch2
30 files changed, 155 insertions, 121 deletions
diff --git a/patches/api/0183-Add-Player-Client-Options-API.patch b/patches/api/0183-Add-Player-Client-Options-API.patch
index 44f597e144..94a094608b 100644
--- a/patches/api/0183-Add-Player-Client-Options-API.patch
+++ b/patches/api/0183-Add-Player-Client-Options-API.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Add Player Client Options API
diff --git a/src/main/java/com/destroystokyo/paper/ClientOption.java b/src/main/java/com/destroystokyo/paper/ClientOption.java
new file mode 100644
-index 0000000000000000000000000000000000000000..ed08f823e0620289392f7fc2ff0ac721cff60478
+index 0000000000000000000000000000000000000000..7af28d6ba27c97a87ffbb9db03a5c340277853cc
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/ClientOption.java
-@@ -0,0 +1,51 @@
+@@ -0,0 +1,70 @@
+package com.destroystokyo.paper;
+
+import net.kyori.adventure.translation.Translatable;
@@ -26,8 +26,9 @@ index 0000000000000000000000000000000000000000..ed08f823e0620289392f7fc2ff0ac721
+ public static final ClientOption<String> LOCALE = new ClientOption<>(String.class);
+ public static final ClientOption<MainHand> MAIN_HAND = new ClientOption<>(MainHand.class);
+ public static final ClientOption<Integer> VIEW_DISTANCE = new ClientOption<>(Integer.class);
-+ public static final ClientOption<Boolean> ALLOW_SERVER_LISTINGS = new ClientOption<>(Boolean.class);
+ public static final ClientOption<Boolean> TEXT_FILTERING_ENABLED = new ClientOption<>(Boolean.class);
++ public static final ClientOption<Boolean> ALLOW_SERVER_LISTINGS = new ClientOption<>(Boolean.class);
++ public static final ClientOption<ParticleVisibility> PARTICLE_VISIBILITY = new ClientOption<>(ParticleVisibility.class);
+
+ private final Class<T> type;
+
@@ -60,6 +61,24 @@ index 0000000000000000000000000000000000000000..ed08f823e0620289392f7fc2ff0ac721
+ return "options.chat.visibility." + this.name;
+ }
+ }
++
++ public enum ParticleVisibility implements Translatable {
++ ALL("all"),
++ DECREASED("decreased"),
++ MINIMAL("minimal");
++
++ public static final Index<String, ParticleVisibility> NAMES = Index.create(ParticleVisibility.class, particleVisibility -> particleVisibility.name);
++ private final String name;
++
++ ParticleVisibility(final String name) {
++ this.name = name;
++ }
++
++ @Override
++ public String translationKey() {
++ return "options.particles." + this.name;
++ }
++ }
+}
diff --git a/src/main/java/com/destroystokyo/paper/SkinParts.java b/src/main/java/com/destroystokyo/paper/SkinParts.java
new file mode 100644
@@ -89,14 +108,15 @@ index 0000000000000000000000000000000000000000..4a0c39405d4fbed457787e3c6ded4cc6
+}
diff --git a/src/main/java/com/destroystokyo/paper/event/player/PlayerClientOptionsChangeEvent.java b/src/main/java/com/destroystokyo/paper/event/player/PlayerClientOptionsChangeEvent.java
new file mode 100644
-index 0000000000000000000000000000000000000000..6cf6aa876278d0d3e75148608951fc5865ad5aee
+index 0000000000000000000000000000000000000000..5245955fb3466d2b89eaad4027d145ebf7bb122c
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/event/player/PlayerClientOptionsChangeEvent.java
-@@ -0,0 +1,130 @@
+@@ -0,0 +1,142 @@
+package com.destroystokyo.paper.event.player;
+
+import com.destroystokyo.paper.ClientOption;
+import com.destroystokyo.paper.ClientOption.ChatVisibility;
++import com.destroystokyo.paper.ClientOption.ParticleVisibility;
+import com.destroystokyo.paper.SkinParts;
+import java.util.Map;
+import org.bukkit.entity.Player;
@@ -122,6 +142,7 @@ index 0000000000000000000000000000000000000000..6cf6aa876278d0d3e75148608951fc58
+ private final MainHand mainHand;
+ private final boolean allowsServerListings;
+ private final boolean textFilteringEnabled;
++ private final ParticleVisibility particleVisibility;
+
+ @Deprecated
+ public PlayerClientOptionsChangeEvent(final Player player, final String locale, final int viewDistance, final ChatVisibility chatVisibility, final boolean chatColors, final SkinParts skinParts, final MainHand mainHand) {
@@ -134,6 +155,7 @@ index 0000000000000000000000000000000000000000..6cf6aa876278d0d3e75148608951fc58
+ this.mainHand = mainHand;
+ this.allowsServerListings = false;
+ this.textFilteringEnabled = false;
++ this.particleVisibility = ParticleVisibility.ALL;
+ }
+
+ @ApiStatus.Internal
@@ -148,6 +170,7 @@ index 0000000000000000000000000000000000000000..6cf6aa876278d0d3e75148608951fc58
+ this.mainHand = (MainHand) options.get(ClientOption.MAIN_HAND);
+ this.allowsServerListings = (boolean) options.get(ClientOption.ALLOW_SERVER_LISTINGS);
+ this.textFilteringEnabled = (boolean) options.get(ClientOption.TEXT_FILTERING_ENABLED);
++ this.particleVisibility = (ParticleVisibility) options.get(ClientOption.PARTICLE_VISIBILITY);
+ }
+
+ public String getLocale() {
@@ -198,6 +221,14 @@ index 0000000000000000000000000000000000000000..6cf6aa876278d0d3e75148608951fc58
+ return this.mainHand != this.player.getClientOption(ClientOption.MAIN_HAND);
+ }
+
++ public boolean hasTextFilteringEnabled() {
++ return this.textFilteringEnabled;
++ }
++
++ public boolean hasTextFilteringChanged() {
++ return this.textFilteringEnabled != this.player.getClientOption(ClientOption.TEXT_FILTERING_ENABLED);
++ }
++
+ public boolean allowsServerListings() {
+ return this.allowsServerListings;
+ }
@@ -206,12 +237,12 @@ index 0000000000000000000000000000000000000000..6cf6aa876278d0d3e75148608951fc58
+ return this.allowsServerListings != this.player.getClientOption(ClientOption.ALLOW_SERVER_LISTINGS);
+ }
+
-+ public boolean hasTextFilteringEnabled() {
-+ return this.textFilteringEnabled;
++ public ParticleVisibility getParticleVisibility() {
++ return this.particleVisibility;
+ }
+
-+ public boolean hasTextFilteringChanged() {
-+ return this.textFilteringEnabled != this.player.getClientOption(ClientOption.TEXT_FILTERING_ENABLED);
++ public boolean hasParticleVisibilityChanged() {
++ return this.particleVisibility != this.player.getClientOption(ClientOption.PARTICLE_VISIBILITY);
+ }
+
+ @Override
diff --git a/patches/server/0337-Implement-Player-Client-Options-API.patch b/patches/server/0337-Implement-Player-Client-Options-API.patch
index 05731c9616..96ad445461 100644
--- a/patches/server/0337-Implement-Player-Client-Options-API.patch
+++ b/patches/server/0337-Implement-Player-Client-Options-API.patch
@@ -5,6 +5,7 @@ Subject: [PATCH] Implement Player Client Options API
== AT ==
public net.minecraft.world.entity.player.Player DATA_PLAYER_MODE_CUSTOMISATION
+public net.minecraft.server.level.ServerPlayer particleStatus
diff --git a/src/main/java/com/destroystokyo/paper/PaperSkinParts.java b/src/main/java/com/destroystokyo/paper/PaperSkinParts.java
new file mode 100644
@@ -87,7 +88,7 @@ index 0000000000000000000000000000000000000000..b6f4400df3d8ec7e06a996de54f8cabb
+ }
+}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 363175d3325c012f31ba84060bb0bfac694f6ab8..9911e231ad021286f2da90057b06874f7b4e3b4d 100644
+index 0c68c0a9ec9b353b353eff0c36af2993df5f59b3..eebf44c7124c4f48b6d48562a00633b1e8ff9b00 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -420,7 +420,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
@@ -99,31 +100,27 @@ index 363175d3325c012f31ba84060bb0bfac694f6ab8..9911e231ad021286f2da90057b06874f
this.object = null;
// CraftBukkit start
-@@ -2404,7 +2404,23 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
- }
+@@ -2405,6 +2405,19 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
}
-+ // Paper start - Client option API
-+ private java.util.Map<com.destroystokyo.paper.ClientOption<?>, ?> getClientOptionMap(String locale, int viewDistance, com.destroystokyo.paper.ClientOption.ChatVisibility chatVisibility, boolean chatColors, com.destroystokyo.paper.PaperSkinParts skinParts, org.bukkit.inventory.MainHand mainHand, boolean allowsServerListing, boolean textFilteringEnabled) {
-+ java.util.Map<com.destroystokyo.paper.ClientOption<?>, Object> map = new java.util.HashMap<>();
-+ map.put(com.destroystokyo.paper.ClientOption.LOCALE, locale);
-+ map.put(com.destroystokyo.paper.ClientOption.VIEW_DISTANCE, viewDistance);
-+ map.put(com.destroystokyo.paper.ClientOption.CHAT_VISIBILITY, chatVisibility);
-+ map.put(com.destroystokyo.paper.ClientOption.CHAT_COLORS_ENABLED, chatColors);
-+ map.put(com.destroystokyo.paper.ClientOption.SKIN_PARTS, skinParts);
-+ map.put(com.destroystokyo.paper.ClientOption.MAIN_HAND, mainHand);
-+ map.put(com.destroystokyo.paper.ClientOption.ALLOW_SERVER_LISTINGS, allowsServerListing);
-+ map.put(com.destroystokyo.paper.ClientOption.TEXT_FILTERING_ENABLED, textFilteringEnabled);
-+ return map;
-+ }
-+ // Paper end
-+
public void updateOptions(ClientInformation clientOptions) {
-+ new com.destroystokyo.paper.event.player.PlayerClientOptionsChangeEvent(getBukkitEntity(), getClientOptionMap(clientOptions.language(), clientOptions.viewDistance(), com.destroystokyo.paper.ClientOption.ChatVisibility.valueOf(clientOptions.chatVisibility().name()), clientOptions.chatColors(), new com.destroystokyo.paper.PaperSkinParts(clientOptions.modelCustomisation()), clientOptions.mainHand() == HumanoidArm.LEFT ? MainHand.LEFT : MainHand.RIGHT, clientOptions.allowsListing(), clientOptions.textFilteringEnabled())).callEvent(); // Paper - settings event
++ // Paper start - settings event
++ new com.destroystokyo.paper.event.player.PlayerClientOptionsChangeEvent(this.getBukkitEntity(), Util.make(new java.util.IdentityHashMap<>(), map -> {
++ map.put(com.destroystokyo.paper.ClientOption.LOCALE, clientOptions.language());
++ map.put(com.destroystokyo.paper.ClientOption.VIEW_DISTANCE, clientOptions.viewDistance());
++ map.put(com.destroystokyo.paper.ClientOption.CHAT_VISIBILITY, com.destroystokyo.paper.ClientOption.ChatVisibility.valueOf(clientOptions.chatVisibility().name()));
++ map.put(com.destroystokyo.paper.ClientOption.CHAT_COLORS_ENABLED, clientOptions.chatColors());
++ map.put(com.destroystokyo.paper.ClientOption.SKIN_PARTS, new com.destroystokyo.paper.PaperSkinParts(clientOptions.modelCustomisation()));
++ map.put(com.destroystokyo.paper.ClientOption.MAIN_HAND, clientOptions.mainHand() == HumanoidArm.LEFT ? MainHand.LEFT : MainHand.RIGHT);
++ map.put(com.destroystokyo.paper.ClientOption.TEXT_FILTERING_ENABLED, clientOptions.textFilteringEnabled());
++ map.put(com.destroystokyo.paper.ClientOption.ALLOW_SERVER_LISTINGS, clientOptions.allowsListing());
++ map.put(com.destroystokyo.paper.ClientOption.PARTICLE_VISIBILITY, com.destroystokyo.paper.ClientOption.ParticleVisibility.valueOf(clientOptions.particleStatus().name()));
++ })).callEvent();
++ // Paper end - settings event
// CraftBukkit start
if (this.getMainArm() != clientOptions.mainHand()) {
PlayerChangedMainHandEvent event = new PlayerChangedMainHandEvent(this.getBukkitEntity(), this.getMainArm() == HumanoidArm.LEFT ? MainHand.LEFT : MainHand.RIGHT);
-@@ -2415,6 +2431,11 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
+@@ -2415,6 +2428,11 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
this.server.server.getPluginManager().callEvent(event);
}
// CraftBukkit end
@@ -136,10 +133,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 341dbff92d15886afe8fe628e06d1c07817241ed..66e5e949c8711103ae9bf73161422f350c217874 100644
+index b3b13f1baea0b170fd4f1546689aad40f53d3c27..8cfcd8797d056be07b09ec9627bc35bf75eb0d2d 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -658,6 +658,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -658,6 +658,30 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
connection.disconnect(message == null ? net.kyori.adventure.text.Component.empty() : message);
}
}
@@ -147,21 +144,23 @@ index 341dbff92d15886afe8fe628e06d1c07817241ed..66e5e949c8711103ae9bf73161422f35
+ @Override
+ public <T> T getClientOption(com.destroystokyo.paper.ClientOption<T> type) {
+ if (com.destroystokyo.paper.ClientOption.SKIN_PARTS == type) {
-+ return type.getType().cast(new com.destroystokyo.paper.PaperSkinParts(getHandle().getEntityData().get(net.minecraft.world.entity.player.Player.DATA_PLAYER_MODE_CUSTOMISATION)));
++ return type.getType().cast(new com.destroystokyo.paper.PaperSkinParts(this.getHandle().getEntityData().get(net.minecraft.world.entity.player.Player.DATA_PLAYER_MODE_CUSTOMISATION)));
+ } else if (com.destroystokyo.paper.ClientOption.CHAT_COLORS_ENABLED == type) {
-+ return type.getType().cast(getHandle().canChatInColor());
++ return type.getType().cast(this.getHandle().canChatInColor());
+ } else if (com.destroystokyo.paper.ClientOption.CHAT_VISIBILITY == type) {
-+ return type.getType().cast(getHandle().getChatVisibility() == null ? com.destroystokyo.paper.ClientOption.ChatVisibility.UNKNOWN : com.destroystokyo.paper.ClientOption.ChatVisibility.valueOf(getHandle().getChatVisibility().name()));
++ return type.getType().cast(this.getHandle().getChatVisibility() == null ? com.destroystokyo.paper.ClientOption.ChatVisibility.UNKNOWN : com.destroystokyo.paper.ClientOption.ChatVisibility.valueOf(this.getHandle().getChatVisibility().name()));
+ } else if (com.destroystokyo.paper.ClientOption.LOCALE == type) {
-+ return type.getType().cast(getLocale());
++ return type.getType().cast(this.getLocale());
+ } else if (com.destroystokyo.paper.ClientOption.MAIN_HAND == type) {
-+ return type.getType().cast(getMainHand());
++ return type.getType().cast(this.getMainHand());
+ } else if (com.destroystokyo.paper.ClientOption.VIEW_DISTANCE == type) {
-+ return type.getType().cast(getClientViewDistance());
-+ } else if (com.destroystokyo.paper.ClientOption.ALLOW_SERVER_LISTINGS == type) {
-+ return type.getType().cast(getHandle().allowsListing());
++ return type.getType().cast(this.getClientViewDistance());
+ } else if (com.destroystokyo.paper.ClientOption.TEXT_FILTERING_ENABLED == type) {
-+ return type.getType().cast(getHandle().isTextFilteringEnabled());
++ return type.getType().cast(this.getHandle().isTextFilteringEnabled());
++ } else if (com.destroystokyo.paper.ClientOption.ALLOW_SERVER_LISTINGS == type) {
++ return type.getType().cast(this.getHandle().allowsListing());
++ } else if (com.destroystokyo.paper.ClientOption.PARTICLE_VISIBILITY == type) {
++ return type.getType().cast(com.destroystokyo.paper.ClientOption.ParticleVisibility.valueOf(this.getHandle().particleStatus.name()));
+ }
+ throw new RuntimeException("Unknown settings type");
+ }
@@ -170,15 +169,15 @@ index 341dbff92d15886afe8fe628e06d1c07817241ed..66e5e949c8711103ae9bf73161422f35
@Override
diff --git a/src/test/java/io/papermc/paper/world/TranslationKeyTest.java b/src/test/java/io/papermc/paper/world/TranslationKeyTest.java
new file mode 100644
-index 0000000000000000000000000000000000000000..7f8b6462d2a1bbd39a870d2543bebc135f7eb45b
+index 0000000000000000000000000000000000000000..01e0936ea8ce5bcacafd9e89a1c0dfd2c172024d
--- /dev/null
+++ b/src/test/java/io/papermc/paper/world/TranslationKeyTest.java
-@@ -0,0 +1,18 @@
+@@ -0,0 +1,25 @@
+package io.papermc.paper.world;
+
+import com.destroystokyo.paper.ClientOption;
++import net.minecraft.server.level.ParticleStatus;
+import net.minecraft.world.entity.player.ChatVisiblity;
-+import org.bukkit.Difficulty;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+
@@ -191,4 +190,11 @@ index 0000000000000000000000000000000000000000..7f8b6462d2a1bbd39a870d2543bebc13
+ Assertions.assertEquals(ChatVisiblity.valueOf(chatVisibility.name()).getKey(), chatVisibility.translationKey(), chatVisibility + "'s translation key doesn't match");
+ }
+ }
++
++ @Test
++ public void testParticleVisibilityKeys() {
++ for (ClientOption.ParticleVisibility particleVisibility : ClientOption.ParticleVisibility.values()) {
++ Assertions.assertEquals(ParticleStatus.valueOf(particleVisibility.name()).getKey(), particleVisibility.translationKey(), particleVisibility + "'s translation key doesn't match");
++ }
++ }
+}
diff --git a/patches/server/0388-Brand-support.patch b/patches/server/0388-Brand-support.patch
index 0b8173758c..7ca0f729af 100644
--- a/patches/server/0388-Brand-support.patch
+++ b/patches/server/0388-Brand-support.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Brand support
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index eacc0675d751caf996c9741a5ef5df28d1b9999b..80198c2f6419a3358f41df15dd7bbeb642d37585 100644
+index fd0fd75ed3e75cbdcc1abd56905ace176b871c25..b614be746f1b3c6470eddeb86bb1d4a976b84fcc 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -322,6 +322,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
@@ -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 e4c39eba10124ebf675ac721866e0c73bf15e533..ad109929cb8d9be8e147adaf744f6fa588414404 100644
+index 5ca3025700b3e8995ae003b73dd53e580c95b889..93caaea4832f2cf7102b43c24afaea55e11ae4c1 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -3154,6 +3154,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -3156,6 +3156,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
// Paper end
};
diff --git a/patches/server/0400-Add-methods-to-get-translation-keys.patch b/patches/server/0400-Add-methods-to-get-translation-keys.patch
index e917cc41d3..667be15737 100644
--- a/patches/server/0400-Add-methods-to-get-translation-keys.patch
+++ b/patches/server/0400-Add-methods-to-get-translation-keys.patch
@@ -130,32 +130,29 @@ index 4921fc085c9d60c74028ef390325e26c598e8df1..4941e0afff8df5f10f06c715b54bf58e
case BALL:
return FireworkExplosion.Shape.SMALL_BALL;
diff --git a/src/test/java/io/papermc/paper/world/TranslationKeyTest.java b/src/test/java/io/papermc/paper/world/TranslationKeyTest.java
-index 7f8b6462d2a1bbd39a870d2543bebc135f7eb45b..c843de24f06dcdee474e9a21d0a3dc54b7b3557a 100644
+index 01e0936ea8ce5bcacafd9e89a1c0dfd2c172024d..95b7506c1317f2664f52c88295aee1006db4da63 100644
--- a/src/test/java/io/papermc/paper/world/TranslationKeyTest.java
+++ b/src/test/java/io/papermc/paper/world/TranslationKeyTest.java
-@@ -1,11 +1,32 @@
+@@ -1,11 +1,29 @@
package io.papermc.paper.world;
import com.destroystokyo.paper.ClientOption;
+import java.util.Locale;
+import java.util.Map;
-+import net.minecraft.core.registries.Registries;
+import net.minecraft.network.chat.contents.TranslatableContents;
+import net.minecraft.resources.ResourceKey;
-+import net.minecraft.resources.ResourceLocation;
+ import net.minecraft.server.level.ParticleStatus;
import net.minecraft.world.entity.player.ChatVisiblity;
+import net.minecraft.world.flag.FeatureFlags;
+import net.minecraft.world.level.GameRules;
+import net.minecraft.world.level.GameType;
+import net.minecraft.world.level.biome.Biome;
- import org.bukkit.Difficulty;
++import org.bukkit.Difficulty;
+import org.bukkit.FireworkEffect;
+import org.bukkit.GameMode;
+import org.bukkit.GameRule;
-+import org.bukkit.MusicInstrument;
+import org.bukkit.attribute.Attribute;
+import org.bukkit.craftbukkit.CraftWorld;
-+import org.bukkit.craftbukkit.util.CraftNamespacedKey;
+import org.bukkit.support.RegistryHelper;
+import org.bukkit.support.environment.AllFeatures;
import org.junit.jupiter.api.Assertions;
@@ -166,8 +163,8 @@ index 7f8b6462d2a1bbd39a870d2543bebc135f7eb45b..c843de24f06dcdee474e9a21d0a3dc54
public class TranslationKeyTest {
@Test
-@@ -15,4 +36,61 @@ public class TranslationKeyTest {
- Assertions.assertEquals(ChatVisiblity.valueOf(chatVisibility.name()).getKey(), chatVisibility.translationKey(), chatVisibility + "'s translation key doesn't match");
+@@ -22,4 +40,61 @@ public class TranslationKeyTest {
+ Assertions.assertEquals(ParticleStatus.valueOf(particleVisibility.name()).getKey(), particleVisibility.translationKey(), particleVisibility + "'s translation key doesn't match");
}
}
+
diff --git a/patches/server/0429-Fix-Player-spawnParticle-x-y-z-precision-loss.patch b/patches/server/0429-Fix-Player-spawnParticle-x-y-z-precision-loss.patch
index 7c58dabf9b..1934d75706 100644
--- a/patches/server/0429-Fix-Player-spawnParticle-x-y-z-precision-loss.patch
+++ b/patches/server/0429-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 ad109929cb8d9be8e147adaf744f6fa588414404..c11c83376bd5e006bab86db6d8aa99b7ec371636 100644
+index 93caaea4832f2cf7102b43c24afaea55e11ae4c1..a88d94d51520521144799b9abc4bbde0596082e0 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2722,7 +2722,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2724,7 +2724,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/0465-Add-sendOpLevel-API.patch b/patches/server/0465-Add-sendOpLevel-API.patch
index c781e09a03..4c6369b5e6 100644
--- a/patches/server/0465-Add-sendOpLevel-API.patch
+++ b/patches/server/0465-Add-sendOpLevel-API.patch
@@ -32,10 +32,10 @@ index fbe10666c4ec6caa95aa38a6f99ccca700e9a4d2..061bba184c8bc2569ce1d413435ec136
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 c11c83376bd5e006bab86db6d8aa99b7ec371636..1cc89895a1e03d4b1734a81d89c8bc396bf2b343 100644
+index a88d94d51520521144799b9abc4bbde0596082e0..dbb25f5cc8cf03654faf2386826965f049737897 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -682,6 +682,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -684,6 +684,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
// Paper end
diff --git a/patches/server/0526-Expand-PlayerGameModeChangeEvent.patch b/patches/server/0526-Expand-PlayerGameModeChangeEvent.patch
index 978d3da469..0198d74688 100644
--- a/patches/server/0526-Expand-PlayerGameModeChangeEvent.patch
+++ b/patches/server/0526-Expand-PlayerGameModeChangeEvent.patch
@@ -45,7 +45,7 @@ index 7f09119bc7d661e08a960dd2bd46006efe752d3e..d1da3600dc07107309b20ebe6e7c0c4d
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 57253e59b6330be6176d3aa42f8f575ad1995bca..254d9eede5a9a57280643284175df2e061aa78ea 100644
+index 7c4f7a17f34802962c74bb8c5a732861d1a759c6..d26c2b8fd241216d4411254c16012f8141f2856c 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -2335,10 +2335,18 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
@@ -78,7 +78,7 @@ index 57253e59b6330be6176d3aa42f8f575ad1995bca..254d9eede5a9a57280643284175df2e0
}
}
-@@ -2806,6 +2814,16 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
+@@ -2803,6 +2811,16 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
}
public void loadGameTypes(@Nullable CompoundTag nbt) {
@@ -147,10 +147,10 @@ index 2bd2f1cdf3467cacee55094d43bd3eccf61b9aa7..c3b4b800c5a34afa03ed7c31e14f26ca
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 1cc89895a1e03d4b1734a81d89c8bc396bf2b343..2ebfc8744434dd4819f52201ae621268b0e04998 100644
+index dbb25f5cc8cf03654faf2386826965f049737897..a6a2ed03ae781809b50fd793265977db0918a259 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1669,7 +1669,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1671,7 +1671,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/0538-Add-PlayerKickEvent-causes.patch b/patches/server/0538-Add-PlayerKickEvent-causes.patch
index 7ed95be99e..60d07ed41d 100644
--- a/patches/server/0538-Add-PlayerKickEvent-causes.patch
+++ b/patches/server/0538-Add-PlayerKickEvent-causes.patch
@@ -495,7 +495,7 @@ 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 2ebfc8744434dd4819f52201ae621268b0e04998..97046a2ae1ab30f4eefb64558afe312d2b9f55f8 100644
+index a6a2ed03ae781809b50fd793265977db0918a259..43d46239295ea16808383fbdb4d94da0b85e4fad 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -280,7 +280,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -533,7 +533,7 @@ index 2ebfc8744434dd4819f52201ae621268b0e04998..97046a2ae1ab30f4eefb64558afe312d
}
}
-@@ -714,7 +719,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -716,7 +721,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
// Paper start - Improve chat handling
if (ServerGamePacketListenerImpl.isChatMessageIllegal(msg)) {
diff --git a/patches/server/0551-Fix-PlayerDropItemEvent-using-wrong-item.patch b/patches/server/0551-Fix-PlayerDropItemEvent-using-wrong-item.patch
index 37338dc0ee..009c771fe8 100644
--- a/patches/server/0551-Fix-PlayerDropItemEvent-using-wrong-item.patch
+++ b/patches/server/0551-Fix-PlayerDropItemEvent-using-wrong-item.patch
@@ -34,7 +34,7 @@ diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/ma
index 254d9eede5a9a57280643284175df2e061aa78ea..09798fc2d2d847f3ec705a2640f25ac08ca69f92 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -2747,7 +2747,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
+@@ -2744,7 +2744,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
if (flag1) {
if (!itemstack1.isEmpty()) {
@@ -43,7 +43,7 @@ index 254d9eede5a9a57280643284175df2e061aa78ea..09798fc2d2d847f3ec705a2640f25ac0
}
this.awardStat(Stats.DROP);
-@@ -2763,6 +2763,11 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
+@@ -2760,6 +2760,11 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
return null;
} else {
double d0 = this.getEyeY() - 0.30000001192092896D;
diff --git a/patches/server/0565-Add-PlayerSetSpawnEvent.patch b/patches/server/0565-Add-PlayerSetSpawnEvent.patch
index b7be9c0d9d..3dd1d604fe 100644
--- a/patches/server/0565-Add-PlayerSetSpawnEvent.patch
+++ b/patches/server/0565-Add-PlayerSetSpawnEvent.patch
@@ -49,7 +49,7 @@ index a2d0699e8427b2262a2396495111125eccafbb66..15db9368227dbc29d07d74e85bd126b3
}
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index f0655e6c9c0f60b57912a76448706d49ce774dce..fe39d0ab5e99818356d4e1a600af4bdd3eb03b70 100644
+index b8804881f983cc91ab8e92ba2447151f1e5af9fc..b0391056c5308292131de1d8d2a86a552a9d94e2 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1690,7 +1690,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
@@ -61,7 +61,7 @@ index f0655e6c9c0f60b57912a76448706d49ce774dce..fe39d0ab5e99818356d4e1a600af4bdd
if (this.level().isDay()) {
return Either.left(net.minecraft.world.entity.player.Player.BedSleepingProblem.NOT_POSSIBLE_NOW);
} else {
-@@ -2640,44 +2640,50 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
+@@ -2637,44 +2637,50 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
this.setRespawnPosition(player.getRespawnDimension(), player.getRespawnPosition(), player.getRespawnAngle(), player.isRespawnForced(), false);
}
@@ -145,7 +145,7 @@ index f0655e6c9c0f60b57912a76448706d49ce774dce..fe39d0ab5e99818356d4e1a600af4bdd
} else {
this.respawnPosition = null;
this.respawnDimension = Level.OVERWORLD;
-@@ -2685,6 +2691,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
+@@ -2682,6 +2688,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
this.respawnForced = false;
}
@@ -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 97046a2ae1ab30f4eefb64558afe312d2b9f55f8..fe05fe8f9c24ad15c083cb63bc6b7e004a974832 100644
+index 43d46239295ea16808383fbdb4d94da0b85e4fad..3f89cbc48828f36cf6ff02b9de6cd378b2fde4f2 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1418,9 +1418,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1420,9 +1420,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void setRespawnLocation(Location location, boolean override) {
if (location == null) {
diff --git a/patches/server/0647-Multi-Block-Change-API-Implementation.patch b/patches/server/0647-Multi-Block-Change-API-Implementation.patch
index bfefeea7fa..657277a804 100644
--- a/patches/server/0647-Multi-Block-Change-API-Implementation.patch
+++ b/patches/server/0647-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 fe05fe8f9c24ad15c083cb63bc6b7e004a974832..728a65ad7a826596530b12594db15c93f1af68fb 100644
+index 3f89cbc48828f36cf6ff02b9de6cd378b2fde4f2..e9e895b885e6e45df45246f3988d6e62a1b3d960 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -935,6 +935,32 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -937,6 +937,32 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.getHandle().connection.send(packet);
}
diff --git a/patches/server/0714-More-Teleport-API.patch b/patches/server/0714-More-Teleport-API.patch
index a8459c765a..d588e8eee3 100644
--- a/patches/server/0714-More-Teleport-API.patch
+++ b/patches/server/0714-More-Teleport-API.patch
@@ -113,10 +113,10 @@ index 10fb64df10820974d11f142c102a11a5bd0f317c..8d2f6bb43fb69a4a1e2085960eb24f43
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 728a65ad7a826596530b12594db15c93f1af68fb..87aa5f0d594ff697b87bc06019351d22b6c8c8e5 100644
+index e9e895b885e6e45df45246f3988d6e62a1b3d960..6c6128922491efe4f47eb27039eb078f2f411315 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1291,13 +1291,94 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1293,13 +1293,94 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void setRotation(float yaw, float pitch) {
@@ -212,7 +212,7 @@ index 728a65ad7a826596530b12594db15c93f1af68fb..87aa5f0d594ff697b87bc06019351d22
location.checkFinite();
ServerPlayer entity = this.getHandle();
-@@ -1310,7 +1391,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1312,7 +1393,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return false;
}
@@ -221,7 +221,7 @@ index 728a65ad7a826596530b12594db15c93f1af68fb..87aa5f0d594ff697b87bc06019351d22
return false;
}
-@@ -1319,7 +1400,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1321,7 +1402,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
// To = Players new Location if Teleport is Successful
Location to = location;
// Create & Call the Teleport Event.
@@ -230,7 +230,7 @@ index 728a65ad7a826596530b12594db15c93f1af68fb..87aa5f0d594ff697b87bc06019351d22
this.server.getPluginManager().callEvent(event);
// Return False to inform the Plugin that the Teleport was unsuccessful/cancelled.
-@@ -1328,7 +1409,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1330,7 +1411,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
// If this player is riding another entity, we must dismount before teleporting.
@@ -239,7 +239,7 @@ index 728a65ad7a826596530b12594db15c93f1af68fb..87aa5f0d594ff697b87bc06019351d22
// SPIGOT-5509: Wakeup, similar to riding
if (this.isSleeping()) {
-@@ -1344,13 +1425,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1346,13 +1427,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
ServerLevel toWorld = ((CraftWorld) to.getWorld()).getHandle();
// Close any foreign inventory
diff --git a/patches/server/0719-Custom-Chat-Completion-Suggestions-API.patch b/patches/server/0719-Custom-Chat-Completion-Suggestions-API.patch
index 11a0ecf025..f8af416810 100644
--- a/patches/server/0719-Custom-Chat-Completion-Suggestions-API.patch
+++ b/patches/server/0719-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 87aa5f0d594ff697b87bc06019351d22b6c8c8e5..51b6b8d54b139bc89e0343c7c1ec5acedcf6f8a2 100644
+index 6c6128922491efe4f47eb27039eb078f2f411315..b8a0be15e8987719b8cfb4ab842544197cfa2d67 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -696,6 +696,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -698,6 +698,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
// Paper end - Add sendOpLevel API
diff --git a/patches/server/0744-Elder-Guardian-appearance-API.patch b/patches/server/0744-Elder-Guardian-appearance-API.patch
index 64bfcb26e8..4d3622601d 100644
--- a/patches/server/0744-Elder-Guardian-appearance-API.patch
+++ b/patches/server/0744-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 51b6b8d54b139bc89e0343c7c1ec5acedcf6f8a2..1fb27bf5da9bb281d1ff6e863912dfac2588611f 100644
+index b8a0be15e8987719b8cfb4ab842544197cfa2d67..762dfbf88773b85893b3d4fa3a71ce577f3ecbd6 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -3308,6 +3308,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -3310,6 +3310,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
// Paper end
diff --git a/patches/server/0756-Add-Player-Warden-Warning-API.patch b/patches/server/0756-Add-Player-Warden-Warning-API.patch
index ee15f1630c..a8a6cb8100 100644
--- a/patches/server/0756-Add-Player-Warden-Warning-API.patch
+++ b/patches/server/0756-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 1fb27bf5da9bb281d1ff6e863912dfac2588611f..95f0e7e1248ded53ec5de684ec0cfb6343598f51 100644
+index 762dfbf88773b85893b3d4fa3a71ce577f3ecbd6..82767306f63025fa537163cbbac24bd4d66e3416 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -3313,6 +3313,41 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -3315,6 +3315,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/0768-fix-Instruments.patch b/patches/server/0768-fix-Instruments.patch
index cd55e6ad4e..76c48459cd 100644
--- a/patches/server/0768-fix-Instruments.patch
+++ b/patches/server/0768-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 95f0e7e1248ded53ec5de684ec0cfb6343598f51..02850d3ef48aecda5d9b543e23d43c9b19ff3a89 100644
+index 82767306f63025fa537163cbbac24bd4d66e3416..02e3c1aef805dd83a54a9fab2843dc2d7d47cdb5 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -773,7 +773,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -775,7 +775,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
Sound instrumentSound = instrument.getSound();
if (instrumentSound == null) return;
diff --git a/patches/server/0777-Flying-Fall-Damage.patch b/patches/server/0777-Flying-Fall-Damage.patch
index 4347fe8264..55e6d96677 100644
--- a/patches/server/0777-Flying-Fall-Damage.patch
+++ b/patches/server/0777-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 02850d3ef48aecda5d9b543e23d43c9b19ff3a89..68296e776cda9983d2b3f1fdabe7fcaa2e631e86 100644
+index 02e3c1aef805dd83a54a9fab2843dc2d7d47cdb5..9e46b2c9b3390c70ab10f279a4b41160b2f17b6d 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2591,6 +2591,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2593,6 +2593,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.getHandle().onUpdateAbilities();
}
diff --git a/patches/server/0782-Win-Screen-API.patch b/patches/server/0782-Win-Screen-API.patch
index 074d1e4455..2f98e51fbf 100644
--- a/patches/server/0782-Win-Screen-API.patch
+++ b/patches/server/0782-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 68296e776cda9983d2b3f1fdabe7fcaa2e631e86..0eaae1dddf90a23210075b795116f74fad2e2d94 100644
+index 9e46b2c9b3390c70ab10f279a4b41160b2f17b6d..37f8b1adfeba6eebcbb21cd9a143ac8f6dacdcfb 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1310,6 +1310,25 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1312,6 +1312,25 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.getHandle().connection.send(packet);
}
diff --git a/patches/server/0807-Expand-PlayerItemMendEvent.patch b/patches/server/0807-Expand-PlayerItemMendEvent.patch
index 32b28446d4..f2aa9edbd1 100644
--- a/patches/server/0807-Expand-PlayerItemMendEvent.patch
+++ b/patches/server/0807-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 0eaae1dddf90a23210075b795116f74fad2e2d94..9cddd440e50d8314b4e853fccee22fc4540ccae0 100644
+index 37f8b1adfeba6eebcbb21cd9a143ac8f6dacdcfb..981b5074e832038537f8281e25bbd868c580c091 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1863,11 +1863,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1865,11 +1865,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
handle.serverLevel(), itemstack, amount
);
int i = Math.min(possibleDurabilityFromXp, itemstack.getDamageValue());
diff --git a/patches/server/0826-Fix-BanList-API.patch b/patches/server/0826-Fix-BanList-API.patch
index 39df7560c6..e1b5f101e4 100644
--- a/patches/server/0826-Fix-BanList-API.patch
+++ b/patches/server/0826-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 9cddd440e50d8314b4e853fccee22fc4540ccae0..b0b417d916c6c3099157f8279c346bc6670c0012 100644
+index 981b5074e832038537f8281e25bbd868c580c091..cf9f7143924239c8add0e7231d922e41d9ff84d7 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1757,23 +1757,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1759,23 +1759,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
@Override
@@ -240,7 +240,7 @@ index 9cddd440e50d8314b4e853fccee22fc4540ccae0..b0b417d916c6c3099157f8279c346bc6
if (kickPlayer) {
this.kickPlayer(reason);
}
-@@ -1781,12 +1781,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1783,12 +1783,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
@Override
diff --git a/patches/server/0845-Bandaid-fix-for-Effect.patch b/patches/server/0845-Bandaid-fix-for-Effect.patch
index 621a7cc2d2..088947acc2 100644
--- a/patches/server/0845-Bandaid-fix-for-Effect.patch
+++ b/patches/server/0845-Bandaid-fix-for-Effect.patch
@@ -81,10 +81,10 @@ index 431bd698e28b7731bf781e29de6c6a3fd936c71c..bca9e4908c7949a6f0b24fed2aa7332d
// 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 b0b417d916c6c3099157f8279c346bc6670c0012..b397f784510d832d300a777b4c4a4de03c904b72 100644
+index cf9f7143924239c8add0e7231d922e41d9ff84d7..df986f2359b5bce137d7c37ed34e49ac912229e2 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -922,7 +922,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -924,7 +924,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/0853-Add-Listing-API-for-Player.patch b/patches/server/0853-Add-Listing-API-for-Player.patch
index a9183d8193..78c2c8af8c 100644
--- a/patches/server/0853-Add-Listing-API-for-Player.patch
+++ b/patches/server/0853-Add-Listing-API-for-Player.patch
@@ -122,7 +122,7 @@ index efc12d629b71ba1da664d9ecfd4575bee9b45dc3..9067100a82a8c405cec0a19e53b3b245
// 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 b397f784510d832d300a777b4c4a4de03c904b72..76ee6dcf028720f22ca6d0ba5975a8f1555cca37 100644
+index df986f2359b5bce137d7c37ed34e49ac912229e2..21a700a44972336ee619389eab1d83545883f092 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -206,6 +206,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -133,7 +133,7 @@ index b397f784510d832d300a777b4c4a4de03c904b72..76ee6dcf028720f22ca6d0ba5975a8f1
private static final WeakHashMap<Plugin, WeakReference<Plugin>> pluginWeakReferences = new WeakHashMap<>();
private int hash = 0;
private double health = 20;
-@@ -2102,7 +2103,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2104,7 +2105,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
otherPlayer.setUUID(uuidOverride);
}
// Paper end
@@ -142,7 +142,7 @@ index b397f784510d832d300a777b4c4a4de03c904b72..76ee6dcf028720f22ca6d0ba5975a8f1
if (original != null) otherPlayer.setUUID(original); // Paper - uuid override
}
-@@ -2206,6 +2207,41 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2208,6 +2209,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/0883-Add-player-idle-duration-API.patch b/patches/server/0883-Add-player-idle-duration-API.patch
index e74ebf914c..ae9d939194 100644
--- a/patches/server/0883-Add-player-idle-duration-API.patch
+++ b/patches/server/0883-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 d8f0f8f0afd0a3705cf20b2670a6dd137cd70c15..81455040c878b202cdb96a282fddfe4a65c7d0b7 100644
+index 24abbc26ef9bc8ddc468b7d241cf825405fcfae3..6f1533523424de0d362d1251f05490829460eb8b 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -3429,6 +3429,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -3431,6 +3431,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
// Paper end
diff --git a/patches/server/0886-Allow-null-itemstack-for-Player-sendEquipmentChange.patch b/patches/server/0886-Allow-null-itemstack-for-Player-sendEquipmentChange.patch
index b540a94025..885ede13a7 100644
--- a/patches/server/0886-Allow-null-itemstack-for-Player-sendEquipmentChange.patch
+++ b/patches/server/0886-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 81455040c878b202cdb96a282fddfe4a65c7d0b7..273a94f727c6c736b2bdf98c1806431ebce4d90f 100644
+index 6f1533523424de0d362d1251f05490829460eb8b..cc4911163e0e22a7313ea4a591efc7dd40fb1b72 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1132,7 +1132,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1134,7 +1134,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void sendEquipmentChange(LivingEntity entity, EquipmentSlot slot, ItemStack item) {
diff --git a/patches/server/0906-Add-experience-points-API.patch b/patches/server/0906-Add-experience-points-API.patch
index b8ee3f5b5e..6db4aca493 100644
--- a/patches/server/0906-Add-experience-points-API.patch
+++ b/patches/server/0906-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 273a94f727c6c736b2bdf98c1806431ebce4d90f..a1c7e7b95718562d86ee8e6da1bb6e6b5d82ce7a 100644
+index cc4911163e0e22a7313ea4a591efc7dd40fb1b72..f881a73c6213582ef6d2632759a5d3a46dbf19ef 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1931,6 +1931,49 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1933,6 +1933,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/0973-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch b/patches/server/0973-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch
index 9962dfd635..98c6089bbc 100644
--- a/patches/server/0973-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch
+++ b/patches/server/0973-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch
@@ -30,7 +30,7 @@ diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/ma
index 55a4424c47591d1bcaba306f6af877a4fb7144bf..a13f88ed2ce39848b1fe1673265cf6c62adbfb66 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -2811,6 +2811,14 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
+@@ -2808,6 +2808,14 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
this.awardStat(Stats.DROP);
}
diff --git a/patches/server/1027-Improve-entity-effect-API.patch b/patches/server/1027-Improve-entity-effect-API.patch
index 51c6f3ecf8..d1af1cbccf 100644
--- a/patches/server/1027-Improve-entity-effect-API.patch
+++ b/patches/server/1027-Improve-entity-effect-API.patch
@@ -25,10 +25,10 @@ index d1d9916db7bd4886d30355e6a0ecb69cd21c2364..ddabaed899c755925ad8618b78c33dac
+ // Paper end - broadcast hurt animation
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 700751a1469dd99339e6502e96cd98e72feee803..0d3d565db8fdc30e44966492f2c30171b4dac7ec 100644
+index 4b65a7967cdcc94e04fa375a6bad2c012b3b4d4b..4459d9f205222764affae053930c15f5107d4e69 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1282,6 +1282,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1284,6 +1284,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void sendHurtAnimation(float yaw) {
@@ -40,7 +40,7 @@ index 700751a1469dd99339e6502e96cd98e72feee803..0d3d565db8fdc30e44966492f2c30171
if (this.getHandle().connection == null) {
return;
}
-@@ -1291,7 +1296,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1293,7 +1298,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
* This makes no sense. We'll add 90 to it so that 0 = front, clockwise from there.
*/
float actualYaw = yaw + 90;
@@ -49,7 +49,7 @@ index 700751a1469dd99339e6502e96cd98e72feee803..0d3d565db8fdc30e44966492f2c30171
}
@Override
-@@ -3528,4 +3533,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -3530,4 +3535,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public void setSendViewDistance(final int viewDistance) {
throw new UnsupportedOperationException("Not implemented yet");
}
diff --git a/patches/server/1038-Moonrise-optimisation-patches.patch b/patches/server/1038-Moonrise-optimisation-patches.patch
index d22d5be4dc..e66596c063 100644
--- a/patches/server/1038-Moonrise-optimisation-patches.patch
+++ b/patches/server/1038-Moonrise-optimisation-patches.patch
@@ -27566,7 +27566,7 @@ index c5f3e4dff83a85a3a5f29534afd84d4a332b1d3e..85c58214c13208ed30f0ae4a2722f172
return crashreportsystemdetails;
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 08a82b7a3456f58b3d0fdbb8e8dbce6972ad1672..dda53c52fab7c02f39451335fe0bfe36852ac994 100644
+index d80a03a72d150f9f496203dbce18ddf6d4cffee2..aba3a9f42a5fad867511ee69b385c00e9c496039 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -218,7 +218,7 @@ import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
@@ -36160,10 +36160,10 @@ index 4a5a0e33af16369f665bf39e70238e4e5a5486da..696152286a4d16fa51a23ff6e15fb297
// Paper start - implement pointers
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 0d3d565db8fdc30e44966492f2c30171b4dac7ec..4f1b3b38d1eec331ab67307eb0e9e62621ce3cd5 100644
+index 4459d9f205222764affae053930c15f5107d4e69..73de1c68e92bf6b17cbb5cd49447bc98ae0fb650 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -3511,7 +3511,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -3513,7 +3513,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void setViewDistance(final int viewDistance) {
@@ -36174,7 +36174,7 @@ index 0d3d565db8fdc30e44966492f2c30171b4dac7ec..4f1b3b38d1eec331ab67307eb0e9e626
}
@Override
-@@ -3521,7 +3523,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -3523,7 +3525,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void setSimulationDistance(final int simulationDistance) {
@@ -36185,7 +36185,7 @@ index 0d3d565db8fdc30e44966492f2c30171b4dac7ec..4f1b3b38d1eec331ab67307eb0e9e626
}
@Override
-@@ -3531,7 +3535,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -3533,7 +3537,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void setSendViewDistance(final int viewDistance) {
diff --git a/patches/server/1039-API-for-checking-sent-chunks.patch b/patches/server/1039-API-for-checking-sent-chunks.patch
index 33cbf04ef5..94b9491284 100644
--- a/patches/server/1039-API-for-checking-sent-chunks.patch
+++ b/patches/server/1039-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/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 4f1b3b38d1eec331ab67307eb0e9e62621ce3cd5..d0010dfd22463986bf3be9b3ee015ce92735753e 100644
+index 73de1c68e92bf6b17cbb5cd49447bc98ae0fb650..a6dd30f0267a4c8bdc58d8745782a8862aabeba6 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -3498,6 +3498,35 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -3500,6 +3500,35 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
// Paper end
diff --git a/patches/server/1056-Allow-using-old-ender-pearl-behavior.patch b/patches/server/1056-Allow-using-old-ender-pearl-behavior.patch
index 6f44fde3f4..939dd90893 100644
--- a/patches/server/1056-Allow-using-old-ender-pearl-behavior.patch
+++ b/patches/server/1056-Allow-using-old-ender-pearl-behavior.patch
@@ -20,7 +20,7 @@ index b525369fb6f3bb80c1553ae41b1e3bddeda29936..2e8ecf3bbb9f9ceba6f896738fa1ab8e
if (entityenderpearl.isRemoved()) {
ServerPlayer.LOGGER.warn("Trying to save removed ender pearl, skipping");
-@@ -3146,7 +3147,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
+@@ -3143,7 +3144,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
}
public static long placeEnderPearlTicket(ServerLevel world, ChunkPos chunkPos) {