diff --git a/patches/api/0005-Timings-v2.patch b/patches/api/0005-Timings-v2.patch index 9d4a3c6e4..a79549bfa 100644 --- a/patches/api/0005-Timings-v2.patch +++ b/patches/api/0005-Timings-v2.patch @@ -3377,10 +3377,10 @@ index 2a145d851ce30360aa39549745bd87590c034584..00000000000000000000000000000000 - // Spigot end -} diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index da1b5b5253c0ac0abe1019096166e6c76a50e699..586fd9ebd02039ebd2c071cbbbf60f24879f96b9 100644 +index 7d2e96fa96f5c4c5dbe97113a5e1b9cb59e09ac6..edf4623a831442e1f06daabc402a3f32610dd519 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -1368,7 +1368,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1395,7 +1395,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @Nullable UUID sender, @NotNull net.md_5.bungee.api.chat.BaseComponent... components) { throw new UnsupportedOperationException("Not supported yet."); @@ -3499,7 +3499,7 @@ index a09c3f71ca563b6f40a118ce1344d0eb273bed40..cf2f517765d8f2a23cc4a17d9ee2dcd8 eventSet.add(new TimedRegisteredListener(listener, executor, eh.priority(), plugin, eh.ignoreCancelled())); } else { diff --git a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java -index b0a347ab4be868ca92a1a0a8318da658e7194069..13100c688bfccb826b3072aaa92901f8634cf9ab 100644 +index 993a8c02af014a46cf03eaa4b67b09c0c16bd78a..e77c616977a3dcaa72bb22c35f6092c1f00b2b85 100644 --- a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java +++ b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java @@ -29,7 +29,8 @@ import org.jetbrains.annotations.Nullable; diff --git a/patches/api/0006-Adventure.patch b/patches/api/0006-Adventure.patch index 1037cf46f..107340f64 100644 --- a/patches/api/0006-Adventure.patch +++ b/patches/api/0006-Adventure.patch @@ -23,7 +23,7 @@ index 218e9c682e7b91dc27f2caf46316ba7a7982e5f3..50c3a01826f0ff939e3ee935d5a4e446 compileOnly("org.apache.maven:maven-resolver-provider:3.8.1") compileOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.0") diff --git a/pom.xml b/pom.xml -index 1ebc4c096638128194cea9c2a4131f901e7d6896..cae43ce5c1287a4cd117fd069d34ebc1b64b7fdb 100644 +index 7b44549b508862b207324a6003fcdfa623f40f07..f2238314b948be036d9e7054d7af5bfdac8ebbf6 100644 --- a/pom.xml +++ b/pom.xml @@ -22,6 +22,7 @@ @@ -1667,7 +1667,7 @@ index 9566e4306ada5e82dede0f002aa06da12c44996b..4d5f0837bd0e02a30c943d8969fb6b13 + // Paper end } diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index 0831f2519a32cf1c5c7d5b72864bcb1c22c52eda..03e12de470f983e89a473c4e42c21941085b1d37 100644 +index 25a6f9313a1953def7470e411b53016f2ca14bef..d7a4cfed4f46b34f83fb2c07bdab5a71215d26bb 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java @@ -25,7 +25,7 @@ import org.jetbrains.annotations.Nullable; @@ -1693,10 +1693,10 @@ index 0831f2519a32cf1c5c7d5b72864bcb1c22c52eda..03e12de470f983e89a473c4e42c21941 + // Paper end } diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 586fd9ebd02039ebd2c071cbbbf60f24879f96b9..171e2663301f654258dbd772a57688b5a2f8469c 100644 +index edf4623a831442e1f06daabc402a3f32610dd519..d026c791ee86cb45feadcad7a48dea41287e3da7 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -30,7 +30,28 @@ import org.jetbrains.annotations.Nullable; +@@ -33,7 +33,28 @@ import org.jetbrains.annotations.Nullable; /** * Represents a player, connected or not */ @@ -1726,7 +1726,7 @@ index 586fd9ebd02039ebd2c071cbbbf60f24879f96b9..171e2663301f654258dbd772a57688b5 /** * Gets the "friendly" name to display of this player. This may include -@@ -40,7 +61,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -43,7 +64,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * places defined by plugins. * * @return the friendly name @@ -1736,7 +1736,7 @@ index 586fd9ebd02039ebd2c071cbbbf60f24879f96b9..171e2663301f654258dbd772a57688b5 @NotNull public String getDisplayName(); -@@ -52,15 +75,50 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -55,15 +78,50 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * places defined by plugins. * * @param name The new display name. @@ -1787,7 +1787,7 @@ index 586fd9ebd02039ebd2c071cbbbf60f24879f96b9..171e2663301f654258dbd772a57688b5 public String getPlayerListName(); /** -@@ -69,14 +127,18 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -72,14 +130,18 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * If the value is null, the name will be identical to {@link #getName()}. * * @param name new player list name @@ -1806,7 +1806,7 @@ index 586fd9ebd02039ebd2c071cbbbf60f24879f96b9..171e2663301f654258dbd772a57688b5 @Nullable public String getPlayerListHeader(); -@@ -84,7 +146,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -87,7 +149,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 @@ -1816,7 +1816,7 @@ index 586fd9ebd02039ebd2c071cbbbf60f24879f96b9..171e2663301f654258dbd772a57688b5 @Nullable public String getPlayerListFooter(); -@@ -92,14 +156,18 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -95,14 +159,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 @@ -1835,7 +1835,7 @@ index 586fd9ebd02039ebd2c071cbbbf60f24879f96b9..171e2663301f654258dbd772a57688b5 public void setPlayerListFooter(@Nullable String footer); /** -@@ -108,7 +176,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -111,7 +179,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 @@ -1845,7 +1845,7 @@ index 586fd9ebd02039ebd2c071cbbbf60f24879f96b9..171e2663301f654258dbd772a57688b5 public void setPlayerListHeaderFooter(@Nullable String header, @Nullable String footer); /** -@@ -146,9 +216,20 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -149,9 +219,20 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * Kicks player with custom kick message. * * @param message kick message @@ -1866,7 +1866,7 @@ index 586fd9ebd02039ebd2c071cbbbf60f24879f96b9..171e2663301f654258dbd772a57688b5 /** * Says a message (or runs a command). * -@@ -448,6 +529,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -475,6 +556,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @Deprecated public boolean sendChunkChange(@NotNull Location loc, int sx, int sy, int sz, @NotNull byte[] data); @@ -1874,7 +1874,7 @@ index 586fd9ebd02039ebd2c071cbbbf60f24879f96b9..171e2663301f654258dbd772a57688b5 /** * 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. -@@ -463,6 +545,43 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -490,6 +572,43 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @throws IllegalArgumentException if location is null * @throws IllegalArgumentException if lines is non-null and has a length less than 4 */ @@ -1918,7 +1918,7 @@ index 586fd9ebd02039ebd2c071cbbbf60f24879f96b9..171e2663301f654258dbd772a57688b5 public void sendSignChange(@NotNull Location loc, @Nullable String[] lines) throws IllegalArgumentException; -@@ -482,7 +601,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -509,7 +628,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @throws IllegalArgumentException if location is null * @throws IllegalArgumentException if dyeColor is null * @throws IllegalArgumentException if lines is non-null and has a length less than 4 @@ -1928,7 +1928,7 @@ index 586fd9ebd02039ebd2c071cbbbf60f24879f96b9..171e2663301f654258dbd772a57688b5 public void sendSignChange(@NotNull Location loc, @Nullable String[] lines, @NotNull DyeColor dyeColor) throws IllegalArgumentException; /** -@@ -1220,6 +1341,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1247,6 +1368,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ public int getClientViewDistance(); @@ -1943,7 +1943,7 @@ index 586fd9ebd02039ebd2c071cbbbf60f24879f96b9..171e2663301f654258dbd772a57688b5 /** * Gets the player's estimated ping in milliseconds. * -@@ -1245,8 +1374,10 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1272,8 +1401,10 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * they wish. * * @return the player's locale @@ -1954,7 +1954,7 @@ index 586fd9ebd02039ebd2c071cbbbf60f24879f96b9..171e2663301f654258dbd772a57688b5 public String getLocale(); /** -@@ -1264,6 +1395,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1291,6 +1422,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ public void openBook(@NotNull ItemStack book); @@ -1969,7 +1969,7 @@ index 586fd9ebd02039ebd2c071cbbbf60f24879f96b9..171e2663301f654258dbd772a57688b5 // Spigot start public class Spigot extends Entity.Spigot { -@@ -1318,11 +1457,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1345,11 +1484,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM throw new UnsupportedOperationException("Not supported yet."); } @@ -1983,7 +1983,7 @@ index 586fd9ebd02039ebd2c071cbbbf60f24879f96b9..171e2663301f654258dbd772a57688b5 @Override public void sendMessage(@NotNull net.md_5.bungee.api.chat.BaseComponent... components) { throw new UnsupportedOperationException("Not supported yet."); -@@ -1333,7 +1474,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1360,7 +1501,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * * @param position the screen position * @param component the components to send @@ -1993,7 +1993,7 @@ index 586fd9ebd02039ebd2c071cbbbf60f24879f96b9..171e2663301f654258dbd772a57688b5 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."); } -@@ -1343,7 +1486,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1370,7 +1513,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * * @param position the screen position * @param components the components to send @@ -2003,7 +2003,7 @@ index 586fd9ebd02039ebd2c071cbbbf60f24879f96b9..171e2663301f654258dbd772a57688b5 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."); } -@@ -1354,7 +1499,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1381,7 +1526,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 @@ -2013,7 +2013,7 @@ index 586fd9ebd02039ebd2c071cbbbf60f24879f96b9..171e2663301f654258dbd772a57688b5 public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @Nullable UUID sender, @NotNull net.md_5.bungee.api.chat.BaseComponent component) { throw new UnsupportedOperationException("Not supported yet."); } -@@ -1365,7 +1512,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1392,7 +1539,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/0007-Player-affects-spawning-API.patch b/patches/api/0007-Player-affects-spawning-API.patch index f923a3d19..6d27ffd3e 100644 --- a/patches/api/0007-Player-affects-spawning-API.patch +++ b/patches/api/0007-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 171e2663301f654258dbd772a57688b5a2f8469c..76ac0b20842002ce1b593e338bea98483e7080ac 100644 +index d026c791ee86cb45feadcad7a48dea41287e3da7..58f3a5ada8f081b0a84d7e332f40d259df7e750b 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -1380,6 +1380,22 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1407,6 +1407,22 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @Deprecated // Paper public String getLocale(); diff --git a/patches/api/0012-Add-player-view-distance-API.patch b/patches/api/0012-Add-player-view-distance-API.patch index 8b5561ac1..51f138cb3 100644 --- a/patches/api/0012-Add-player-view-distance-API.patch +++ b/patches/api/0012-Add-player-view-distance-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add player view distance API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 76ac0b20842002ce1b593e338bea98483e7080ac..f34601480a3b3069c30c52d258a35a2a79c981fb 100644 +index 58f3a5ada8f081b0a84d7e332f40d259df7e750b..11667e04df85c72205bec0b8c34ef4ec5998b404 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -1394,6 +1394,28 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1421,6 +1421,28 @@ 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/0017-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch b/patches/api/0017-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch index 84e54e9f5..979adae1a 100644 --- a/patches/api/0017-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch +++ b/patches/api/0017-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch @@ -76,10 +76,10 @@ index 8fc591b16da774d60e85e3f13e44e9b5be671a3b..599347ef656acad9a40be15fc5030e5d * 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 f34601480a3b3069c30c52d258a35a2a79c981fb..4686212255e8de3e5a6f43d86f28fad595f687ed 100644 +index 11667e04df85c72205bec0b8c34ef4ec5998b404..c5b41ebfd94a4969ce998b7ad539d11a1164168a 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -614,6 +614,42 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -641,6 +641,42 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ public void sendMap(@NotNull MapView map); diff --git a/patches/api/0019-Player-Tab-List-and-Title-APIs.patch b/patches/api/0019-Player-Tab-List-and-Title-APIs.patch index e808ed413..201a65b95 100644 --- a/patches/api/0019-Player-Tab-List-and-Title-APIs.patch +++ b/patches/api/0019-Player-Tab-List-and-Title-APIs.patch @@ -432,7 +432,7 @@ index 0000000000000000000000000000000000000000..9e90c3df567a65b48a0b9341f784eb90 + } +} diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 4686212255e8de3e5a6f43d86f28fad595f687ed..769ad98fd7a6a866b320e1ccffd7962228d564cf 100644 +index c5b41ebfd94a4969ce998b7ad539d11a1164168a..9e4ef22c04b335d81baba2904c5571d17138092b 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -2,6 +2,7 @@ package org.bukkit.entity; @@ -443,7 +443,7 @@ index 4686212255e8de3e5a6f43d86f28fad595f687ed..769ad98fd7a6a866b320e1ccffd79622 import org.bukkit.DyeColor; import org.bukkit.Effect; import org.bukkit.GameMode; -@@ -648,6 +649,131 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -675,6 +676,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/0023-Complete-resource-pack-API.patch b/patches/api/0023-Complete-resource-pack-API.patch index ff78c17d1..71526451a 100644 --- a/patches/api/0023-Complete-resource-pack-API.patch +++ b/patches/api/0023-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 769ad98fd7a6a866b320e1ccffd7962228d564cf..ddbe5734ac0f905b0c388e30f17a281530b82262 100644 +index 9e4ef22c04b335d81baba2904c5571d17138092b..e72e3adc5783a268e74c09c689be57db8b7df7e2 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -1124,7 +1124,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1151,7 +1151,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @throws IllegalArgumentException Thrown if the URL is null. * @throws IllegalArgumentException Thrown if the URL is too long. The * length restriction is an implementation specific arbitrary value. @@ -18,7 +18,7 @@ index 769ad98fd7a6a866b320e1ccffd7962228d564cf..ddbe5734ac0f905b0c388e30f17a2815 public void setResourcePack(@NotNull String url); /** -@@ -1601,6 +1603,60 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1628,6 +1630,60 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM default net.kyori.adventure.text.event.HoverEvent asHoverEvent(final @NotNull java.util.function.UnaryOperator op) { return net.kyori.adventure.text.event.HoverEvent.showEntity(op.apply(net.kyori.adventure.text.event.HoverEvent.ShowEntity.of(this.getType().getKey(), this.getUniqueId(), this.displayName()))); } diff --git a/patches/api/0043-Add-String-based-Action-Bar-API.patch b/patches/api/0043-Add-String-based-Action-Bar-API.patch index ae3f76e08..21d38f415 100644 --- a/patches/api/0043-Add-String-based-Action-Bar-API.patch +++ b/patches/api/0043-Add-String-based-Action-Bar-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add String based Action Bar API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index ddbe5734ac0f905b0c388e30f17a281530b82262..6bb0bb8052c12c5a215abf4bd9602fbefc769523 100644 +index e72e3adc5783a268e74c09c689be57db8b7df7e2..88cfc75a7b55dd09c4577d61ac40c3e241fc9e6c 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -3,6 +3,7 @@ package org.bukkit.entity; @@ -16,7 +16,7 @@ index ddbe5734ac0f905b0c388e30f17a281530b82262..6bb0bb8052c12c5a215abf4bd9602fbe import org.bukkit.DyeColor; import org.bukkit.Effect; import org.bukkit.GameMode; -@@ -616,6 +617,39 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -643,6 +644,39 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM public void sendMap(@NotNull MapView map); // Paper start @@ -56,7 +56,7 @@ index ddbe5734ac0f905b0c388e30f17a281530b82262..6bb0bb8052c12c5a215abf4bd9602fbe /** * Sends the component to the player * -@@ -643,9 +677,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -670,9 +704,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM /** * Sends an array of components as a single message to the specified screen position of this player * @@ -68,7 +68,7 @@ index ddbe5734ac0f905b0c388e30f17a281530b82262..6bb0bb8052c12c5a215abf4bd9602fbe public default void sendMessage(net.md_5.bungee.api.ChatMessageType position, net.md_5.bungee.api.chat.BaseComponent... components) { spigot().sendMessage(position, components); } -@@ -1728,6 +1764,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1755,6 +1791,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM /** * Sends the component to the specified screen position of this player * @@ -76,7 +76,7 @@ index ddbe5734ac0f905b0c388e30f17a281530b82262..6bb0bb8052c12c5a215abf4bd9602fbe * @param position the screen position * @param component the components to send * @deprecated use {@code sendMessage} methods that accept {@link net.kyori.adventure.text.Component} -@@ -1740,6 +1777,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1767,6 +1804,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM /** * Sends an array of components as a single message to the specified screen position of this player * diff --git a/patches/api/0052-Fix-upstream-javadoc-warnings-and-errors.patch b/patches/api/0052-Fix-upstream-javadoc-warnings-and-errors.patch index ad9ec8b24..922cd6a28 100644 --- a/patches/api/0052-Fix-upstream-javadoc-warnings-and-errors.patch +++ b/patches/api/0052-Fix-upstream-javadoc-warnings-and-errors.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Fix upstream javadoc warnings and errors Upstream still refuses to use Java 8 with the API so they are likely unaware these are even issues. diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 6bb0bb8052c12c5a215abf4bd9602fbefc769523..22cfa703e4f543c26151b33fe9ee1ab445d1c4fe 100644 +index 88cfc75a7b55dd09c4577d61ac40c3e241fc9e6c..c4e166311234cbe1e91fa26e74eae1d9fc82f72f 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -634,7 +634,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -661,7 +661,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * * Use supplied alternative character to the section symbol to represent legacy color codes. * diff --git a/patches/api/0058-Shoulder-Entities-Release-API.patch b/patches/api/0058-Shoulder-Entities-Release-API.patch index 54cea0965..0cb437449 100644 --- a/patches/api/0058-Shoulder-Entities-Release-API.patch +++ b/patches/api/0058-Shoulder-Entities-Release-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Shoulder Entities Release API diff --git a/src/main/java/org/bukkit/entity/HumanEntity.java b/src/main/java/org/bukkit/entity/HumanEntity.java -index b64e1f5e5aa4ec9bdd5f6976bf9dfdb83398e305..8ba6a59066234b834aedb0fb414ee7391aa2ac18 100644 +index db4ba67618d29f72d695c66c27d771795565a1d0..f748e3d3836df4da76fa883a51b9582bc31a4f8c 100644 --- a/src/main/java/org/bukkit/entity/HumanEntity.java +++ b/src/main/java/org/bukkit/entity/HumanEntity.java -@@ -300,6 +300,26 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder +@@ -310,6 +310,26 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder */ public int getExpToLevel(); diff --git a/patches/api/0070-Add-workaround-for-plugins-modifying-the-parent-of-t.patch b/patches/api/0070-Add-workaround-for-plugins-modifying-the-parent-of-t.patch index 47b6099ab..c4f874c6e 100644 --- a/patches/api/0070-Add-workaround-for-plugins-modifying-the-parent-of-t.patch +++ b/patches/api/0070-Add-workaround-for-plugins-modifying-the-parent-of-t.patch @@ -87,7 +87,7 @@ index bb2e55e97bf887a28cac7d4f9a0a23960d22cf56..04fa3991f6ce4e9dad804f28fc6c9476 /** diff --git a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java -index 13100c688bfccb826b3072aaa92901f8634cf9ab..b9766b9b47547c400ed075f1635bb1461cb5e860 100644 +index e77c616977a3dcaa72bb22c35f6092c1f00b2b85..550225f168160298f4b1bf6c361207a59cf23122 100644 --- a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java +++ b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java @@ -44,6 +44,7 @@ public final class PluginClassLoader extends URLClassLoader { // Spigot @@ -107,7 +107,7 @@ index 13100c688bfccb826b3072aaa92901f8634cf9ab..b9766b9b47547c400ed075f1635bb146 try { Class jarClass; try { -@@ -222,6 +225,7 @@ public final class PluginClassLoader extends URLClassLoader { // Spigot +@@ -224,6 +227,7 @@ public final class PluginClassLoader extends URLClassLoader { // Spigot pluginState = new IllegalStateException("Initial initialization"); this.pluginInit = javaPlugin; 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 755988a17..cb2d2ad98 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 @@ -57,10 +57,10 @@ index 0000000000000000000000000000000000000000..7b2af1bd72dfbcf4e962a982940fc49b + +} diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 22cfa703e4f543c26151b33fe9ee1ab445d1c4fe..a32c4bd276de797f518771460083050fcddc4c5b 100644 +index c4e166311234cbe1e91fa26e74eae1d9fc82f72f..fe0238c0b7c001b69ba6f5f50faf535df59a2351 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -32,7 +32,7 @@ import org.jetbrains.annotations.Nullable; +@@ -35,7 +35,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 977d68251..61434cd97 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 a32c4bd276de797f518771460083050fcddc4c5b..9a262d412b2762a33a60b1e8762a7d9c9c3f933d 100644 +index fe0238c0b7c001b69ba6f5f50faf535df59a2351..4fa6080c151c3c2c0a7d95a2dc95692bd8bbee57 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -892,12 +892,33 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -919,12 +919,33 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ public void resetPlayerWeather(); diff --git a/patches/api/0089-Player.setPlayerProfile-API.patch b/patches/api/0089-Player.setPlayerProfile-API.patch index 5a914436a..a4de465dc 100644 --- a/patches/api/0089-Player.setPlayerProfile-API.patch +++ b/patches/api/0089-Player.setPlayerProfile-API.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Player.setPlayerProfile API This can be useful for changing name or skins after a player has logged in. diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 9a262d412b2762a33a60b1e8762a7d9c9c3f933d..3ae4d670059f80bd057870a37f4025261e397dfa 100644 +index 4fa6080c151c3c2c0a7d95a2dc95692bd8bbee57..ea4bad15720ce0a31d09999efa6df3988a67be20 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -4,6 +4,7 @@ import java.net.InetSocketAddress; @@ -17,7 +17,7 @@ index 9a262d412b2762a33a60b1e8762a7d9c9c3f933d..3ae4d670059f80bd057870a37f402526 import org.bukkit.DyeColor; import org.bukkit.Effect; import org.bukkit.GameMode; -@@ -1714,6 +1715,20 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1741,6 +1742,20 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * was {@link org.bukkit.event.player.PlayerResourcePackStatusEvent.Status#SUCCESSFULLY_LOADED} */ boolean hasResourcePack(); diff --git a/patches/api/0092-Add-method-to-open-already-placed-sign.patch b/patches/api/0092-Add-method-to-open-already-placed-sign.patch index c2a553028..bd472de2f 100644 --- a/patches/api/0092-Add-method-to-open-already-placed-sign.patch +++ b/patches/api/0092-Add-method-to-open-already-placed-sign.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add method to open already placed sign diff --git a/src/main/java/org/bukkit/entity/HumanEntity.java b/src/main/java/org/bukkit/entity/HumanEntity.java -index 8ba6a59066234b834aedb0fb414ee7391aa2ac18..2e86d4c9ee85cf0f9096472b8c3d131522181215 100644 +index f748e3d3836df4da76fa883a51b9582bc31a4f8c..a46cefbb0508c192fdfefd685c7ad3973bb9c0c9 100644 --- a/src/main/java/org/bukkit/entity/HumanEntity.java +++ b/src/main/java/org/bukkit/entity/HumanEntity.java -@@ -461,6 +461,14 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder +@@ -471,6 +471,14 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder */ @Deprecated public void setShoulderEntityRight(@Nullable Entity entity); 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 772bc38be..126f47aac 100644 --- a/patches/api/0093-Add-Ban-Methods-to-Player-Objects.patch +++ b/patches/api/0093-Add-Ban-Methods-to-Player-Objects.patch @@ -74,7 +74,7 @@ index 58313929f81509030216a0e5e3869da63e11108e..6cf05fed701c67a2c797a4e0839c7958 /** * Checks if this player is whitelisted or not diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 3ae4d670059f80bd057870a37f4025261e397dfa..257bf4a75393d1e25839bcae0ca5551ee832c627 100644 +index ea4bad15720ce0a31d09999efa6df3988a67be20..b7bda78eab3a8146b2c361735a19b2a159af215e 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -5,6 +5,10 @@ import java.util.UUID; @@ -88,7 +88,7 @@ index 3ae4d670059f80bd057870a37f4025261e397dfa..257bf4a75393d1e25839bcae0ca5551e import org.bukkit.DyeColor; import org.bukkit.Effect; import org.bukkit.GameMode; -@@ -618,6 +622,162 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -645,6 +649,162 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM public void sendMap(@NotNull MapView map); // Paper start diff --git a/patches/api/0147-Expose-attack-cooldown-methods-for-Player.patch b/patches/api/0147-Expose-attack-cooldown-methods-for-Player.patch index e67693668..8611f83c0 100644 --- a/patches/api/0147-Expose-attack-cooldown-methods-for-Player.patch +++ b/patches/api/0147-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 257bf4a75393d1e25839bcae0ca5551ee832c627..ec87c78d0f9379511467b6d13b9cdfa4c19d15ca 100644 +index b7bda78eab3a8146b2c361735a19b2a159af215e..685975e7bb8938ce0b2d80855c4c5549f50b262d 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -1889,6 +1889,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1916,6 +1916,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param profile The new profile to use */ void setPlayerProfile(@NotNull PlayerProfile profile); diff --git a/patches/server/0002-Decompile-fixes.patch b/patches/server/0002-Decompile-fixes.patch index ce714be18..deb8f3303 100644 --- a/patches/server/0002-Decompile-fixes.patch +++ b/patches/server/0002-Decompile-fixes.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Decompile fixes diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 3aecce56bdac0a316742a55e340c522bea737321..6b4d84faba50d9f3f87e48251cf1294479d4a3a0 100644 +index 0000a0057ec4ee2db72e4ea1bf421f95d9d9fdc6..729e55535d833f8f6ff65bf226aac5ecdec44990 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1138,7 +1138,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop= 5000000000L) { -@@ -1213,14 +1234,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0 && this.tickCount % this.autosavePeriod == 0) { // CraftBukkit @@ -874,7 +874,7 @@ index 2c13b8565b606a26b305fd44cfc0bd339df8f6be..6a6249ad58cc90782d526d89c899f30a } this.profiler.push("snooper"); -@@ -1233,6 +1252,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop chunkConsumer) { diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index d7bf5d3bb3524410e49bd54372ddd7613ec0dd4b..c89c983e6f64718dabb2893996f7eb4a111c97c9 100644 +index b6eb04733611b63916453f36abf2ae615786845c..2db7c62d25791bc7856d007e9197f8c8041f8dfa 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -1,6 +1,8 @@ @@ -1378,7 +1378,7 @@ index d7bf5d3bb3524410e49bd54372ddd7613ec0dd4b..c89c983e6f64718dabb2893996f7eb4a 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 ef8e601412933c7065ce1968b45381b02b14275a..4ada0aaca513cbac51b93b298f4e2587de46f0d8 100644 +index 73f6e956afd2a679ffda2e7e21485e0b1791ecdf..47195235a0aafeb7c5af090777b323a2685bcd5f 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -209,6 +209,7 @@ import org.bukkit.inventory.EquipmentSlot; @@ -1405,7 +1405,7 @@ index ef8e601412933c7065ce1968b45381b02b14275a..4ada0aaca513cbac51b93b298f4e2587 } -@@ -1921,7 +1920,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1922,7 +1921,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser // CraftBukkit end private void handleCommand(String input) { @@ -1414,7 +1414,7 @@ index ef8e601412933c7065ce1968b45381b02b14275a..4ada0aaca513cbac51b93b298f4e2587 // CraftBukkit start - whole method if ( org.spigotmc.SpigotConfig.logCommands ) // Spigot this.LOGGER.info(this.player.getScoreboardName() + " issued server command: " + input); -@@ -1932,7 +1931,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1933,7 +1932,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser this.cserver.getPluginManager().callEvent(event); if (event.isCancelled()) { @@ -1423,7 +1423,7 @@ index ef8e601412933c7065ce1968b45381b02b14275a..4ada0aaca513cbac51b93b298f4e2587 return; } -@@ -1945,7 +1944,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1946,7 +1945,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser java.util.logging.Logger.getLogger(ServerGamePacketListenerImpl.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); return; } finally { @@ -1457,7 +1457,7 @@ index 01f3267c086837cbbc311d62974ecb034e429c23..34e386efda7ea52fb6f53333eda0f015 public UserWhiteList getWhiteList() { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index b494980b4a3303b2f19002d44f81a2707e6916a5..c8ebce55b4e3838bf70b115ffb0b634b3548a7dd 100644 +index 2ad8e9ada3ba68c107931793846b4e8284b1ab06..2bfafeec6f8a605a7826091314992e61a49e4c51 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -126,7 +126,6 @@ import org.bukkit.craftbukkit.event.CraftPortalEvent; @@ -1762,7 +1762,7 @@ index 198c1092e7db6e0023df77e4707c376696fdbafd..c27e755f93a2b2e203b305e0cae2c782 private String descriptionId; @Nullable diff --git a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java -index e4601134598e509a158ceacec6099a78bbabe89d..0e70d9df226e0843a943b3a57d1319ce1bca2543 100644 +index 92b042080f06fb95958ff5e824830a84f2d1f2a6..7b333e2d6884b272abefbc820bcce8026a4cdf7e 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java @@ -19,10 +19,12 @@ import org.bukkit.inventory.InventoryHolder; @@ -1838,10 +1838,10 @@ index 468b67babc628f7ff7c6fa138ed7944a8d77f0a6..22d5c4cc3aea19cbf53ea320765ecceb private static CompoundTag packStructureData(ServerLevel world, ChunkPos chunkcoordintpair, Map, StructureStart> map, Map, LongSet> map1) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 743c9f11dbbb66db97bcb3b8fecd97290a7c9f61..c85f69cc6ef8a61ca1b07beb5f2b2159fbaa887d 100644 +index 6345774687d4158d58be067e968c055f0c4a01bb..b1b44efbe0ad16619a32991f594b928a82d53278 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2076,12 +2076,31 @@ public final class CraftServer implements Server { +@@ -2078,12 +2078,31 @@ public final class CraftServer implements Server { private final org.bukkit.Server.Spigot spigot = new org.bukkit.Server.Spigot() { @@ -2043,10 +2043,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 06d071d43337f2b919144a8db28684f4a3c826cf..457506210f041291be6bcdef7286d0860cb85946 100644 +index 5b58118308225010f16aa46676ef6b82886ffd31..969d5071dbf3356b80da38526351d488ab936c08 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1810,6 +1810,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1819,6 +1819,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { packet.components = components; CraftPlayer.this.getHandle().connection.send(packet); } diff --git a/patches/server/0010-Adventure.patch b/patches/server/0010-Adventure.patch index 1b8b859d8..4f747860d 100644 --- a/patches/server/0010-Adventure.patch +++ b/patches/server/0010-Adventure.patch @@ -1140,7 +1140,7 @@ index 762a9392ffac3042356709dddd15bb3516048bed..3544e2dc2522e9d6305d727d56e73490 buf.writeComponent(this.footer); } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 52e536c3497a3145f8fdf47e2b6cb0b6295cd1b5..ae04883b57d44fdfb748f1aad0b7a2e24120ebeb 100644 +index 59e58647e0650997b523a683aa52cb922a1d9c51..ab62111ebafad77c3dc739185f907a19e9f911db 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -145,6 +145,7 @@ import net.minecraft.world.scores.Score; @@ -1195,7 +1195,7 @@ index 52e536c3497a3145f8fdf47e2b6cb0b6295cd1b5..ae04883b57d44fdfb748f1aad0b7a2e2 this.connection.send((Packet) (new ClientboundPlayerCombatKillPacket(this.getCombatTracker(), ichatbasecomponent)), (future) -> { if (!future.isSuccess()) { -@@ -1709,6 +1706,7 @@ public class ServerPlayer extends Player { +@@ -1702,6 +1699,7 @@ public class ServerPlayer extends Player { } public String locale = "en_us"; // CraftBukkit - add, lowercase @@ -1203,7 +1203,7 @@ index 52e536c3497a3145f8fdf47e2b6cb0b6295cd1b5..ae04883b57d44fdfb748f1aad0b7a2e2 public void updateOptions(ServerboundClientInformationPacket packet) { // CraftBukkit start if (getMainArm() != packet.getMainHand()) { -@@ -1720,6 +1718,10 @@ public class ServerPlayer extends Player { +@@ -1713,6 +1711,10 @@ public class ServerPlayer extends Player { this.server.server.getPluginManager().callEvent(event); } this.locale = packet.language; @@ -1215,7 +1215,7 @@ index 52e536c3497a3145f8fdf47e2b6cb0b6295cd1b5..ae04883b57d44fdfb748f1aad0b7a2e2 // CraftBukkit end this.chatVisibility = packet.getChatVisibility(); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 4ada0aaca513cbac51b93b298f4e2587de46f0d8..94ebbcb7731c01fcb93f053eea109f544132139a 100644 +index 47195235a0aafeb7c5af090777b323a2685bcd5f..c58f8cf20822439098648265917801509dda1a72 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -162,6 +162,8 @@ import org.apache.logging.log4j.LogManager; @@ -1270,7 +1270,7 @@ index 4ada0aaca513cbac51b93b298f4e2587de46f0d8..94ebbcb7731c01fcb93f053eea109f54 // CraftBukkit end this.connection.send(new ClientboundDisconnectPacket(ichatbasecomponent), (future) -> { -@@ -1671,9 +1675,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1672,9 +1676,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser */ this.player.disconnect(); @@ -1285,7 +1285,7 @@ index 4ada0aaca513cbac51b93b298f4e2587de46f0d8..94ebbcb7731c01fcb93f053eea109f54 } // CraftBukkit end this.player.getTextFilter().leave(); -@@ -1855,7 +1861,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1856,7 +1862,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser this.handleCommand(s); } else if (this.player.getChatVisibility() == ChatVisiblity.SYSTEM) { // Do nothing, this is coming from a plugin @@ -1575,7 +1575,7 @@ index 7a0e7961df1e62b311ea2ecc76d7343a8646723b..6859fafa42527d45366018f737c19e6c } collection = icons; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index c85f69cc6ef8a61ca1b07beb5f2b2159fbaa887d..ea8d5d95d9aa2d0036f82eca782cb5a633cbc388 100644 +index b1b44efbe0ad16619a32991f594b928a82d53278..d2e2e0cab3035a6a458fde75e9fcf72b2d1e77dd 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -564,8 +564,10 @@ public final class CraftServer implements Server { @@ -1589,7 +1589,7 @@ index c85f69cc6ef8a61ca1b07beb5f2b2159fbaa887d..ea8d5d95d9aa2d0036f82eca782cb5a6 } public Player getPlayer(final ServerPlayer entity) { -@@ -1309,7 +1311,15 @@ public final class CraftServer implements Server { +@@ -1310,7 +1312,15 @@ public final class CraftServer implements Server { return this.configuration.getInt("settings.spawn-radius", -1); } @@ -1605,7 +1605,7 @@ index c85f69cc6ef8a61ca1b07beb5f2b2159fbaa887d..ea8d5d95d9aa2d0036f82eca782cb5a6 public String getShutdownMessage() { return this.configuration.getString("settings.shutdown-message"); } -@@ -1425,7 +1435,20 @@ public final class CraftServer implements Server { +@@ -1427,7 +1437,20 @@ public final class CraftServer implements Server { } @Override @@ -1626,7 +1626,7 @@ index c85f69cc6ef8a61ca1b07beb5f2b2159fbaa887d..ea8d5d95d9aa2d0036f82eca782cb5a6 Set recipients = new HashSet<>(); for (Permissible permissible : this.getPluginManager().getPermissionSubscriptions(permission)) { if (permissible instanceof CommandSender && permissible.hasPermission(permission)) { -@@ -1433,14 +1456,14 @@ public final class CraftServer implements Server { +@@ -1435,14 +1458,14 @@ public final class CraftServer implements Server { } } @@ -1643,7 +1643,7 @@ index c85f69cc6ef8a61ca1b07beb5f2b2159fbaa887d..ea8d5d95d9aa2d0036f82eca782cb5a6 for (CommandSender recipient : recipients) { recipient.sendMessage(message); -@@ -1666,6 +1689,14 @@ public final class CraftServer implements Server { +@@ -1668,6 +1691,14 @@ public final class CraftServer implements Server { return CraftInventoryCreator.INSTANCE.createInventory(owner, type); } @@ -1658,7 +1658,7 @@ index c85f69cc6ef8a61ca1b07beb5f2b2159fbaa887d..ea8d5d95d9aa2d0036f82eca782cb5a6 @Override public Inventory createInventory(InventoryHolder owner, InventoryType type, String title) { Validate.isTrue(type.isCreatable(), "Cannot open an inventory of type ", type); -@@ -1678,13 +1709,28 @@ public final class CraftServer implements Server { +@@ -1680,13 +1711,28 @@ public final class CraftServer implements Server { return CraftInventoryCreator.INSTANCE.createInventory(owner, size); } @@ -1687,7 +1687,7 @@ index c85f69cc6ef8a61ca1b07beb5f2b2159fbaa887d..ea8d5d95d9aa2d0036f82eca782cb5a6 public Merchant createMerchant(String title) { return new CraftMerchantCustom(title == null ? InventoryType.MERCHANT.getDefaultTitle() : title); } -@@ -1728,6 +1774,12 @@ public final class CraftServer implements Server { +@@ -1730,6 +1776,12 @@ public final class CraftServer implements Server { return Thread.currentThread().equals(console.serverThread) || this.console.hasStopped() || !org.spigotmc.AsyncCatcher.enabled; // All bets are off if we have shut down (e.g. due to watchdog) } @@ -1700,7 +1700,7 @@ index c85f69cc6ef8a61ca1b07beb5f2b2159fbaa887d..ea8d5d95d9aa2d0036f82eca782cb5a6 @Override public String getMotd() { return this.console.getMotd(); -@@ -2156,5 +2208,15 @@ public final class CraftServer implements Server { +@@ -2158,5 +2210,15 @@ public final class CraftServer implements Server { return null; } } @@ -1956,10 +1956,10 @@ index cf69a45f038c2b8336010f5fe277313fd0513b5b..a7966aa0846637efdc43df1ca97cbc5d public net.minecraft.world.item.enchantment.Enchantment getHandle() { return this.target; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index fdd3a7990cd63d44a154698449a472969ed9efdc..f4bcf48060bc704e0b6c690f78faaecfe90d8db3 100644 +index 98407b26cb94088fd931c445d4ed65eae5b7ecce..408e5a68986a91183d08ce06d385867b947ac04e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -806,6 +806,19 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -807,6 +807,19 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return this.getHandle().getVehicle().getBukkitEntity(); } @@ -1980,7 +1980,7 @@ index fdd3a7990cd63d44a154698449a472969ed9efdc..f4bcf48060bc704e0b6c690f78faaecf public void setCustomName(String name) { // sane limit for name length diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index 450eea6e518de0493d4af4ad384d24217a3c7acf..d27a7ac64d1daf85319ab0069b9196f1958f6f46 100644 +index d4ea706d5456e709b95e34be8220a0d39be2c8f4..2db149bf57c561d7f8f49341fbefafb5d3ecab54 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java @@ -317,9 +317,12 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { @@ -2014,10 +2014,10 @@ index 450eea6e518de0493d4af4ad384d24217a3c7acf..d27a7ac64d1daf85319ab0069b9196f1 player.initMenu(container); } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 457506210f041291be6bcdef7286d0860cb85946..f4dff38b0f9e33be3495433559935765f77d662e 100644 +index 969d5071dbf3356b80da38526351d488ab936c08..f1f35eeff46f6573b79f1190265a908e5f8855eb 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -243,14 +243,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -244,14 +244,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public String getDisplayName() { @@ -2057,7 +2057,7 @@ index 457506210f041291be6bcdef7286d0860cb85946..f4dff38b0f9e33be3495433559935765 @Override public String getPlayerListName() { return this.getHandle().listName == null ? getName() : CraftChatMessage.fromComponent(this.getHandle().listName); -@@ -269,42 +294,42 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -270,42 +295,42 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } } @@ -2109,7 +2109,7 @@ index 457506210f041291be6bcdef7286d0860cb85946..f4dff38b0f9e33be3495433559935765 this.getHandle().connection.send(packet); } -@@ -336,6 +361,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -337,6 +362,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().connection.disconnect(message == null ? "" : message); } @@ -2127,7 +2127,7 @@ index 457506210f041291be6bcdef7286d0860cb85946..f4dff38b0f9e33be3495433559935765 @Override public void setCompassTarget(Location loc) { if (this.getHandle().connection == null) return; -@@ -562,6 +598,36 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -571,6 +607,36 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().connection.send(packet); } @@ -2164,7 +2164,7 @@ index 457506210f041291be6bcdef7286d0860cb85946..f4dff38b0f9e33be3495433559935765 @Override public void sendSignChange(Location loc, String[] lines) { this.sendSignChange(loc, lines, DyeColor.BLACK); -@@ -584,13 +650,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -593,13 +659,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } Component[] components = CraftSign.sanitizeLines(lines); @@ -2183,7 +2183,7 @@ index 457506210f041291be6bcdef7286d0860cb85946..f4dff38b0f9e33be3495433559935765 } @Override -@@ -1690,6 +1755,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1699,6 +1764,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return (this.getHandle().clientViewDistance == null) ? Bukkit.getViewDistance() : this.getHandle().clientViewDistance; } @@ -2196,7 +2196,7 @@ index 457506210f041291be6bcdef7286d0860cb85946..f4dff38b0f9e33be3495433559935765 @Override public int getPing() { return this.getHandle().latency; -@@ -1718,6 +1789,138 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1727,6 +1798,138 @@ public class CraftPlayer extends CraftHumanEntity implements Player { getInventory().setItemInMainHand(hand); } @@ -2336,10 +2336,10 @@ index 457506210f041291be6bcdef7286d0860cb85946..f4dff38b0f9e33be3495433559935765 private final Player.Spigot spigot = new Player.Spigot() { diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index cd54ba211070d34581068d6c1f3cceb858411415..fdb97878a6e73b729dbf09292d214e42c57d720a 100644 +index ad68b85f5aec00b5fc266a97880fc38c93073af3..e96ce62978e2cca454f797c4ce1ab1d306f9d7e4 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -770,9 +770,9 @@ public class CraftEventFactory { +@@ -787,9 +787,9 @@ public class CraftEventFactory { return event; } @@ -2351,7 +2351,7 @@ index cd54ba211070d34581068d6c1f3cceb858411415..fdb97878a6e73b729dbf09292d214e42 event.setKeepInventory(keepInventory); org.bukkit.World world = entity.getWorld(); Bukkit.getServer().getPluginManager().callEvent(event); -@@ -796,7 +796,7 @@ public class CraftEventFactory { +@@ -813,7 +813,7 @@ public class CraftEventFactory { * Server methods */ public static ServerListPingEvent callServerListPingEvent(Server craftServer, InetAddress address, String motd, int numPlayers, int maxPlayers) { @@ -2361,7 +2361,7 @@ index cd54ba211070d34581068d6c1f3cceb858411415..fdb97878a6e73b729dbf09292d214e42 return event; } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java -index 25826a4f019a3084517f84cd3e5a7810c7958f0e..dfca1161da8009e508c5c5ef788422441145cfdf 100644 +index ceada296118643c79dfb94f08288ddbeca50c9dd..99d52dc4a3619200e8eb864e8ed8f4a6e469b443 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java @@ -69,6 +69,13 @@ public class CraftContainer extends AbstractContainerMenu { diff --git a/patches/server/0018-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch b/patches/server/0018-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch index a6742d296..b7fa971c0 100644 --- a/patches/server/0018-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch +++ b/patches/server/0018-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch @@ -19,10 +19,10 @@ index 2c53a400611c78236c5a1c1270d27c02e94251bf..a1d5c0f8fe2adb2ee56f3217e089211e if (outputStream != null) { try { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 6a6249ad58cc90782d526d89c899f30a59b980b2..e8d732933ddd2b670ff0b9c8d9be84a332f06482 100644 +index 9f7b60c74ccc46b7677ccfe487367cd4793b8287..3a9d77a190ef96c06717ee00bcfba52b8f984c14 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1417,7 +1417,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop= 0 && index < this.list.size()) { Tag tag = this.list.get(index); diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index c89c983e6f64718dabb2893996f7eb4a111c97c9..d26e8803222276fb7bb1bedd9fd13a8861ce671c 100644 +index 2db7c62d25791bc7856d007e9197f8c8041f8dfa..461b376987d3bc7c786fe6d29c5a07a5129c3355 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -1110,6 +1110,11 @@ public class ServerLevel extends net.minecraft.world.level.Level implements Worl @@ -33,7 +33,7 @@ index c89c983e6f64718dabb2893996f7eb4a111c97c9..d26e8803222276fb7bb1bedd9fd13a88 } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 568ce924efcad6ab6b986f1a450eb56c80e89b02..84c2a14d7336d57d5db66d01c75e31a58860d96c 100644 +index a5e3f27a471bf2396db640685edfc93f77fe2c0c..864724d962d536c1a4402a8da1e0b378e9d7efd5 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -280,6 +280,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n @@ -114,10 +114,10 @@ index 394164f50256ad9a167e15531a9202875abb6cb6..abc62c560816d945642d830a020deb28 @Nullable diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index f4bcf48060bc704e0b6c690f78faaecfe90d8db3..bac39ee51f36ad86d6a4978306b6612d9376adbf 100644 +index 408e5a68986a91183d08ce06d385867b947ac04e..e5549f33a472133a8ce8533b5b827560a550f7ae 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1096,4 +1096,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1097,4 +1097,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return this.spigot; } // Spigot end diff --git a/patches/server/0032-Optimize-explosions.patch b/patches/server/0032-Optimize-explosions.patch index d6ac9e859..f70d7af74 100644 --- a/patches/server/0032-Optimize-explosions.patch +++ b/patches/server/0032-Optimize-explosions.patch @@ -25,10 +25,10 @@ index e6e18f309dc09ea9416ea37dcc697ddc2b571a96..4881b03d470646843bad1bc343eb6a6a + } } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 400aac6a37c63f34bf0038780e2137d82bc3416d..c6a59fa4b30d54baa638c931f045b2d546da021a 100644 +index ca439ac2a09a2ce4e019282c0b75f2f5d41a2208..3b4e679cc3c711635e6e2f3906a0afd2142c7849 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1396,6 +1396,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { return worldserver + " " + worldserver.dimension().location(); diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 69b52097eede1a5c408aa7f34442e42255386436..9394dd781bb27b273c442972c5923615ac406507 100644 +index 07c9a4438a940e85625e715ceb4e01821dc9cc4b..f97df3dcc1dac794591dceea0fe41bcd0843e2ce 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -201,6 +201,7 @@ public class ServerLevel extends net.minecraft.world.level.Level implements Worl diff --git a/patches/server/0076-Add-PlayerUseUnknownEntityEvent.patch b/patches/server/0076-Add-PlayerUseUnknownEntityEvent.patch index cb09c9b1c..88703e3fd 100644 --- a/patches/server/0076-Add-PlayerUseUnknownEntityEvent.patch +++ b/patches/server/0076-Add-PlayerUseUnknownEntityEvent.patch @@ -29,10 +29,10 @@ index 1b316ecf2d8725b9c91a4869e6c2362c1443160d..70d309ddb215c62805b6ee13be50d8f9 ATTACK((friendlyByteBuf) -> { return ServerboundInteractPacket.ATTACK_ACTION; diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 714fb0d766b654ad05134dea9b1e1b628a939993..6cd0fd57503723a58b30a7c33b1c863afc2401e2 100644 +index dfab012166354af6233ee1fdab1b0fba6fcbe940..fa6d414387950d522243370714d5425f09e351e8 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2202,8 +2202,37 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -2203,8 +2203,37 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser }); } } diff --git a/patches/server/0082-Workaround-for-setting-passengers-on-players.patch b/patches/server/0082-Workaround-for-setting-passengers-on-players.patch index 1a1869f69..0892d11ff 100644 --- a/patches/server/0082-Workaround-for-setting-passengers-on-players.patch +++ b/patches/server/0082-Workaround-for-setting-passengers-on-players.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Workaround for setting passengers on players SPIGOT-1915 & GH-114 diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 836692160077935c45b25f7002079111ebb91a6e..2605f2b34206f8eaffcb0e5ae0b928261ab366d2 100644 +index af9e79e1995ed8c1d5160a7b8ba7eec993e82263..d20b4d4cb52e37356b553e5197d650472e03e5b2 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -883,6 +883,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -892,6 +892,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return true; } diff --git a/patches/server/0083-Configurable-Player-Collision.patch b/patches/server/0083-Configurable-Player-Collision.patch index 655a29615..b89f00d48 100644 --- a/patches/server/0083-Configurable-Player-Collision.patch +++ b/patches/server/0083-Configurable-Player-Collision.patch @@ -32,7 +32,7 @@ index 8885220e4813b34627b42523834bbec995d8950d..4c9660176e783999301565790b8cf6f4 buf.writeComponent(this.playerPrefix); buf.writeComponent(this.playerSuffix); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 591f7452005cbfb567b611b3ba71c16596f9edfa..f1868ef9111f25a1d4232587c0c5145c7cd50ef4 100644 +index 9e936078b388459bed7da3c6edfd0e65f3b1b1bf..15e26dbc38e23c5284246ef55d038eb011759ee2 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -163,6 +163,7 @@ import net.minecraft.world.level.storage.loot.LootTables; @@ -43,7 +43,7 @@ index 591f7452005cbfb567b611b3ba71c16596f9edfa..f1868ef9111f25a1d4232587c0c5145c import org.apache.commons.lang3.Validate; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -@@ -602,6 +603,20 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { -@@ -2232,7 +2234,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0) { @@ -18,10 +18,10 @@ index 7df6946dcb2a7fbc625681dfbae1e15be625875b..1953739fd2ead7680273ef63d8506e54 --this.count; diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index cb3f1f71cc5c5a18c0af818679b72583a7edec7c..c981bb0e1e7c4c8b7603e2ac8e483ad5b4a2c742 100644 +index 68a3cc357a7f2a837d434a4defc0eeb9a2dc7c31..f32a2a96da71c1cbcf0d153d882ff60ca66ffd2a 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1041,6 +1041,17 @@ public class CraftEventFactory { +@@ -1057,6 +1057,17 @@ public class CraftEventFactory { return event; } diff --git a/patches/server/0114-Add-ProjectileCollideEvent.patch b/patches/server/0114-Add-ProjectileCollideEvent.patch index 96765a5d3..67389db8d 100644 --- a/patches/server/0114-Add-ProjectileCollideEvent.patch +++ b/patches/server/0114-Add-ProjectileCollideEvent.patch @@ -87,10 +87,10 @@ index f81be1c6a5efc5090fbb8832f44dbb2ae6aa2f4a..8e81b19706a14c21b5ffdc4f12818fe7 this.checkInsideBlocks(); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index c981bb0e1e7c4c8b7603e2ac8e483ad5b4a2c742..56900b5810db623a49559ad218a5385c110bf479 100644 +index f32a2a96da71c1cbcf0d153d882ff60ca66ffd2a..1fce91a05a6b04a8d93d2707637c5b96c318a641 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1185,6 +1185,16 @@ public class CraftEventFactory { +@@ -1201,6 +1201,16 @@ public class CraftEventFactory { return CraftItemStack.asNMSCopy(bitem); } diff --git a/patches/server/0121-String-based-Action-Bar-API.patch b/patches/server/0121-String-based-Action-Bar-API.patch index 0ef38a781..35057a029 100644 --- a/patches/server/0121-String-based-Action-Bar-API.patch +++ b/patches/server/0121-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 d50ce7fc675fcc57f591e90eb0bbb99a4ab21b02..1da034d28732a5f5b9bd9b31966da21830efdc9f 100644 +index 3c8cc16ecf277390db3dbe112d0be6adf44e5b0c..4f21d578a65778ab9022b09bee3b84af341ddbdd 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -247,6 +247,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -248,6 +248,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } // Paper start diff --git a/patches/server/0122-Properly-fix-item-duplication-bug.patch b/patches/server/0122-Properly-fix-item-duplication-bug.patch index 8262c3fe0..220ce9ab6 100644 --- a/patches/server/0122-Properly-fix-item-duplication-bug.patch +++ b/patches/server/0122-Properly-fix-item-duplication-bug.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Properly fix item duplication bug Credit to prplz for figuring out the real issue diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index c60d42c835ed9a1bcc938aa1647c5266b87a05c5..1c4f3a1cfe808d59333e45c170caf0d760a709c9 100644 +index 4ea1e8b1442c9dc9d282b8cb51c2e588fe4b19a7..ce77dc9e046be1e22d2a6d485d8f17a5fd11949e 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2124,7 +2124,7 @@ public class ServerPlayer extends Player { +@@ -2117,7 +2117,7 @@ public class ServerPlayer extends Player { @Override public boolean isImmobile() { @@ -19,7 +19,7 @@ index c60d42c835ed9a1bcc938aa1647c5266b87a05c5..1c4f3a1cfe808d59333e45c170caf0d7 @Override diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index b33ef48a4372dd8ac4a86bdd386a5a7d42583c72..624776a85a3e3268665571635f0b837cb810a62e 100644 +index 35aa8b40a26a5941d07421f96b424b975a32224e..55cd070c2dbf4cf4d8d0fc62067e9bde69ac7e84 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -2822,7 +2822,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser diff --git a/patches/server/0125-Provide-E-TE-Chunk-count-stat-methods.patch b/patches/server/0125-Provide-E-TE-Chunk-count-stat-methods.patch index b9b48eb82..84141dee3 100644 --- a/patches/server/0125-Provide-E-TE-Chunk-count-stat-methods.patch +++ b/patches/server/0125-Provide-E-TE-Chunk-count-stat-methods.patch @@ -20,10 +20,10 @@ index 52d80086deff664fcfd8952b7cabbfa1f48ad131..a86b5272c0ac4dd64f796f7fd025c7a3 private boolean tickingBlockEntities; public final Thread thread; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 5133febf4b3a83b2870fee2f9e45b1d12894df54..10b046ed843acac205608fa2fa3ffd4e4a277b5c 100644 +index 26f89f747eba69caaee3cbca71a1d48f2378b4cc..c9f11030ff928d3dca5cfbe48af057eb0480f898 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -270,6 +270,57 @@ public class CraftWorld implements World { +@@ -271,6 +271,57 @@ public class CraftWorld implements World { private int waterAmbientSpawn = -1; private int ambientSpawn = -1; diff --git a/patches/server/0128-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch b/patches/server/0128-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch index d3d79693e..443029cb4 100644 --- a/patches/server/0128-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch +++ b/patches/server/0128-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch @@ -8,10 +8,10 @@ Adds lots of information about why this orb exists. Replaces isFromBottle() with logic that persists entity reloads too. diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -index f0462770e5e56b28d734f5d097d95de8faee8bbf..9d303a962950c7464d1d4a2a0ce3f658628cc785 100644 +index f772924217c0531b09662a145d8ee5d22dd5ca51..ecfb88b4d9727ad20a2c33475cc6b1ec88821a19 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -@@ -406,7 +406,7 @@ public class ServerPlayerGameMode { +@@ -415,7 +415,7 @@ public class ServerPlayerGameMode { // Drop event experience if (flag && event != null) { @@ -21,7 +21,7 @@ index f0462770e5e56b28d734f5d097d95de8faee8bbf..9d303a962950c7464d1d4a2a0ce3f658 return true; diff --git a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java -index 1953739fd2ead7680273ef63d8506e546758dc9b..337e861a8b1a89b73560601b704c18dcf446a144 100644 +index 919fbe73f46238a1846c969bf64c309f3b9ad9d6..9662104a85faff2cdafd8cf001a8222182b56073 100644 --- a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java +++ b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java @@ -38,13 +38,63 @@ public class ExperienceOrb extends Entity { @@ -112,7 +112,7 @@ index 1953739fd2ead7680273ef63d8506e546758dc9b..337e861a8b1a89b73560601b704c18dc } } -@@ -230,6 +288,7 @@ public class ExperienceOrb extends Entity { +@@ -227,6 +285,7 @@ public class ExperienceOrb extends Entity { nbt.putShort("Age", (short) this.age); nbt.putShort("Value", (short) this.value); nbt.putInt("Count", this.count); @@ -120,7 +120,7 @@ index 1953739fd2ead7680273ef63d8506e546758dc9b..337e861a8b1a89b73560601b704c18dc } @Override -@@ -238,6 +297,7 @@ public class ExperienceOrb extends Entity { +@@ -235,6 +294,7 @@ public class ExperienceOrb extends Entity { this.age = nbt.getShort("Age"); this.value = nbt.getShort("Value"); this.count = Math.max(nbt.getInt("Count"), 1); @@ -314,10 +314,10 @@ index 11ed01b3ebe4c71e3d3c767887a5dca6033fdf3c..52b2b27f8f8b542a930d649ed6904b4b @Override diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index e11a1a21bff1fc5e730d6c63c5b0c623b3b2e037..e396450366ebee663dd5ad5f59e5d6bccece0679 100644 +index c9f11030ff928d3dca5cfbe48af057eb0480f898..9925d1f68c35a29156a152a8cc4b653ba280374b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1836,7 +1836,7 @@ public class CraftWorld implements World { +@@ -1837,7 +1837,7 @@ public class CraftWorld implements World { } else if (TNTPrimed.class.isAssignableFrom(clazz)) { entity = new PrimedTnt(this.world, x, y, z, null); } else if (ExperienceOrb.class.isAssignableFrom(clazz)) { diff --git a/patches/server/0133-Properly-handle-async-calls-to-restart-the-server.patch b/patches/server/0133-Properly-handle-async-calls-to-restart-the-server.patch index 71da2cb2b..d3bde1b9b 100644 --- a/patches/server/0133-Properly-handle-async-calls-to-restart-the-server.patch +++ b/patches/server/0133-Properly-handle-async-calls-to-restart-the-server.patch @@ -30,7 +30,7 @@ will have plugins and worlds saving to the disk has a high potential to result in corruption/dataloss. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 74073d3f8c9dda6f10e9fb34071dae079b73fb24..1617c59bf689e5f67c2af5c3a22ce5791d47b408 100644 +index 3e2955013ce75034170b5eeae60482e1c174769d..220ead6455587a07375b6e86913865c6b590a87d 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -233,6 +233,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0.0D; if (this.player.isOnGround() && !packet.isOnGround() && flag) { diff --git a/patches/server/0161-Expose-client-protocol-version-and-virtual-host.patch b/patches/server/0161-Expose-client-protocol-version-and-virtual-host.patch index ca799c2b5..d9c30bace 100644 --- a/patches/server/0161-Expose-client-protocol-version-and-virtual-host.patch +++ b/patches/server/0161-Expose-client-protocol-version-and-virtual-host.patch @@ -90,10 +90,10 @@ index c4ba069f5124ec151e05813beddf293fddc3b804..484221e5a9c246aa91e0eacef3911b0e @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 1da034d28732a5f5b9bd9b31966da21830efdc9f..ed1c57f22adc8b96012eca426ed1e7b409e7d663 100644 +index 4f21d578a65778ab9022b09bee3b84af341ddbdd..1af5e3f3389d5f4e391f05b3f8e7df9d3c799981 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -191,6 +191,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -192,6 +192,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } } diff --git a/patches/server/0168-AsyncTabCompleteEvent.patch b/patches/server/0168-AsyncTabCompleteEvent.patch index 22bff78e5..c0a87f996 100644 --- a/patches/server/0168-AsyncTabCompleteEvent.patch +++ b/patches/server/0168-AsyncTabCompleteEvent.patch @@ -14,7 +14,7 @@ completion, such as offline players. Also adds isCommand and getLocation to the sync TabCompleteEvent diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index b2bbd25e5572f59add71579b676d5a4c719be239..205e4ef25f49edc11a408c302d9ba68a59c68a5a 100644 +index 985736fc4e3d702a1fd787336db8ab18ee2a4783..5b426265d62063544f0104c8c9f8061d002bc56c 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -703,10 +703,10 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -72,10 +72,10 @@ index b2bbd25e5572f59add71579b676d5a4c719be239..205e4ef25f49edc11a408c302d9ba68a @Override diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 0be8b1727ce57ec0905315922e1d83104a936cd0..cb09b6170a74984628f2c3dbacad2ddc9fe56faf 100644 +index 754e10be4f62ee3efac34bea3c72e23b1b06053c..8e93f6398a5974676a479e17f31a8e77c461fb41 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1849,7 +1849,7 @@ public final class CraftServer implements Server { +@@ -1851,7 +1851,7 @@ public final class CraftServer implements Server { offers = this.tabCompleteChat(player, message); } diff --git a/patches/server/0169-PlayerPickupExperienceEvent.patch b/patches/server/0169-PlayerPickupExperienceEvent.patch index f668dc331..6787576f7 100644 --- a/patches/server/0169-PlayerPickupExperienceEvent.patch +++ b/patches/server/0169-PlayerPickupExperienceEvent.patch @@ -6,10 +6,10 @@ Subject: [PATCH] PlayerPickupExperienceEvent Allows plugins to cancel a player picking up an experience orb diff --git a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java -index 337e861a8b1a89b73560601b704c18dcf446a144..8203c93dcb56646df2614f2233aaf3a36f745d1c 100644 +index 9662104a85faff2cdafd8cf001a8222182b56073..4a6a588eeeee3aa7d33d4b4545e9b8bdf043e567 100644 --- a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java +++ b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java -@@ -303,7 +303,7 @@ public class ExperienceOrb extends Entity { +@@ -300,7 +300,7 @@ public class ExperienceOrb extends Entity { @Override public void playerTouch(Player player) { if (!this.level.isClientSide) { diff --git a/patches/server/0170-Ability-to-apply-mending-to-XP-API.patch b/patches/server/0170-Ability-to-apply-mending-to-XP-API.patch index 24489b2e5..d0492a8af 100644 --- a/patches/server/0170-Ability-to-apply-mending-to-XP-API.patch +++ b/patches/server/0170-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/net/minecraft/world/entity/ExperienceOrb.java b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java -index 8203c93dcb56646df2614f2233aaf3a36f745d1c..71fb831ed3359e7986e279c987211f39c581ab23 100644 +index 4a6a588eeeee3aa7d33d4b4545e9b8bdf043e567..30a3facc1b23ccb508b30c5affa9ea1c527dd48b 100644 --- a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java +++ b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java -@@ -344,10 +344,12 @@ public class ExperienceOrb extends Entity { +@@ -341,10 +341,12 @@ public class ExperienceOrb extends Entity { } } @@ -45,7 +45,7 @@ index 27cdfbeb6cb2159075b35dd4f9e9557ec0eac7c2..069ce59faab5184ab9da8ca3fe1cebf7 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 ed1c57f22adc8b96012eca426ed1e7b409e7d663..75963a28b39f8835f1daba3d1b44655603124bf3 100644 +index 1af5e3f3389d5f4e391f05b3f8e7df9d3c799981..7c6e1348cc26c38a844b7324a8372266579e048e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -61,11 +61,14 @@ import net.minecraft.server.level.ServerPlayer; @@ -63,7 +63,7 @@ index ed1c57f22adc8b96012eca426ed1e7b409e7d663..75963a28b39f8835f1daba3d1b446556 import net.minecraft.world.level.GameType; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.entity.SignBlockEntity; -@@ -1189,8 +1192,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1198,8 +1201,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return GameMode.getByValue(this.getHandle().gameMode.getGameModeForPlayer().getId()); } diff --git a/patches/server/0177-Extend-Player-Interact-cancellation.patch b/patches/server/0177-Extend-Player-Interact-cancellation.patch index 670211c9b..ab571f3eb 100644 --- a/patches/server/0177-Extend-Player-Interact-cancellation.patch +++ b/patches/server/0177-Extend-Player-Interact-cancellation.patch @@ -13,10 +13,10 @@ Update adjacent blocks of doors, double plants, pistons and beds when cancelling interaction. diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -index 9d303a962950c7464d1d4a2a0ce3f658628cc785..a67b7c82236d448bf10c257ab0a10476372ce89c 100644 +index ecfb88b4d9727ad20a2c33475cc6b1ec88821a19..315dad4789f5f2582ee9b4fc176affd1f57537ef 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -@@ -178,6 +178,11 @@ public class ServerPlayerGameMode { +@@ -187,6 +187,11 @@ public class ServerPlayerGameMode { PlayerInteractEvent event = CraftEventFactory.callPlayerInteractEvent(this.player, Action.LEFT_CLICK_BLOCK, pos, direction, this.player.getInventory().getSelected(), InteractionHand.MAIN_HAND); if (event.isCancelled()) { // Let the client know the block still exists @@ -28,7 +28,7 @@ index 9d303a962950c7464d1d4a2a0ce3f658628cc785..a67b7c82236d448bf10c257ab0a10476 this.player.connection.send(new ClientboundBlockUpdatePacket(this.level, pos)); // Update any tile entity data for this block BlockEntity tileentity = this.level.getBlockEntity(pos); -@@ -493,7 +498,13 @@ public class ServerPlayerGameMode { +@@ -502,7 +507,13 @@ public class ServerPlayerGameMode { // send a correcting update to the client for the block above as well, this because of replaceable blocks (such as grass, sea grass etc) player.connection.send(new ClientboundBlockUpdatePacket(world, blockposition.above())); diff --git a/patches/server/0181-Implement-extended-PaperServerListPingEvent.patch b/patches/server/0181-Implement-extended-PaperServerListPingEvent.patch index 31680c41f..ff5a86f8c 100644 --- a/patches/server/0181-Implement-extended-PaperServerListPingEvent.patch +++ b/patches/server/0181-Implement-extended-PaperServerListPingEvent.patch @@ -190,7 +190,7 @@ index 67455a5ba75c9b816213e44d6872c5ddf8e27e98..23efad80934930beadf15e65781551d4 public ClientboundStatusResponsePacket(ServerStatus metadata) { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index fb4385333ef8dd4fa22275753606df3020000539..a0c436fd5e7e03a0a01e59c046e65ebdcd88021a 100644 +index d86c5cb6fa9c31db90c6392cd8baf5823b6c32b4..050b27be1c25764d65e5340149718e858b3aeb2e 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -2,6 +2,9 @@ package net.minecraft.server; @@ -203,7 +203,7 @@ index fb4385333ef8dd4fa22275753606df3020000539..a0c436fd5e7e03a0a01e59c046e65ebd import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; -@@ -1310,7 +1313,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop= 5000000000L) { this.lastServerStatus = i; this.status.setPlayers(new ServerStatus.Players(this.getMaxPlayers(), this.getPlayerCount())); diff --git a/patches/server/0184-Player.setPlayerProfile-API.patch b/patches/server/0184-Player.setPlayerProfile-API.patch index 7ebc1c188..1fdec002b 100644 --- a/patches/server/0184-Player.setPlayerProfile-API.patch +++ b/patches/server/0184-Player.setPlayerProfile-API.patch @@ -39,7 +39,7 @@ index 4e8d38a6379d3dc1b7167b27479e6a27ea19ea19..3c0aca2b90521da83cf494d9fff953a1 private ItemStack lastItemInMainHand; private final ItemCooldowns cooldowns; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 75963a28b39f8835f1daba3d1b44655603124bf3..8bf0c74ee32e8cb7c0f48bc964552811ad6ee468 100644 +index 7c6e1348cc26c38a844b7324a8372266579e048e..c40b96a88ec6c33364cd7a04e5354900cba72f05 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -71,6 +71,7 @@ import net.minecraft.world.item.enchantment.EnchantmentHelper; @@ -50,7 +50,7 @@ index 75963a28b39f8835f1daba3d1b44655603124bf3..8bf0c74ee32e8cb7c0f48bc964552811 import net.minecraft.world.level.block.entity.SignBlockEntity; import net.minecraft.world.level.saveddata.maps.MapDecoration; import net.minecraft.world.level.saveddata.maps.MapItemSavedData; -@@ -1320,8 +1321,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1329,8 +1330,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.hiddenPlayers.put(player.getUniqueId(), hidingPlugins); // Remove this player from the hidden player's EntityTrackerEntry @@ -65,7 +65,7 @@ index 75963a28b39f8835f1daba3d1b44655603124bf3..8bf0c74ee32e8cb7c0f48bc964552811 ChunkMap.TrackedEntity entry = tracker.entityMap.get(other.getId()); if (entry != null) { entry.removePlayer(this.getHandle()); -@@ -1362,8 +1368,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1371,8 +1377,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } this.hiddenPlayers.remove(player.getUniqueId()); @@ -80,7 +80,7 @@ index 75963a28b39f8835f1daba3d1b44655603124bf3..8bf0c74ee32e8cb7c0f48bc964552811 this.getHandle().connection.send(new ClientboundPlayerInfoPacket(ClientboundPlayerInfoPacket.Action.ADD_PLAYER, other)); -@@ -1372,6 +1383,50 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1381,6 +1392,50 @@ public class CraftPlayer extends CraftHumanEntity implements Player { entry.updatePlayer(this.getHandle()); } } diff --git a/patches/server/0185-getPlayerUniqueId-API.patch b/patches/server/0185-getPlayerUniqueId-API.patch index bdb836561..0db33e015 100644 --- a/patches/server/0185-getPlayerUniqueId-API.patch +++ b/patches/server/0185-getPlayerUniqueId-API.patch @@ -9,10 +9,10 @@ In Offline Mode, will return an Offline UUID This is a more performant way to obtain a UUID for a name than loading an OfflinePlayer diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index cb09b6170a74984628f2c3dbacad2ddc9fe56faf..df94ac3f5319cd990f5592d57d2e319c84f51524 100644 +index 8e93f6398a5974676a479e17f31a8e77c461fb41..b12fb31d9a601c1781b0cb0a24bdd9cbcc4f382b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1517,6 +1517,25 @@ public final class CraftServer implements Server { +@@ -1519,6 +1519,25 @@ public final class CraftServer implements Server { return recipients.size(); } diff --git a/patches/server/0189-Flag-to-disable-the-channel-limit.patch b/patches/server/0189-Flag-to-disable-the-channel-limit.patch index c2ee900d0..20cb1ffb9 100644 --- a/patches/server/0189-Flag-to-disable-the-channel-limit.patch +++ b/patches/server/0189-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 8bf0c74ee32e8cb7c0f48bc964552811ad6ee468..8df1894df3583840412ccc7ccdc4b23db6dd6265 100644 +index c40b96a88ec6c33364cd7a04e5354900cba72f05..87f48b648d7523ccd573fa673666fdaaadbb9eda 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -148,6 +148,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -149,6 +149,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Paper start private org.bukkit.event.player.PlayerResourcePackStatusEvent.Status resourcePackStatus; private String resourcePackHash; @@ -20,7 +20,7 @@ index 8bf0c74ee32e8cb7c0f48bc964552811ad6ee468..8df1894df3583840412ccc7ccdc4b23d // Paper end public CraftPlayer(CraftServer server, ServerPlayer entity) { -@@ -1589,7 +1590,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1598,7 +1599,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } public void addChannel(String channel) { diff --git a/patches/server/0190-Add-method-to-open-already-placed-sign.patch b/patches/server/0190-Add-method-to-open-already-placed-sign.patch index 01f8ae7ef..94cbbbf03 100644 --- a/patches/server/0190-Add-method-to-open-already-placed-sign.patch +++ b/patches/server/0190-Add-method-to-open-already-placed-sign.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add method to open already placed sign diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index 6c404878e58f68c9ac86a1771c23e528f3817e32..7f7322b5174a7580675b0607b0f282f7bf75a3e2 100644 +index bddfc12e8cf896bee5fb518ddacdca434456c6bb..c839ea0b68fbdccfb7ed667c705a3f0f347fd89c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -@@ -604,6 +604,17 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -610,6 +610,17 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { } } diff --git a/patches/server/0196-Expand-World.spawnParticle-API-and-add-Builder.patch b/patches/server/0196-Expand-World.spawnParticle-API-and-add-Builder.patch index 45e96cfdf..719bc3db5 100644 --- a/patches/server/0196-Expand-World.spawnParticle-API-and-add-Builder.patch +++ b/patches/server/0196-Expand-World.spawnParticle-API-and-add-Builder.patch @@ -10,7 +10,7 @@ Adds an option to control the force mode of the particle. This adds a new Builder API which is much friendlier to use. diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 8323ddb363f49d266dd95f11241a30a9a27250aa..cf074ef0cb01bc2cbd8c529e7233ceb9443f764d 100644 +index 18ab943ea2a959f012c3f75957fcb05dbe4ee6ff..c7ac5b323c731e5a7929f87d59e62796e8d4a107 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -1287,12 +1287,17 @@ public class ServerLevel extends net.minecraft.world.level.Level implements Worl @@ -34,10 +34,10 @@ index 8323ddb363f49d266dd95f11241a30a9a27250aa..cf074ef0cb01bc2cbd8c529e7233ceb9 if (this.sendParticles(entityplayer, force, d0, d1, d2, packetplayoutworldparticles)) { // CraftBukkit diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index bc80e0062ef679e7cb147bd1a6da52bf95da52b8..ab59b0e9dc827e7ebe0c4dea633680908dcb5874 100644 +index 9925d1f68c35a29156a152a8cc4b653ba280374b..fbc82598a2f7ea439bb371ecf074b486ae09c355 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2355,11 +2355,17 @@ public class CraftWorld implements World { +@@ -2357,11 +2357,17 @@ public class CraftWorld implements World { @Override public 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/0201-Allow-spawning-Item-entities-with-World.spawnEntity.patch b/patches/server/0201-Allow-spawning-Item-entities-with-World.spawnEntity.patch index 7c6dcd87e..5f114f6ef 100644 --- a/patches/server/0201-Allow-spawning-Item-entities-with-World.spawnEntity.patch +++ b/patches/server/0201-Allow-spawning-Item-entities-with-World.spawnEntity.patch @@ -8,10 +8,10 @@ This API has more capabilities than .dropItem with the Consumer function Item can be set inside of the Consumer pre spawn function. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index ab59b0e9dc827e7ebe0c4dea633680908dcb5874..058346b89c07d44a5425a61abedcfc440cb9ee21 100644 +index fbc82598a2f7ea439bb371ecf074b486ae09c355..e744a793062acce339c4914eb2eff2a8c2ff6f1b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1505,6 +1505,10 @@ public class CraftWorld implements World { +@@ -1506,6 +1506,10 @@ public class CraftWorld implements World { if (Boat.class.isAssignableFrom(clazz)) { entity = new net.minecraft.world.entity.vehicle.Boat(this.world, x, y, z); entity.moveTo(x, y, z, yaw, pitch); diff --git a/patches/server/0206-Fix-CraftEntity-hashCode.patch b/patches/server/0206-Fix-CraftEntity-hashCode.patch index 35cf02c08..9c66bc30b 100644 --- a/patches/server/0206-Fix-CraftEntity-hashCode.patch +++ b/patches/server/0206-Fix-CraftEntity-hashCode.patch @@ -21,10 +21,10 @@ check is essentially the same as this.getHandle() == other.getHandle() However, replaced it too to make it clearer of intent. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 1fd891b53c54153c28d636b2679b4a083510ba3c..0bc816407157264bf3e736da678535d08b4d85f2 100644 +index af8552f21f598f99151e59fe44df40f13caa3ead..b9089ba658d38397cf07245e31e6d40b3a2a5f2b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -782,14 +782,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -783,14 +783,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return false; } final CraftEntity other = (CraftEntity) obj; diff --git a/patches/server/0213-Expand-Explosions-API.patch b/patches/server/0213-Expand-Explosions-API.patch index 00de92415..211ac6f05 100644 --- a/patches/server/0213-Expand-Explosions-API.patch +++ b/patches/server/0213-Expand-Explosions-API.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Expand Explosions API Add Entity as a Source capability, and add more API choices, and on Location. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 058346b89c07d44a5425a61abedcfc440cb9ee21..df6b4f65dd84621b8477b42a504f9e62c633a6b5 100644 +index e744a793062acce339c4914eb2eff2a8c2ff6f1b..c3a57510cd17203c65c15de0544d5656eb7a0b7b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -889,6 +889,12 @@ public class CraftWorld implements World { +@@ -890,6 +890,12 @@ public class CraftWorld implements World { public boolean createExplosion(double x, double y, double z, float power, boolean setFire, boolean breakBlocks, Entity source) { return !this.world.explode(source == null ? null : ((CraftEntity) source).getHandle(), x, y, z, power, setFire, breakBlocks ? Explosion.BlockInteraction.BREAK : Explosion.BlockInteraction.NONE).wasCanceled; } diff --git a/patches/server/0217-Implement-World.getEntity-UUID-API.patch b/patches/server/0217-Implement-World.getEntity-UUID-API.patch index 102425926..db3675e02 100644 --- a/patches/server/0217-Implement-World.getEntity-UUID-API.patch +++ b/patches/server/0217-Implement-World.getEntity-UUID-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Implement World.getEntity(UUID) API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index df6b4f65dd84621b8477b42a504f9e62c633a6b5..e7f5cd35869790baf616e6c65f49169aa5349e89 100644 +index c3a57510cd17203c65c15de0544d5656eb7a0b7b..e819031a4176a54a06c5a09ee29eda4db4f6cc08 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1295,6 +1295,15 @@ public class CraftWorld implements World { +@@ -1296,6 +1296,15 @@ public class CraftWorld implements World { return list; } diff --git a/patches/server/0218-InventoryCloseEvent-Reason-API.patch b/patches/server/0218-InventoryCloseEvent-Reason-API.patch index b7296c49d..b2754a7e7 100644 --- a/patches/server/0218-InventoryCloseEvent-Reason-API.patch +++ b/patches/server/0218-InventoryCloseEvent-Reason-API.patch @@ -7,7 +7,7 @@ Allows you to determine why an inventory was closed, enabling plugin developers to "confirm" things based on if it was player triggered close or not. diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index cf074ef0cb01bc2cbd8c529e7233ceb9443f764d..ca0907601c6262d27c3406cea806a40421bc4ace 100644 +index c7ac5b323c731e5a7929f87d59e62796e8d4a107..5a5733124bd8395bb996e9d5426c4a260fbeb1d3 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -1055,7 +1055,7 @@ public class ServerLevel extends net.minecraft.world.level.Level implements Worl @@ -29,7 +29,7 @@ index cf074ef0cb01bc2cbd8c529e7233ceb9443f764d..ca0907601c6262d27c3406cea806a404 } // Spigot End diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 7159a433e9a264d2151dddc84a74689d0bc7635b..171500918c8ee248689909ae97230eb18adc33e5 100644 +index aeea85ce319c8583c70dee632ff68d430c2cae02..c8652e3bf325d3c557257ad88fe195f7a31683d6 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -602,7 +602,7 @@ public class ServerPlayer extends Player { @@ -84,7 +84,7 @@ index 7159a433e9a264d2151dddc84a74689d0bc7635b..171500918c8ee248689909ae97230eb1 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 35a00a622ff0c3582e08dbbefb1d34a84e590a81..ce88f701f296e67afc67d7e3882406e86147408e 100644 +index d5c3c97e5205ef94578bc2d9d39f1a4c2600db94..ec473952e9f35db15cbb743a3c77c45c26d40ac5 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -188,6 +188,7 @@ import org.bukkit.event.inventory.ClickType; @@ -95,7 +95,7 @@ index 35a00a622ff0c3582e08dbbefb1d34a84e590a81..ce88f701f296e67afc67d7e3882406e8 import org.bukkit.event.inventory.InventoryCreativeEvent; import org.bukkit.event.inventory.InventoryType.SlotType; import org.bukkit.event.inventory.SmithItemEvent; -@@ -2332,10 +2333,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -2333,10 +2334,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @Override public void handleContainerClose(ServerboundContainerClosePacket packet) { @@ -154,7 +154,7 @@ index 0d6e024208182d5779be3d84cff193ce904ad541..e0e33dd92b686939f622f0a7da0d5a97 this.containerMenu = this.inventoryMenu; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index 7f7322b5174a7580675b0607b0f282f7bf75a3e2..662a4cec1d292428f06ec5a1f862a1f8d8834c09 100644 +index c839ea0b68fbdccfb7ed667c705a3f0f347fd89c..43cee8b0b2b94d6db6303a1631731ed515eb806d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java @@ -373,7 +373,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { @@ -185,10 +185,10 @@ index 7f7322b5174a7580675b0607b0f282f7bf75a3e2..662a4cec1d292428f06ec5a1f862a1f8 @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 8df1894df3583840412ccc7ccdc4b23db6dd6265..f8155d7edb4e13c2ec5ed832231f02ee6eff3f35 100644 +index 87f48b648d7523ccd573fa673666fdaaadbb9eda..b0a6ef41f5065e02c0eada4f2fb6cc9335307bde 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -908,7 +908,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -917,7 +917,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Close any foreign inventory if (this.getHandle().containerMenu != this.getHandle().inventoryMenu) { @@ -198,10 +198,10 @@ index 8df1894df3583840412ccc7ccdc4b23db6dd6265..f8155d7edb4e13c2ec5ed832231f02ee // Check if the fromWorld and toWorld are the same. diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 56900b5810db623a49559ad218a5385c110bf479..375e9e45331d5be237c67f11af94c6998409418b 100644 +index 1fce91a05a6b04a8d93d2707637c5b96c318a641..5d0bbdd342eda5660b461b99fed7e80afaefbff9 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1154,7 +1154,7 @@ public class CraftEventFactory { +@@ -1170,7 +1170,7 @@ public class CraftEventFactory { public static AbstractContainerMenu callInventoryOpenEvent(ServerPlayer player, AbstractContainerMenu container, boolean cancelled) { if (player.containerMenu != player.inventoryMenu) { // fire INVENTORY_CLOSE if one already open @@ -210,7 +210,7 @@ index 56900b5810db623a49559ad218a5385c110bf479..375e9e45331d5be237c67f11af94c699 } CraftServer server = player.level.getCraftServer(); -@@ -1320,8 +1320,18 @@ public class CraftEventFactory { +@@ -1336,8 +1336,18 @@ public class CraftEventFactory { return event; } diff --git a/patches/server/0220-Refresh-player-inventory-when-cancelling-PlayerInter.patch b/patches/server/0220-Refresh-player-inventory-when-cancelling-PlayerInter.patch index c21462446..c4c078ca9 100644 --- a/patches/server/0220-Refresh-player-inventory-when-cancelling-PlayerInter.patch +++ b/patches/server/0220-Refresh-player-inventory-when-cancelling-PlayerInter.patch @@ -16,10 +16,10 @@ Refresh the player inventory when PlayerInteractEntityEvent is cancelled to avoid this problem. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index ce88f701f296e67afc67d7e3882406e86147408e..902eab82912b9a7002485f73df7ae25e370b7e25 100644 +index ec473952e9f35db15cbb743a3c77c45c26d40ac5..28f4c456936c378628336d4a36f1975476f7913f 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2217,6 +2217,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -2218,6 +2218,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser } if (event.isCancelled()) { diff --git a/patches/server/0231-Vanished-players-don-t-have-rights.patch b/patches/server/0231-Vanished-players-don-t-have-rights.patch index 8e9dcb152..4ccf5980c 100644 --- a/patches/server/0231-Vanished-players-don-t-have-rights.patch +++ b/patches/server/0231-Vanished-players-don-t-have-rights.patch @@ -99,10 +99,10 @@ index 2c86a5ae8bbf7d80e7ce8cd08319ed6a17b86dbb..c1cf7f5bff2878281d4a9787ea7160e9 public boolean isClientSide() { return this.isClientSide; diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 375e9e45331d5be237c67f11af94c6998409418b..966d06e2da7e6f9b4e78ca8ed02f3a6472bc8c05 100644 +index 5d0bbdd342eda5660b461b99fed7e80afaefbff9..c09c2c8ec2a4dd2e1eec5ecf97cbd8456b5ec3c9 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1190,6 +1190,14 @@ public class CraftEventFactory { +@@ -1206,6 +1206,14 @@ public class CraftEventFactory { Projectile projectile = (Projectile) entity.getBukkitEntity(); org.bukkit.entity.Entity collided = position.getEntity().getBukkitEntity(); com.destroystokyo.paper.event.entity.ProjectileCollideEvent event = new com.destroystokyo.paper.event.entity.ProjectileCollideEvent(projectile, collided); diff --git a/patches/server/0240-MC-135506-Experience-should-save-as-Integers.patch b/patches/server/0240-MC-135506-Experience-should-save-as-Integers.patch index 0136141c9..e0997fb33 100644 --- a/patches/server/0240-MC-135506-Experience-should-save-as-Integers.patch +++ b/patches/server/0240-MC-135506-Experience-should-save-as-Integers.patch @@ -5,10 +5,10 @@ Subject: [PATCH] MC-135506: Experience should save as Integers diff --git a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java -index 71fb831ed3359e7986e279c987211f39c581ab23..9c91d8453c6a1ad020ecab45775bd81302b817d3 100644 +index 30a3facc1b23ccb508b30c5affa9ea1c527dd48b..a30f9d57257e1de1641f4af1fa7afaea3f0fd37c 100644 --- a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java +++ b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java -@@ -286,7 +286,7 @@ public class ExperienceOrb extends Entity { +@@ -283,7 +283,7 @@ public class ExperienceOrb extends Entity { public void addAdditionalSaveData(CompoundTag nbt) { nbt.putShort("Health", (short) this.health); nbt.putShort("Age", (short) this.age); @@ -17,7 +17,7 @@ index 71fb831ed3359e7986e279c987211f39c581ab23..9c91d8453c6a1ad020ecab45775bd813 nbt.putInt("Count", this.count); this.savePaperNBT(nbt); // Paper } -@@ -295,7 +295,7 @@ public class ExperienceOrb extends Entity { +@@ -292,7 +292,7 @@ public class ExperienceOrb extends Entity { public void readAdditionalSaveData(CompoundTag nbt) { this.health = nbt.getShort("Health"); this.age = nbt.getShort("Age"); diff --git a/patches/server/0242-Add-Early-Warning-Feature-to-WatchDog.patch b/patches/server/0242-Add-Early-Warning-Feature-to-WatchDog.patch index 35278841d..2656d34b7 100644 --- a/patches/server/0242-Add-Early-Warning-Feature-to-WatchDog.patch +++ b/patches/server/0242-Add-Early-Warning-Feature-to-WatchDog.patch @@ -36,10 +36,10 @@ index bd508025b771424c942fd856c31d520b6f548082..62621562137cba4804f0465c58d25ca2 public static int tabSpamLimit = 500; private static void tabSpamLimiters() { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index a0c436fd5e7e03a0a01e59c046e65ebdcd88021a..cf92c3275869e4a0209fd4b07ad723e11717dc86 100644 +index 050b27be1c25764d65e5340149718e858b3aeb2e..880fc4e346549a5d7ed627244bdfd284705ad2fc 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1075,6 +1075,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop comparator; diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 6ea367295d07c444d7cce0366261a884d299185a..65a40c912ec20b06e5da01faebf3798c4b613faa 100644 +index b65fcc7519589c3bc5c5f5b5ec1db53a520ec39f..a29b8c83be940e4b3db06d881b59b03120e931ab 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -712,6 +712,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -3678,10 +3678,10 @@ index 844d65612d9c4c19d02a2b0a5b90cd44de9f17c9..cfd4c38ca99b183f23716f82c972c14b + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 2a9a57263ff116c1a7f51eac127292559de48b11..84666742e0082f8fb853f255a8ec27832a75d4b0 100644 +index 43e47c345a0d2e00f13f0112d26d93b004009ac9..b8565aa86b478adb6fca6d433637ddb342ce6dcb 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2422,6 +2422,34 @@ public class CraftWorld implements World { +@@ -2424,6 +2424,34 @@ public class CraftWorld implements World { public DragonBattle getEnderDragonBattle() { return (this.getHandle().dragonFight() == null) ? null : new CraftDragonBattle(this.getHandle().dragonFight()); } @@ -3717,10 +3717,10 @@ index 2a9a57263ff116c1a7f51eac127292559de48b11..84666742e0082f8fb853f255a8ec2783 // Spigot start @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 0bc816407157264bf3e736da678535d08b4d85f2..ead2b25042af2622f75f7be1fdfad9b4250ac0cc 100644 +index b9089ba658d38397cf07245e31e6d40b3a2a5f2b..c381ea321b0fb3498e3f101ee059ac7d42aa029a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -12,6 +12,7 @@ import net.minecraft.nbt.CompoundTag; +@@ -13,6 +13,7 @@ import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.Tag; import net.minecraft.network.chat.Component; import net.minecraft.server.level.ServerPlayer; @@ -3728,7 +3728,7 @@ index 0bc816407157264bf3e736da678535d08b4d85f2..ead2b25042af2622f75f7be1fdfad9b4 import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.entity.AreaEffectCloud; import net.minecraft.world.entity.Entity; -@@ -514,6 +515,28 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -515,6 +516,28 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { this.entity.setYHeadRot(yaw); } diff --git a/patches/server/0259-Expose-attack-cooldown-methods-for-Player.patch b/patches/server/0259-Expose-attack-cooldown-methods-for-Player.patch index f01641a4e..ec4b2815f 100644 --- a/patches/server/0259-Expose-attack-cooldown-methods-for-Player.patch +++ b/patches/server/0259-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 f8155d7edb4e13c2ec5ed832231f02ee6eff3f35..91dc9e3b02462211a6964204f5409fbae98027e6 100644 +index b0a6ef41f5065e02c0eada4f2fb6cc9335307bde..9683b5e7045050ee0a6f279749dd159ff4366a7d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2199,6 +2199,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2208,6 +2208,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { connection.send(new net.minecraft.network.protocol.game.ClientboundOpenBookPacket(net.minecraft.world.InteractionHand.MAIN_HAND)); connection.send(new net.minecraft.network.protocol.game.ClientboundContainerSetSlotPacket(0, slot, inventory.getSelected())); } diff --git a/patches/server/0260-Improve-death-events.patch b/patches/server/0260-Improve-death-events.patch index 3928b674e..095ae72b8 100644 --- a/patches/server/0260-Improve-death-events.patch +++ b/patches/server/0260-Improve-death-events.patch @@ -19,7 +19,7 @@ maybe more (please check patch overrides for drops for more): - players, armor stands, foxes, chested donkeys/llamas diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 171500918c8ee248689909ae97230eb18adc33e5..44385d07b2deedffd95bcc428d9d8d3f785143db 100644 +index c8652e3bf325d3c557257ad88fe195f7a31683d6..bea1461ee3bd65f02bf6add6ed967555092fd675 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -218,6 +218,10 @@ public class ServerPlayer extends Player { @@ -286,10 +286,10 @@ index 4adde11daa5ca97a2bf9c164c43c5c011a89b33d..cb9969d768b13863722aad3dc5daad3c } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 91dc9e3b02462211a6964204f5409fbae98027e6..22032108fdaed14663a9d7e0b6757eef5237c4dd 100644 +index 9683b5e7045050ee0a6f279749dd159ff4366a7d..686dc5859c081d3b86d8e58a63abee49258208d7 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1849,7 +1849,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1858,7 +1858,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } public void sendHealthUpdate() { @@ -306,10 +306,10 @@ index 91dc9e3b02462211a6964204f5409fbae98027e6..22032108fdaed14663a9d7e0b6757eef public void injectScaledMaxHealth(Collection collection, boolean force) { diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index a81fc5212648056766824113b372a7c772c19e5a..f0c3255e0b4e1ecf4a54213c6458c92a7389b134 100644 +index bb006e6c703e5c4cfa16ca4ee4cf8463215c38b0..c3341d1c4e9cda85b0b236461b0a00cbebc9a856 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -770,9 +770,16 @@ public class CraftEventFactory { +@@ -787,9 +787,16 @@ public class CraftEventFactory { public static EntityDeathEvent callEntityDeathEvent(net.minecraft.world.entity.LivingEntity victim, List drops) { CraftLivingEntity entity = (CraftLivingEntity) victim.getBukkitEntity(); EntityDeathEvent event = new EntityDeathEvent(entity, drops, victim.getExpReward()); @@ -326,7 +326,7 @@ index a81fc5212648056766824113b372a7c772c19e5a..f0c3255e0b4e1ecf4a54213c6458c92a victim.expToDrop = event.getDroppedExp(); for (org.bukkit.inventory.ItemStack stack : event.getDrops()) { -@@ -788,8 +795,15 @@ public class CraftEventFactory { +@@ -805,8 +812,15 @@ public class CraftEventFactory { CraftPlayer entity = victim.getBukkitEntity(); PlayerDeathEvent event = new PlayerDeathEvent(entity, drops, victim.getExpReward(), 0, deathMessage, stringDeathMessage); // Paper - Adventure event.setKeepInventory(keepInventory); @@ -342,7 +342,7 @@ index a81fc5212648056766824113b372a7c772c19e5a..f0c3255e0b4e1ecf4a54213c6458c92a victim.keepLevel = event.getKeepLevel(); victim.newLevel = event.getNewLevel(); -@@ -806,6 +820,31 @@ public class CraftEventFactory { +@@ -823,6 +837,31 @@ public class CraftEventFactory { return event; } diff --git a/work/Bukkit b/work/Bukkit index 5b94881a0..8503c3c9e 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit 5b94881a0b4383f901c1c65db10767e42446760e +Subproject commit 8503c3c9e3dca76b2ae10796d8c288b3f3101737 diff --git a/work/CraftBukkit b/work/CraftBukkit index e2f5ea34e..40caacc84 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit e2f5ea34e9c7f9eb3eb2be422b169679922b2770 +Subproject commit 40caacc846a6349cd555d9d89cf9cf729c0b75b7 diff --git a/work/Spigot b/work/Spigot index c9cea6000..66f9d3c17 160000 --- a/work/Spigot +++ b/work/Spigot @@ -1 +1 @@ -Subproject commit c9cea600043b1dc6fa306b4baee307d064c65eac +Subproject commit 66f9d3c17bd578dacbb87702cc0347148696e105